[TASK] Update php to v8.3 #2159
Workflow file for this run
This file contains 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 | |
on: | |
push: | |
branches: | |
- main | |
- 'renovate/**' | |
pull_request: | |
jobs: | |
tests: | |
name: Tests (PHP ${{ matrix.php-version }}, TYPO3 ${{ matrix.typo3-version }} & ${{ matrix.dependencies }} dependencies) | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php-version: ["8.1", "8.2", "8.3"] | |
typo3-version: ["12.4"] | |
dependencies: ["highest", "lowest"] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# Prepare environment | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
tools: composer:v2 | |
coverage: none | |
# Setup DDEV | |
- name: Setup DDEV | |
uses: ddev/github-action-setup-ddev@v1 | |
with: | |
autostart: false | |
- name: Configure and start DDEV | |
run: | | |
ddev config --project-type=typo3 --php-version=${{ matrix.php-version }} --webimage-extra-packages= | |
ddev start | |
# Install dependencies | |
- name: Install Composer dependencies | |
uses: ramsey/composer-install@v2 | |
with: | |
dependency-versions: ${{ matrix.dependencies }} | |
composer-options: --with=typo3/cms-core:"^${{ matrix.typo3-version }}" | |
# Run tests | |
- name: Run acceptance tests | |
uses: nick-fields/retry@v2 | |
with: | |
max_attempts: 2 | |
retry_on: error | |
timeout_minutes: 10 | |
command: ddev composer test:acceptance | |
new_command_on_retry: ddev composer test:acceptance -- -g failed | |
- name: Run functional and unit tests | |
run: | | |
ddev composer test:functional | |
ddev composer test:unit | |
# Save acceptance reports | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: acceptance-reports-${{ matrix.php-version }}-${{ matrix.typo3-version }}-${{ matrix.dependencies }} | |
path: .Build/log/acceptance-reports | |
if: failure() | |
coverage: | |
name: Test coverage | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# Prepare environment | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
# @todo Switch to PHP 8.3 once https://github.com/oerdnj/deb.sury.org/issues/2034 | |
# is resolved and DDEV comes with a PHP 8.3 compatible version | |
php-version: 8.2.12 | |
tools: composer:v2 | |
coverage: none | |
# Setup DDEV | |
- name: Setup DDEV | |
uses: ddev/github-action-setup-ddev@v1 | |
with: | |
autostart: false | |
- name: Configure and start DDEV | |
# @todo Switch to PHP 8.3 once https://github.com/oerdnj/deb.sury.org/issues/2034 | |
# is resolved and DDEV comes with a PHP 8.3 compatible version | |
run: | | |
ddev config --project-type=typo3 --php-version=8.2 --xdebug-enabled=true --webimage-extra-packages= | |
ddev start | |
# Install dependencies | |
- name: Install Composer dependencies | |
uses: ramsey/composer-install@v2 | |
# Run tests | |
- name: Run tests | |
uses: nick-fields/retry@v2 | |
with: | |
max_attempts: 2 | |
retry_on: error | |
timeout_minutes: 10 | |
command: ddev composer test:coverage | |
# Upload artifact | |
- name: Fix coverage path | |
working-directory: .Build/coverage | |
run: sed -i 's#/var/www/html#${{ github.workspace }}#g' clover.xml | |
- name: Upload coverage artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: coverage | |
path: .Build/coverage/clover.xml | |
retention-days: 7 | |
# Save acceptance reports | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: acceptance-reports-coverage | |
path: .Build/log/acceptance-reports | |
if: failure() | |
coverage-report: | |
name: Report test coverage | |
runs-on: ubuntu-latest | |
needs: coverage | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# Download artifact | |
- name: Download coverage artifact | |
id: download | |
uses: actions/download-artifact@v3 | |
with: | |
name: coverage | |
# CodeClimate | |
- name: CodeClimate report | |
uses: paambaati/[email protected] | |
if: env.CC_TEST_REPORTER_ID | |
env: | |
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} | |
with: | |
coverageLocations: | | |
${{ steps.download.outputs.download-path }}/clover.xml:clover | |
# codecov | |
- name: codecov report | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: | | |
${{ steps.download.outputs.download-path }}/clover.xml | |
fail_ci_if_error: true | |
verbose: true |