Skip to content

Make ready for v14 #3213

Make ready for v14

Make ready for v14 #3213

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
# current support is:
# - TYPO3 v12
# - TYPO3 v13
# - PHP 8.1-8.4 (for TYPO3 v12)
# - PHP 8.2-8.5 (for TYPO3 v13)
# PHP support in TYPO3:
# - TYPO3 v12 : PHP 8.1 - 8.4
# - TYPO3 v13 : PHP 8.2 - 8.5
# always force TYPO3 version, also for latest to make sure it runs with latest version
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-latest
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.5' ]
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
# v13 / run only with latest PHP version
all_core_v13-lastest-php:
# 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: "TYPO3 v13 / only latest PHP: rector"
runs-on: ubuntu-latest
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:
# only testing with highest
php: [ '8.5' ]
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 "^13.4" -s composerCoreVersion
- name: "Composer"
run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s ${{ matrix.minMax }}
- name: "rector (apply v12 rules)"
run: Build/Scripts/runTests.sh -s rector:check -p 8.5
# v13
all_core_v13:
# 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 v13"
runs-on: ubuntu-latest
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:
# only testing with highest and lowest
php: [ '8.2', '8.5' ]
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 "^13.4" -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
- 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-latest
# 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:
# # only testing with highest and lowest
# php: [ '8.1', '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 "^12.4" -s composerCoreVersion
#
# - 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 -c Build/phpstan/phpstan_v12.neon" -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