Tests #2751
This file contains hidden or 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
| name: Tests | |
| # Every "runTests.sh" call below passes "-b docker". The script prefers podman | |
| # whenever it is present and only falls back to docker, which is the right | |
| # default for it -- but GitHub hosted runners ship both, and their podman/crun | |
| # combination aborts the first container start of a job with "OCI runtime error: | |
| # crun: unknown version specified" (exit code 126). It is intermittent and hits | |
| # any job. Selecting docker here avoids crun entirely and leaves the script | |
| # default and local runs untouched. Drop the flag once GitHub stops producing | |
| # the mismatch. | |
| on: | |
| push: | |
| branches: | |
| - "*" | |
| pull_request: | |
| branches: | |
| - "*" | |
| schedule: | |
| - cron: "0 2 * * 1-5" | |
| jobs: | |
| early_cgl: | |
| name: CGL | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: 8.2 | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 1 | |
| - name: Validate composer.json | |
| run: composer validate --strict | |
| - name: Get composer cache directory | |
| id: composer-cache | |
| run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
| - name: Cache dependencies | |
| uses: actions/cache@v3 | |
| with: | |
| path: ${{ steps.composer-cache.outputs.dir }} | |
| key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} | |
| restore-keys: ${{ runner.os }}-composer- | |
| - name: Install dependencies | |
| run: composer update --no-progress | |
| - name: PHP CS Fixer | |
| run: Build/Scripts/runTests.sh -b docker -p 8.2 -s cgl -n | |
| - name: PHP CS Fixer Header | |
| run: Build/Scripts/runTests.sh -b docker -p 8.2 -s cglHeader -n | |
| - name: Content Blocks Lint | |
| run: .Build/bin/typo3 content-blocks:lint | |
| unit_tests: | |
| name: Unit Tests TYPO3 v14 PHP ${{ matrix.php }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| php: [ '8.2', '8.3', '8.4', '8.5'] | |
| steps: | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php }} | |
| - uses: actions/checkout@v3 | |
| - name: Get composer cache directory | |
| id: composer-cache | |
| run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
| - name: Cache dependencies | |
| uses: actions/cache@v3 | |
| with: | |
| path: ${{ steps.composer-cache.outputs.dir }} | |
| key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} | |
| restore-keys: ${{ runner.os }}-composer- | |
| - name: Install dependencies | |
| run: composer update --prefer-dist --prefer-stable --no-progress | |
| - name: Unit | |
| run: Build/Scripts/runTests.sh -b docker -s unit -p ${{ matrix.php }} | |
| functional_tests: | |
| name: Functional Tests TYPO3 v14 PHP ${{ matrix.php }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| php: [ '8.2', '8.3', '8.4', '8.5'] | |
| steps: | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php }} | |
| - uses: actions/checkout@v3 | |
| - name: Get composer cache directory | |
| id: composer-cache | |
| run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
| - name: Cache dependencies | |
| uses: actions/cache@v3 | |
| with: | |
| path: ${{ steps.composer-cache.outputs.dir }} | |
| key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} | |
| restore-keys: ${{ runner.os }}-composer- | |
| - name: Install dependencies | |
| run: composer update --prefer-stable --no-progress | |
| - name: Functional | |
| run: Build/Scripts/runTests.sh -b docker -s functional -d sqlite -p ${{ matrix.php }} | |
| PHPStan: | |
| name: PHPStan TYPO3 v14 PHP 8.5 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: 8.5 | |
| - uses: actions/checkout@v3 | |
| - name: Get composer cache directory | |
| id: composer-cache | |
| run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
| - name: Cache dependencies | |
| uses: actions/cache@v3 | |
| with: | |
| path: ${{ steps.composer-cache.outputs.dir }} | |
| key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} | |
| restore-keys: ${{ runner.os }}-composer- | |
| - name: Install dependencies | |
| run: composer update --no-progress | |
| - name: PHPStan | |
| run: XDEBUG_MODE="off" .Build/bin/phpstan analyse -c Build/phpstan/phpstan.neon --no-progress --no-interaction --memory-limit 4G |