chore: release 1.x (#360) #2348
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: | |
| paths: | |
| - 'core/**' | |
| - 'plugin/**' | |
| - 'bridge/**' | |
| - 'tests/**' | |
| - 'testo.php' | |
| - 'composer.json' | |
| - 'composer.lock' | |
| - '.github/workflows/tests.yml' | |
| pull_request: | |
| paths: | |
| - 'core/**' | |
| - 'plugin/**' | |
| - 'bridge/**' | |
| - 'tests/**' | |
| - 'testo.php' | |
| - 'composer.json' | |
| - 'composer.lock' | |
| - '.github/workflows/tests.yml' | |
| jobs: | |
| ci: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| php: [ 8.2, 8.3, 8.4, 8.5 ] | |
| dependencies: [ lowest , highest ] | |
| include: | |
| - php: 8.1 | |
| dependencies: highest | |
| max-parallel: 2 | |
| name: Tests PHP${{ matrix.php }}-${{ matrix.dependencies }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| # The split sub-packages pin testo/testo; in CI the root is a detached | |
| # commit (dev-<sha>), so its version must be declared explicitly. | |
| - name: Resolve root package version | |
| run: echo "COMPOSER_ROOT_VERSION=$(jq -r '.["."]' resources/version.json)" >> "$GITHUB_ENV" | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php }} | |
| coverage: none | |
| - name: Install Composer dependencies | |
| if: matrix.php != '8.1' | |
| uses: ramsey/composer-install@v3 | |
| with: | |
| dependency-versions: ${{ matrix.dependencies }} | |
| - name: Install and downgrade for PHP 8.1 | |
| if: matrix.php == '8.1' | |
| uses: php-internal/actions/downgrade@v1 | |
| with: | |
| php-version: '8.1' | |
| dependency-versions: ${{ matrix.dependencies }} | |
| paths: core plugin bridge tests testo.php | |
| # Bin tools carry deps with a higher PHP floor than the matrix (e.g. tools/double). | |
| # They install everywhere but only load where the platform allows, so ignore the check. | |
| - name: Install bin tools | |
| run: composer bin all install --ignore-platform-req=php | |
| - name: Run Tests | |
| run: composer test:ci | |
| code-coverage: | |
| runs-on: ubuntu-latest | |
| name: Code Coverage | |
| concurrency: | |
| group: code-coverage-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Resolve root package version | |
| run: echo "COMPOSER_ROOT_VERSION=$(jq -r '.["."]' resources/version.json)" >> "$GITHUB_ENV" | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: 8.4 | |
| coverage: xdebug | |
| - name: Install Composer dependencies | |
| uses: ramsey/composer-install@v3 | |
| with: | |
| dependency-versions: highest | |
| - name: Install bin tools | |
| run: composer bin all install --ignore-platform-req=php | |
| - name: Run Tests with Coverage | |
| run: composer test:cc | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| files: runtime/clover.xml | |
| token: ${{ secrets.CODECOV_TOKEN }} |