2.9.0 release #538
Workflow file for this run
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: GrumPHP | |
on: [push, pull_request] | |
permissions: | |
contents: read | |
jobs: | |
run: | |
runs-on: ${{ matrix.operating-system }} | |
strategy: | |
matrix: | |
operating-system: [ubuntu-latest, macos-latest] #windows-latest currently not working | |
php-versions: ['8.1', '8.2', '8.3', '8.4'] | |
composer-deps: ['highest', 'lowest', 'lock'] | |
composer-versions: ['composer:v2'] | |
fail-fast: false | |
name: PHP ${{ matrix.php-versions }} @ ${{ matrix.operating-system }} with ${{ matrix.composer-versions }} ${{ matrix.composer-deps }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@master | |
- name: Install PHP | |
uses: shivammathur/setup-php@master | |
with: | |
php-version: ${{ matrix.php-versions }} | |
tools: ${{ matrix.composer-versions }} | |
extensions: xdebug, mbstring, posix | |
- name: Check Versions | |
run: | | |
php -v | |
php -m | |
composer --version | |
- name: Set env vars for latest PHP version | |
if: matrix.php-versions == '8.4' | |
run: | | |
export COMPOSER_IGNORE_PLATFORM_REQ=php+ | |
export BOX_REQUIREMENT_CHECKER=0 | |
- name: Get composer cache directory | |
id: composercache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.composercache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Install dependencies (highest) | |
if: matrix.composer-deps == 'highest' | |
run: composer update --prefer-dist --no-progress --no-suggest | |
- name: Install dependencies (lowest) | |
if: matrix.composer-deps == 'lowest' | |
run: composer update --prefer-dist --no-progress --no-suggest --prefer-lowest | |
- name: Install dependencies (lock) | |
if: matrix.composer-deps == 'lock' | |
run: | | |
composer install --no-progress --no-suggest | |
composer validate | |
- name: Set git variables | |
run: | | |
git config --global user.email "you@example.com" | |
git config --global user.name "Your Name" | |
git config --global protocol.file.allow always | |
- name: Run the tests on Windows | |
if: runner.os == 'Windows' | |
run: php vendor/bin/grumphp run --no-interaction --testsuite=windows | |
- name: Run the tests on unix | |
if: runner.os != 'Windows' | |
run: php vendor/bin/grumphp run --no-interaction --testsuite=ci | |
continue-on-error: ${{ matrix.php-versions == '8.4' && matrix.composer-deps == 'lowest' }} | |
- name: Run paratest outside of grumphp | |
run: php ./vendor/bin/paratest --testsuite=E2E -f --verbose |