fix(cdn): resolve the eight, and one of them was real #44
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Tests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| tests: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| # One leg failing should not hide the others. With fail-fast the first | |
| # failure cancels the rest, so a PHP-version-specific break looks | |
| # identical to a break on every version. | |
| fail-fast: false | |
| matrix: | |
| php: [8.2, 8.3, 8.4] | |
| laravel: [12.*] | |
| name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php }} | |
| extensions: dom, curl, libxml, mbstring, zip | |
| coverage: xdebug | |
| - name: Install dependencies | |
| env: | |
| LARAVEL_VERSION: ${{ matrix.laravel }} | |
| run: | | |
| composer require "laravel/framework:${LARAVEL_VERSION}" --no-interaction --no-update | |
| composer update --prefer-dist --no-interaction --no-progress | |
| # The gate suites only. A bare `phpunit` also runs the Module suite — | |
| # src/**/*Test.php — which carries known failures and is treated as | |
| # visible debt rather than a gate (see .gitlab-ci.yml's module-suite-debt | |
| # job, and the module-debt job below). Including it here meant this | |
| # workflow could never be green, so it stopped meaning anything: the same | |
| # rot as a check that always passes, arrived at from the other side. | |
| - name: Execute tests with coverage | |
| run: vendor/bin/phpunit --testsuite=Feature,Unit --coverage-clover=coverage.xml | |
| - name: Upload coverage to Codecov | |
| if: matrix.php == '8.3' | |
| uses: codecov/codecov-action@v3 | |
| with: | |
| files: ./coverage.xml | |
| fail_ci_if_error: false | |
| verbose: true | |
| # The Module suite — src/**/*Test.php — reported, never gating. | |
| # | |
| # It carries known failures, and the number is worth seeing rather than | |
| # hiding: 448 at the time of writing, and they are not 448 bugs. Roughly 114 | |
| # are class-not-found for classes owned by sibling packages (Core\Tenant\Models, | |
| # Core\Agentic\Services) — tests that cannot pass in this repository at all; | |
| # about 30 are one real defect, StorageUrlResolver being handed a CdnUrlBuilder | |
| # where it wants a BunnyStorageService; the rest are ordinary assertion and | |
| # status-code failures. | |
| # | |
| # continue-on-error rather than `|| true`, and the difference matters: this | |
| # way the step's own result is visible in the run, so the count can be driven | |
| # down. A step that swallows its exit code teaches nobody anything. | |
| # | |
| # When it reaches zero, fold --testsuite=Module into the job above and delete | |
| # this one. Mirrors .gitlab-ci.yml's module-suite-debt job. | |
| module-debt: | |
| runs-on: ubuntu-latest | |
| name: Module suite (reported, not gating) | |
| continue-on-error: true | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: '8.4' | |
| extensions: dom, curl, libxml, mbstring, zip | |
| coverage: none | |
| - name: Install dependencies | |
| run: composer install --prefer-dist --no-interaction --no-progress | |
| - name: Execute the Module suite | |
| run: vendor/bin/phpunit --testsuite=Module |