diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index c14788b..d8cf893 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -8,8 +8,13 @@ on: pull_request: jobs: - lint: - name: Coding Standards + # PHPCS and PHPStan share a job so the two of them draw once on Setup PHP + # rather than twice. That step is slow and intermittently fails on 8.3 + # (see #178), so every job that can be folded into another is one less + # chance for a run to fall over. They run as separate steps, and PHPCS + # failing stops the job before PHPStan reports. + quality: + name: Coding Standards & Static Analysis runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -32,28 +37,6 @@ jobs: - name: Run PHPCS run: composer cs - - static-analysis: - name: PHPStan - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: '8.3' - tools: composer:v2 - - - name: Cache Composer packages - uses: actions/cache@v3 - with: - path: ~/.composer/cache - key: composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies - run: composer install --prefer-dist --no-progress --no-interaction - - name: Run PHPStan run: composer lint @@ -108,7 +91,7 @@ jobs: runs-on: ubuntu-latest # Only build a shippable artifact once changes land on main, and only # after the quality gates pass. - needs: [lint, static-analysis, test, no-debug] + needs: [quality, test, no-debug] if: github.event_name == 'push' && github.ref == 'refs/heads/main' steps: - uses: actions/checkout@v4