fix(ci): fix autoloading and bootstrap cache issues causing test failures
API CI/CD / Validate (composer + pint) (push) Successful in 2m8s
API CI/CD / Test (PHPUnit) (push) Failing after 54s
API CI/CD / Build frontend assets (push) Successful in 53s
API CI/CD / Security audit (push) Successful in 33s
API CI/CD / Deploy to shared hosting (PHP) (push) Has been skipped
API CI/CD / Validate (composer + pint) (push) Successful in 2m8s
API CI/CD / Test (PHPUnit) (push) Failing after 54s
API CI/CD / Build frontend assets (push) Successful in 53s
API CI/CD / Security audit (push) Successful in 33s
API CI/CD / Deploy to shared hosting (PHP) (push) Has been skipped
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)
This commit is contained in:
@@ -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)"
|
||||
|
||||
Reference in New Issue
Block a user