Skip to content

Add PHP 8.4

Add PHP 8.4 #2819

Workflow file for this run

# 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