ADD TO: tests #425
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: Test | |
on: | |
# Run on all pushes and on all pull requests. | |
# Prevent the build from running when there are only irrelevant changes. | |
push: | |
paths-ignore: | |
- '**.md' | |
pull_request: | |
paths-ignore: | |
- '**.md' | |
# Allow manually triggering the workflow. | |
workflow_dispatch: | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
# Keys: | |
# - custom_ini: Whether to run with specific custom ini settings to hit very specific | |
# code conditions. | |
matrix: | |
php: ['5.4', '7.2', '8.2'] | |
custom_ini: [false] | |
name: "PHP: ${{ matrix.php }} ${{ matrix.custom_ini && ' with custom ini settings' || '' }}" | |
continue-on-error: ${{ matrix.php == '8.3' }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup ini config | |
id: set_ini | |
run: | | |
# Set the "short_open_tag" ini to make sure specific conditions are tested. | |
# Also turn on error_reporting to ensure all notices are shown. | |
if [[ ${{ matrix.custom_ini }} == true && "${{ matrix.php }}" == '5.5' ]]; then | |
echo 'PHP_INI=error_reporting=-1, display_errors=On, date.timezone=Australia/Sydney, short_open_tag=On, asp_tags=On' >> $GITHUB_OUTPUT | |
elif [[ ${{ matrix.custom_ini }} == true && "${{ matrix.php }}" == '7.0' ]]; then | |
echo 'PHP_INI=error_reporting=-1, display_errors=On, date.timezone=Australia/Sydney, short_open_tag=On' >> $GITHUB_OUTPUT | |
else | |
echo 'PHP_INI=error_reporting=-1, display_errors=On' >> $GITHUB_OUTPUT | |
fi | |
- name: Install PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
ini-values: ${{ steps.set_ini.outputs.PHP_INI }} | |
coverage: none | |
tools: cs2pr | |
# Install dependencies and handle caching in one go. | |
# @link https://github.com/marketplace/actions/install-composer-dependencies | |
- name: Install Composer dependencies | |
uses: "ramsey/composer-install@v2" | |
with: | |
# Bust the cache at least once a month - output format: YYYY-MM. | |
custom-cache-suffix: $(date -u "+%Y-%m") | |
# Note: The code style check is run multiple times against every PHP version | |
# as it also acts as an integration test. | |
- name: 'PHPCS: set the path to PHP' | |
run: php bin/phpcs --config-set php_path php | |
- name: 'PHPUnit: run the tests' | |
run: vendor/bin/phpunit --filter ReloadWithDifferentCaseTest |