ci: bump actions/cache from 3 to 4 #269
This file contains 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: CI | |
on: | |
push: | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Build and Test | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php: | |
- '7.4' | |
- '8.0' | |
- '8.1' | |
- '8.2' | |
- '8.3' | |
include: | |
- php: '8.3' | |
latest: true | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
ini-values: memory_limit=-1 | |
coverage: pcov | |
tools: composer, cs2pr, php-cs-fixer | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v4 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Install prerequisites | |
run: | | |
wget -O box.phar https://github.com/humbug/box/releases/download/4.5.1/box.phar | |
echo "BOX_BIN=$(pwd)/box.phar" >> $GITHUB_ENV | |
sudo chown -R $(whoami):$(whoami) . | |
- name: Install dependencies | |
if: matrix.latest | |
run: composer install --prefer-dist --no-interaction --no-progress --ansi | |
- name: Update dependencies | |
if: '!matrix.latest' | |
run: composer update --no-interaction --no-progress --ansi | |
- name: Enable code coverage | |
if: matrix.latest | |
run: echo "COVERAGE=1" >> $GITHUB_ENV | |
- name: Run PHPUnit | |
run: vendor/bin/simple-phpunit ${{ matrix.latest && '--coverage-clover build/logs/phpunit/clover.xml' || '' }} | |
- name: Run PHP CS Fixer | |
if: matrix.latest | |
run: php-cs-fixer fix --dry-run --format=checkstyle --ansi | cs2pr | |
- name: Run PHPStan | |
if: matrix.latest | |
run: vendor/bin/phpstan analyse --ansi | |
- name: Run e2e tests | |
if: matrix.latest | |
run: bin/compile | |
- name: Upload coverage results to Coveralls | |
if: matrix.latest | |
env: | |
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
composer global require --prefer-dist --no-interaction --no-progress --ansi php-coveralls/php-coveralls | |
export PATH="$PATH:$HOME/.composer/vendor/bin" | |
php-coveralls --coverage_clover=build/logs/phpunit/clover.xml -v | |
continue-on-error: true |