Add PHP 8.4 #2819
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
# Configuration for running GitHub actions | |
# based on EXT:enetcache: .github/workflows/tests.yml.not-used-yet | |
# https://github.com/lolli42/enetcache/blob/master/.github/workflows/tests.yml | |
# see https://docs.github.com/en/actions/guides/setting-up-continuous-integration-using-workflow-templates | |
name: CI | |
on: | |
push: | |
pull_request: | |
schedule: | |
- cron: '42 5 * * 1' | |
jobs: | |
static: | |
# only run jobs via scheduled workflow in main repo, not in forks | |
if: (github.event_name == 'schedule' && github.repository == 'sypets/brofix') || (github.event_name != 'schedule') | |
name: "static" | |
runs-on: ubuntu-20.04 | |
strategy: | |
# This prevents cancellation of matrix job runs, if one/two already failed and let the | |
# rest matrix jobs be be executed anyway. | |
fail-fast: true | |
matrix: | |
php: [ '8.3' ] | |
minMax: [ 'composerInstallMax' ] | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v2 | |
- name: "show php version" | |
run: php --version | |
# This must be checked before core version select is run, as this would write this | |
# and than the check would fail - obiously. | |
- name: "Check if typo3/minimal has been pushed in composer.json" | |
run: Build/Scripts/checkComposerJsonForPushedMinimalPackage.sh | |
#- name: "Set Typo3 core version" | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -t "^11.5" -s composerCoreVersion | |
- name: "Composer" | |
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s ${{ matrix.minMax }} | |
- name: "cgl" | |
if: ${{ matrix.php != '8.1' }} | |
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s cgl -v -n | |
- name: "Composer validate" | |
if: always() | |
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s composerValidate | |
all_core_latest: | |
# only run jobs via scheduled workflow in main repo, not in forks | |
if: (github.event_name == 'schedule' && github.repository == 'sypets/brofix') || (github.event_name != 'schedule') | |
name: "all core-latest" | |
runs-on: ubuntu-20.04 | |
strategy: | |
# This prevents cancellation of matrix job runs, if one/two already failed and let the | |
# rest matrix jobs be be executed anyway. | |
fail-fast: true | |
matrix: | |
php: [ '8.2', '8.4' ] | |
minMax: [ 'composerInstallMax' ] | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v2 | |
- name: "show php version" | |
run: php --version | |
#- name: "Set Typo3 core version" | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -t "^11.5" -s composerCoreVersion | |
- name: "Composer" | |
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s ${{ matrix.minMax }} | |
- name: "Lint PHP" | |
if: always() | |
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s lint | |
- name: "phpstan" | |
if: ${{ always() && matrix.minMax == 'composerInstallMax' }} | |
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s phpstan -e "--error-format=github" -v | |
# todo: replace prophecy | |
#- name: "Unit tests" | |
# if: always() | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s unit -v | |
#- name: "Functional tests with mariadb" | |
# if: always() | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -d mariadb -s functional -v | |
#- name: "Functional tests with sqlite (nightly or pull_request)" | |
# if: ${{ always() && (github.event_name == 'schedule' || github.event_name == 'pull_request' ) }} | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -d sqlite -s functional | |
#- name: "Functional tests with postgres (nightly or pull_request)" | |
# if: ${{ always() && (github.event_name == 'schedule' || github.event_name == 'pull_request' ) }} | |
# run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -d postgres -s functional | |
# v12 | |
all_core_v12: | |
# only run jobs via scheduled workflow in main repo, not in forks | |
if: (github.event_name == 'schedule' && github.repository == 'sypets/brofix') || (github.event_name != 'schedule') | |
name: "all core-v12" | |
runs-on: ubuntu-20.04 | |
strategy: | |
# This prevents cancellation of matrix job runs, if one/two already failed and let the | |
# rest matrix jobs be be executed anyway. | |
fail-fast: true | |
matrix: | |
php: [ '8.1', '8.3' ] | |
minMax: [ 'composerInstallMax' ] | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v2 | |
- name: "show php version" | |
run: php --version | |
- name: "Set Typo3 core version" | |
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -t "^12.4" -s composerCoreVersion | |
- name: "Add prophecy for unit / functional tests" | |
run: composer require --dev jangregor/phpstan-prophecy phpspec/prophecy phpspec/prophecy-phpunit | |
- name: "Composer" | |
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s ${{ matrix.minMax }} | |
- name: "phpstan" | |
if: ${{ always() && matrix.minMax == 'composerInstallMax' }} | |
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s phpstan -e "--error-format=github" -v | |
- name: "Unit tests" | |
if: always() | |
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s unit -v | |
- name: "Functional tests with mariadb" | |
if: always() | |
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -d mariadb -s functional -v |