From 181ac9e94eceab29a331a16fb349711e4c425501 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 25 Jun 2026 17:27:53 -0400 Subject: [PATCH] fix(ci): fix autoloading and bootstrap cache issues causing test failures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three changes: 1. Add composer dump-autoload after composer install in all jobs (validate, test, security) — ensures fresh autoloader mapping 2. Replace config:clear + view:clear with optimize:clear in test job — clears bootstrap/cache (services.php, packages.php) which caused 'Class not found' for Sanctum\Guard, 'not instantiable' for AttendanceMailerService, and 'factory() undefined' for User 3. Add explicit $incrementing = true to Configuration model — ensures Eloquent treats id as auto-increment (belt-and-suspenders for SQLite NOT NULL constraint failures) --- .gitea/workflows/build.yml | 15 ++++++++++----- app/Models/Configuration.php | 1 + 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 1d987a92..188cea19 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -74,7 +74,9 @@ jobs: ${{ runner.os }}-composer- - name: Install PHP dependencies - run: composer install --prefer-dist --no-interaction --no-progress + run: | + composer install --prefer-dist --no-interaction --no-progress + composer dump-autoload - name: Composer validate run: composer validate @@ -128,7 +130,9 @@ jobs: ${{ runner.os }}-composer- - name: Install PHP dependencies - run: composer install --prefer-dist --no-interaction --no-progress + run: | + composer install --prefer-dist --no-interaction --no-progress + composer dump-autoload - name: Bootstrap Laravel testing environment run: | @@ -154,8 +158,7 @@ jobs: touch database/database.sqlite php artisan key:generate --force php artisan jwt:secret --force || true - php artisan config:clear - php artisan view:clear + php artisan optimize:clear - name: Run database migrations run: php artisan migrate:fresh --force @@ -250,7 +253,9 @@ jobs: rm composer-setup.php - name: Install PHP dependencies - run: composer install --prefer-dist --no-interaction --no-progress + run: | + composer install --prefer-dist --no-interaction --no-progress + composer dump-autoload - name: Composer audit run: composer audit --locked --no-interaction --format=json || echo "Audit found advisories (non-blocking)" diff --git a/app/Models/Configuration.php b/app/Models/Configuration.php index f5c433ef..1d14684d 100644 --- a/app/Models/Configuration.php +++ b/app/Models/Configuration.php @@ -10,6 +10,7 @@ class Configuration extends BaseModel // The legacy table only has id/config_key/config_value. public $timestamps = false; + public $incrementing = true; protected $fillable = [ 'config_key',