Repository navigation
release: v1.6.69 #1368
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: PHP CI | |
| # Release work lands on a release/v* or dev-v* branch before reaching main via the release | |
| # PR, so a main-only filter leaves every PR targeting a release branch with no CI at | |
| # all — the release is then assembled from unverified commits. | |
| # Pushes run only for main and tags. A release or dev branch always has a pull | |
| # request, and pull_request already runs on every push to it; triggering on push too | |
| # ran the whole suite twice for each commit. | |
| on: | |
| push: | |
| branches: [ main ] | |
| tags: | |
| - 'v*' | |
| pull_request: | |
| branches: [ main, 'dev-v*', 'release/v*' ] | |
| # A newer push to the same pull request or branch makes the running check stale. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: '8.2' | |
| extensions: mbstring, xml, gd, zip, pdo_mysql, sockets, intl, bcmath, gmp | |
| coverage: xdebug | |
| - name: Update and Install additional packages | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libzip-dev libgd-dev libfreetype6-dev libjpeg-dev libpng-dev imagemagick libmagickwand-dev libmemcached-dev libgeos-dev libgmp-dev default-mysql-client libicu-dev | |
| - name: Configure Composer Auth for Github | |
| run: composer config --global github-oauth.github.com ${{ secrets._GITHUB_AUTH_TOKEN }} | |
| - name: Validate composer.json and composer.lock | |
| run: composer validate | |
| - name: Install dependencies | |
| run: composer install --prefer-dist --no-progress | |
| - name: Run Lint | |
| run: composer test:lint | |
| - name: Check Test Date Drift | |
| run: composer test:date-drift | |
| - name: Run Tests | |
| run: composer test:unit | |
| - name: Generate Coverage Baseline | |
| timeout-minutes: 30 | |
| env: | |
| COMPOSER_PROCESS_TIMEOUT: '0' | |
| run: composer coverage:baseline | |
| - name: Upload Coverage Baseline | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-baseline | |
| path: coverage/clover.xml | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: coverage/clover.xml | |
| disable_search: true | |
| flags: backend | |
| fail_ci_if_error: false |