Skip to content

CI

CI #87

Workflow file for this run

name: CI
on:
push:
pull_request:
schedule:
- cron: '56 5 * * *'
jobs:
testsuite:
name: all tests
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
TYPO3: [ '13.4', '14.3' ]
PHP: [ '8.2', '8.3', '8.4', '8.5' ]
exclude:
- TYPO3: '14.3'
PHP: '8.2'
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Set up PHP Version ${{ matrix.PHP }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.PHP }}
tools: composer:v2
- name: Start MySQL
run: sudo /etc/init.d/mysql start
- name: Validate composer.json and composer.lock
run: composer validate
- name: Cache dependencies
uses: actions/cache@v6
with:
path: ~/.composer/cache
key: dependencies-composer-${{ hashFiles('composer.json') }}
- name: Install composer dependencies TYPO3 ${{ matrix.TYPO3 }}
run: |
composer require typo3/cms-seo:^${{ matrix.TYPO3 }} --no-progress --no-interaction --dev -W
- name: Phpstan ${{ matrix.TYPO3 }}
run: .Build/bin/phpstan analyze -c Build/phpstan.neon
- name: Phpcsfix
run: .Build/bin/php-cs-fixer fix --config=Build/php-cs-fixer.php --dry-run --stop-on-violation --using-cache=no
- name: Unit Tests
run: .Build/bin/phpunit Tests/Unit
- name: Functional Tests
run: |
export typo3DatabaseName="typo3";
export typo3DatabaseHost="127.0.0.1";
export typo3DatabaseUsername="root";
export typo3DatabasePassword="root";
.Build/bin/phpunit -c Build/phpunit/FunctionalTests.xml Tests/Functional