Skip to content

Commit 815b0e7

Browse files
committed
ci: derive php version from composer requirement
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
1 parent 4f0cbd2 commit 815b0e7

15 files changed

Lines changed: 105 additions & 16 deletions

.github/workflows/bc-check.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,15 @@ jobs:
1010
- uses: actions/checkout@v4
1111
with:
1212
fetch-depth: 0
13+
- name: Detect minimum PHP from composer.json
14+
id: php_min
15+
run: |
16+
php_version=$(grep -Po '"php"\s*:\s*"\K[^"]+' composer.json | grep -Eo '[0-9]+\.[0-9]+' | head -n1)
17+
[[ -n "$php_version" ]] || { echo "Could not determine minimum PHP version"; exit 1; }
18+
echo "version=$php_version" >> "$GITHUB_OUTPUT"
1319
- uses: shivammathur/setup-php@v2
1420
with:
15-
php-version: '8.2'
21+
php-version: ${{ steps.php_min.outputs.version }}
1622
- run: composer install --no-interaction --prefer-dist
1723
- run: composer bin qa install --no-interaction --prefer-dist
1824
- run: composer run bc:check

.github/workflows/compatibility-matrix.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,18 @@ jobs:
99
strategy:
1010
fail-fast: false
1111
matrix:
12-
php: ['8.2', '8.3']
1312
deps: [lowest, highest]
1413
steps:
1514
- uses: actions/checkout@v4
15+
- name: Detect minimum PHP from composer.json
16+
id: php_min
17+
run: |
18+
php_version=$(grep -Po '"php"\s*:\s*"\K[^"]+' composer.json | grep -Eo '[0-9]+\.[0-9]+' | head -n1)
19+
[[ -n "$php_version" ]] || { echo "Could not determine minimum PHP version"; exit 1; }
20+
echo "version=$php_version" >> "$GITHUB_OUTPUT"
1621
- uses: shivammathur/setup-php@v2
1722
with:
18-
php-version: ${{ matrix.php }}
23+
php-version: ${{ steps.php_min.outputs.version }}
1924
- run: |
2025
if [ "${{ matrix.deps }}" = "lowest" ]; then
2126
composer update --prefer-lowest --prefer-dist --no-interaction

.github/workflows/composer-validate.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,13 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- uses: actions/checkout@v4
13+
- name: Detect minimum PHP from composer.json
14+
id: php_min
15+
run: |
16+
php_version=$(grep -Po '"php"\s*:\s*"\K[^"]+' composer.json | grep -Eo '[0-9]+\.[0-9]+' | head -n1)
17+
[[ -n "$php_version" ]] || { echo "Could not determine minimum PHP version"; exit 1; }
18+
echo "version=$php_version" >> "$GITHUB_OUTPUT"
1319
- uses: shivammathur/setup-php@v2
1420
with:
15-
php-version: '8.2'
21+
php-version: ${{ steps.php_min.outputs.version }}
1622
- run: composer validate --strict

.github/workflows/coverage.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,15 @@ jobs:
88
runs-on: ubuntu-latest
99
steps:
1010
- uses: actions/checkout@v4
11+
- name: Detect minimum PHP from composer.json
12+
id: php_min
13+
run: |
14+
php_version=$(grep -Po '"php"\s*:\s*"\K[^"]+' composer.json | grep -Eo '[0-9]+\.[0-9]+' | head -n1)
15+
[[ -n "$php_version" ]] || { echo "Could not determine minimum PHP version"; exit 1; }
16+
echo "version=$php_version" >> "$GITHUB_OUTPUT"
1117
- uses: shivammathur/setup-php@v2
1218
with:
13-
php-version: '8.2'
19+
php-version: ${{ steps.php_min.outputs.version }}
1420
coverage: xdebug
1521
- run: composer install --no-interaction --prefer-dist
1622
- run: composer bin phpunit install --no-interaction --prefer-dist

.github/workflows/duplication.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,15 @@ jobs:
1111
continue-on-error: true
1212
steps:
1313
- uses: actions/checkout@v4
14+
- name: Detect minimum PHP from composer.json
15+
id: php_min
16+
run: |
17+
php_version=$(grep -Po '"php"\s*:\s*"\K[^"]+' composer.json | grep -Eo '[0-9]+\.[0-9]+' | head -n1)
18+
[[ -n "$php_version" ]] || { echo "Could not determine minimum PHP version"; exit 1; }
19+
echo "version=$php_version" >> "$GITHUB_OUTPUT"
1420
- uses: shivammathur/setup-php@v2
1521
with:
16-
php-version: '8.2'
22+
php-version: ${{ steps.php_min.outputs.version }}
1723
- run: composer install --no-interaction --prefer-dist
1824
- run: composer bin phpcpd install --no-interaction --prefer-dist
1925
- run: composer run duplication:check

.github/workflows/licenses-compliance.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,15 @@ jobs:
88
runs-on: ubuntu-latest
99
steps:
1010
- uses: actions/checkout@v4
11+
- name: Detect minimum PHP from composer.json
12+
id: php_min
13+
run: |
14+
php_version=$(grep -Po '"php"\s*:\s*"\K[^"]+' composer.json | grep -Eo '[0-9]+\.[0-9]+' | head -n1)
15+
[[ -n "$php_version" ]] || { echo "Could not determine minimum PHP version"; exit 1; }
16+
echo "version=$php_version" >> "$GITHUB_OUTPUT"
1117
- uses: shivammathur/setup-php@v2
1218
with:
13-
php-version: '8.2'
19+
php-version: ${{ steps.php_min.outputs.version }}
1420
- run: composer install --no-interaction --prefer-dist
1521
- run: composer bin qa install --no-interaction --prefer-dist
1622
- run: composer run licenses:check

.github/workflows/lint.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,15 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- uses: actions/checkout@v4
13+
- name: Detect minimum PHP from composer.json
14+
id: php_min
15+
run: |
16+
php_version=$(grep -Po '"php"\s*:\s*"\K[^"]+' composer.json | grep -Eo '[0-9]+\.[0-9]+' | head -n1)
17+
[[ -n "$php_version" ]] || { echo "Could not determine minimum PHP version"; exit 1; }
18+
echo "version=$php_version" >> "$GITHUB_OUTPUT"
1319
- uses: shivammathur/setup-php@v2
1420
with:
15-
php-version: '8.2'
21+
php-version: ${{ steps.php_min.outputs.version }}
1622
- run: composer install --no-interaction --prefer-dist
1723
- run: composer bin all install --no-interaction --prefer-dist
1824
- run: composer lint

.github/workflows/mutation.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,15 @@ jobs:
88
runs-on: ubuntu-latest
99
steps:
1010
- uses: actions/checkout@v4
11+
- name: Detect minimum PHP from composer.json
12+
id: php_min
13+
run: |
14+
php_version=$(grep -Po '"php"\s*:\s*"\K[^"]+' composer.json | grep -Eo '[0-9]+\.[0-9]+' | head -n1)
15+
[[ -n "$php_version" ]] || { echo "Could not determine minimum PHP version"; exit 1; }
16+
echo "version=$php_version" >> "$GITHUB_OUTPUT"
1117
- uses: shivammathur/setup-php@v2
1218
with:
13-
php-version: '8.2'
19+
php-version: ${{ steps.php_min.outputs.version }}
1420
- run: composer install --no-interaction --prefer-dist
1521
- run: composer bin phpunit install --no-interaction --prefer-dist
1622
- run: composer bin mutation install --no-interaction --prefer-dist

.github/workflows/performance.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,14 @@ jobs:
1212
BENCH_MAX_MEM_KB: 2048
1313
steps:
1414
- uses: actions/checkout@v4
15+
- name: Detect minimum PHP from composer.json
16+
id: php_min
17+
run: |
18+
php_version=$(grep -Po '"php"\s*:\s*"\K[^"]+' composer.json | grep -Eo '[0-9]+\.[0-9]+' | head -n1)
19+
[[ -n "$php_version" ]] || { echo "Could not determine minimum PHP version"; exit 1; }
20+
echo "version=$php_version" >> "$GITHUB_OUTPUT"
1521
- uses: shivammathur/setup-php@v2
1622
with:
17-
php-version: '8.2'
23+
php-version: ${{ steps.php_min.outputs.version }}
1824
- run: composer install --no-interaction --prefer-dist
1925
- run: php benchmarks/compiler-benchmark.php

.github/workflows/phpcs.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,15 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- uses: actions/checkout@v4
13+
- name: Detect minimum PHP from composer.json
14+
id: php_min
15+
run: |
16+
php_version=$(grep -Po '"php"\s*:\s*"\K[^"]+' composer.json | grep -Eo '[0-9]+\.[0-9]+' | head -n1)
17+
[[ -n "$php_version" ]] || { echo "Could not determine minimum PHP version"; exit 1; }
18+
echo "version=$php_version" >> "$GITHUB_OUTPUT"
1319
- uses: shivammathur/setup-php@v2
1420
with:
15-
php-version: '8.2'
21+
php-version: ${{ steps.php_min.outputs.version }}
1622
- run: composer install --no-interaction --prefer-dist
1723
- run: composer bin phpcs install --no-interaction --prefer-dist
1824
- run: composer run cs:check

0 commit comments

Comments
 (0)