Skip to content

Support TYPO3 v13

Support TYPO3 v13 #812

Workflow file for this run

name: CI
on:
push:
branches-ignore:
- 'task/**'
- 'bugfix/**'
- 'feature/**'
pull_request:
jobs:
build-php:
name: Build PHP
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
typo3: ['^12', '^13']
php: ['8.1', '8.2', '8.3']
mysql: ['5.7', '8.0', '8.4']
exclude:
- typo3: '^13'
mysql: '5.7'
- typo3: '^13'
php: '8.1'
steps:
- id: checkout
name: Checkout Code
uses: actions/checkout@v4
- id: setup_mysql
name: Set up MySQL ${{ matrix.mysql }}
uses: mirromutth/mysql-action@v1.1
with:
mysql version: ${{ matrix.mysql }}
mysql root password: 'root'
- id: setup_php
name: Set up PHP version ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2, php-cs-fixer
- id: composer-cache-vars
name: Composer Cache Vars
run: |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
echo "timestamp=$(date +"%s")" >> $GITHUB_OUTPUT
- id: composer-cache-dependencies
name: Cache Composer dependencies
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache-vars.outputs.dir }}
key: ${{ runner.os }}-composer-${{ matrix.php }}-${{ matrix.typo3 }}-${{ steps.composer-cache-vars.outputs.timestamp }}
restore-keys: |
${{ runner.os }}-composer-${{ matrix.php }}-${{ matrix.typo3 }}-
${{ runner.os }}-composer-${{ matrix.php }}-
${{ runner.os }}-composer-
- id: install
name: Install
run: |
composer require typo3/cms-core:${{ matrix.typo3 }} --no-progress
git checkout composer.json
- id: lint
name: Lint
if: ${{ always() && steps.install.conclusion == 'success' }}
run: |
composer t3g:test:php:lint
- id: cgl
name: CGL
if: ${{ always() && steps.install.conclusion == 'success' }}
run: |
php-cs-fixer fix --dry-run --verbose
- id: phpstan
name: PHPStan
continue-on-error: true
if: ${{ always() && steps.install.conclusion == 'success' }}
run: |
composer t3g:test:php:phpstan -- --error-format=github
- id: tests_unit
name: Unit Tests
if: ${{ always() && steps.install.conclusion == 'success' }}
run: |
composer t3g:test:php:unit
- id: tests_functional
name: Functional Tests
if: ${{ always() && steps.install.conclusion == 'success' }}
run: |
composer t3g:test:php:functional
env:
COMPOSER_PROCESS_TIMEOUT: 1200
typo3DatabaseHost: 127.0.0.1
typo3DatabaseName: t3func
typo3DatabasePassword: root
typo3DatabaseUsername: root