Skip to content

[FEATURE] Support PHP 8.2 #551

[FEATURE] Support PHP 8.2

[FEATURE] Support PHP 8.2 #551

Workflow file for this run

name: Tests
on:
push:
branches:
- main
pull_request:
branches:
- '**'
jobs:
# Job: Run unit tests
tests:
name: Tests (PHP ${{ matrix.php-version }}, Composer ${{ matrix.composer-version }} & ${{ matrix.dependencies }} dependencies)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-version: ["7.1", "7.2", "7.3", "7.4", "8.0", "8.1"]
composer-version: ["1", "2"]
dependencies: ["highest", "lowest"]
steps:
- uses: actions/checkout@v3
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
# Install dependencies
- name: Simulate Composer version
run: |
composer config platform.composer-plugin-api "${{ matrix.composer-version }}.99"
composer config platform.composer-runtime-api "${{ matrix.composer-version }}.99"
- name: Install Composer dependencies
uses: ramsey/composer-install@v2
with:
dependency-versions: ${{ matrix.dependencies }}
composer-options: --with="composer/composer:^${{ matrix.composer-version }}"
- name: Update Composer version
run: composer self-update --${{ matrix.composer-version }}
# Run tests
- name: Build coverage directory
run: mkdir -p .build/coverage
- name: Run tests
run: composer test
# Job: Collect and report test coverage
coverage:
name: Test coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
# Prepare environment
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
tools: composer:v2
coverage: pcov
# Install dependencies
- name: Install Composer dependencies
uses: ramsey/composer-install@v2
# Run tests
- name: Build coverage directory
run: mkdir -p .build/coverage
- name: Run tests with coverage
run: composer test:coverage
# Report coverage
- name: Fix coverage path
working-directory: .build/coverage
run: sed -i 's#/home/runner/work/composer-update-check/composer-update-check#${{ github.workspace }}#g' clover.xml
- name: CodeClimate report
uses: paambaati/codeclimate-action@v3.2.0
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
with:
coverageLocations: |
${{ github.workspace }}/.build/coverage/clover.xml:clover
- name: codecov report
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: .build/coverage
fail_ci_if_error: true
verbose: true
# Job: Run Docker tests
tests-docker:
name: Tests with Docker (PHP ${{ matrix.php-version }} & Composer ${{ matrix.composer-version }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-version: ["7.1", "7.2", "7.3", "7.4", "8.0", "8.1"]
composer-version: ["1", "2"]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
# Run tests
- name: Run tests
run: ./bin/run-docker-tests.sh --composer-version "${{ matrix.composer-version }}" --php-version "${{ matrix.php-version }}"
# Job: Run unit tests of composer-update-reporter
tests-reporter:
name: Tests of eliashaeussler/composer-update-reporter
runs-on: ubuntu-latest
if: ${{ github.actor != 'renovate[bot]' }}
steps:
- id: set-branch
run: echo "branch=${{ github.event_name == 'pull_request' && github.head_ref || github.ref_name }}" >> $GITHUB_OUTPUT
- id: set-sha
run: echo "sha=${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}" >> $GITHUB_OUTPUT
- name: Trigger workflow
uses: benc-uk/workflow-dispatch@v1
with:
workflow: 'Tests for composer-update-check'
token: ${{ secrets.PAT_REPORTER_TRIGGER }}
repo: eliashaeussler/composer-update-reporter
ref: 'main'
inputs: '{ "update-check-branch": "${{ steps.set-branch.outputs.branch }}", "update-check-sha": "${{ steps.set-sha.outputs.sha }}" }'