Skip to content
Prev Previous commit
Next Next commit
Improve
  • Loading branch information
yoanm committed Sep 3, 2025
commit b887512cb5612bdd7168dd4574faa52abbe967ff
12 changes: 12 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,23 @@ on: # Build any PRs and main branch changes
- opened
- synchronize
paths-ignore:
# >>> CI Pre-check
# In case of updates to those workflows, they must be pre-checked by `pre-check-CI-updates.yml` rather than this workflow !
# Any updates on those workflows are expected to be restricted to those workflows only ! (no update on code for instance)
- '.github/workflows/pre-check-CI-updates.yml'
- '.github/workflows/reusable-CI-workflow.yml'
- '.github/workflows/reusable-coverage-upload-workflow.yml'
# <<< CI Pre-check
# >>> Irrelevant files (no impact whatsoever on this GHWorkflow)
- '.github/workflows/coverage-upload.yml' # Executed for on master (workflow_run), no impact here
- '.github/workflows/dependabot-PRs.yml' # Executed for dependabot PRs, no impact here
- '**/*.md'
- '**/LICENSE'
- '**/CODEOWNERS'
- '**/.remarkrc*'
- '**/.editorconfig'
- '**/.scrutinizer.yml'
# <<< Irrelevant files
push:
branches: [ master ]
schedule:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: PR auto-merge
name: Dependabot PRs
on: pull_request

permissions:
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/reusable-CI-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
dependency: symfony

tests:
name: ${{ matrix.job-name }}
name: PHP ${{ matrix.php-version }} & Sf ${{ matrix.symfony-version }} - ${{ matrix.job-name }}
needs: [fetch-supported-versions]
runs-on: ubuntu-latest
permissions:
Expand All @@ -62,23 +62,23 @@ jobs:
symfony-version: '${{ needs.fetch-supported-versions.outputs.symfony-max }}'
# Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317)
pkg-extra-constraints: behat/gherkin:~4.12.0
- job-name: Up to date versions - Special case - Symfony 6.4
- job-name: Up to date versions - Sf 6.4 case
php-version: '${{ needs.fetch-supported-versions.outputs.php-max }}'
symfony-version: '6.4'
# Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317)
pkg-extra-constraints: behat/gherkin:~4.12.0
- job-name: Bare minimum # => Lowest versions allowed by composer config
php-version: '${{ needs.fetch-supported-versions.outputs.php-min }}'
symfony-version: '${{ needs.fetch-supported-versions.outputs.symfony-min }}'
- job-name: Bare minimum - Special case - Symfony 6.4
- job-name: Bare minimum - Sf 6.4 case
# Fix - Sf 6.4 require php 8.1 minimum !
php-version: ${{ ( needs.fetch-supported-versions.outputs.php-min == '8.0' ) && '8.1' || needs.fetch-supported-versions.outputs.php-min }}
symfony-version: '6.4'
- job-name: Late migration - PHP # => Highest symfony version with lowest php version allowed by composer config
- job-name: Late PHP migration # => Highest symfony version with lowest php version allowed by composer config
# Fix - Sf 7.0 require php 8.1 minimum, most of deps require 8.2 !
php-version: ${{ ( needs.fetch-supported-versions.outputs.symfony-max == '7.0' && needs.fetch-supported-versions.outputs.php-min == '8.0' ) && '8.2' || needs.fetch-supported-versions.outputs.php-min }}
symfony-version: '${{ needs.fetch-supported-versions.outputs.symfony-max }}'
- job-name: Late migration - Symfony # => Lowest symfony version with highest php version allowed by composer config
- job-name: Late Symfony migration # => Lowest symfony version with highest php version allowed by composer config
php-version: '${{ needs.fetch-supported-versions.outputs.php-max }}'
symfony-version: '${{ needs.fetch-supported-versions.outputs.symfony-min }}'
# Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317)
Expand Down Expand Up @@ -214,7 +214,7 @@ jobs:
uses: actions/dependency-review-action@v4

nightly-tests:
name: Nightly - ${{ matrix.job-name }}
name: Nightly - PHP ${{ matrix.php-version }} & Sf ${{ matrix.symfony-version }} - ${{ matrix.job-name }}
needs: [ fetch-supported-versions, tests ]
if: ${{ github.event_name == 'push' || ( github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'with-nightly-tests') ) }}
runs-on: ubuntu-latest
Expand All @@ -227,23 +227,23 @@ jobs:
fail-fast: false
matrix:
include:
- job-name: PHP - With highest supported Symfony versions
- job-name: PHP with highest supported Symfony versions
php-version: ${{ needs.fetch-supported-versions.outputs.php-next }}
symfony-version: ${{ needs.fetch-supported-versions.outputs.symfony-max }}
# Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317)
pkg-extra-constraints: behat/gherkin:~4.12.0
- job-name: PHP - With lowest supported Symfony versions
- job-name: PHP with lowest supported Symfony versions
php-version: ${{ needs.fetch-supported-versions.outputs.php-next }}
symfony-version: ${{ needs.fetch-supported-versions.outputs.symfony-min }}
# Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317)
pkg-extra-constraints: behat/gherkin:~4.12.0
- job-name: Symfony - With highest supported PHP version
- job-name: Symfony with highest supported PHP version
php-version: ${{ needs.fetch-supported-versions.outputs.php-max }}
symfony-version: ${{ needs.fetch-supported-versions.outputs.symfony-next }}
# Fix - behat/gherkin => Avoid issue with behat <-> gherkin packages (See https://github.com/Behat/Gherkin/issues/317)
# Fix - symfony/framework-bundle - Framework bundle <7.0 require php 8.1 minimum !
pkg-extra-constraints: behat/gherkin:~4.12.0
- job-name: Symfony - With lowest supported PHP version
- job-name: Symfony with lowest supported PHP version
# Fix - symfony/validator 7.1 require php 8.2 minimum !
php-version: ${{ ( needs.fetch-supported-versions.outputs.symfony-next == '7.1' && needs.fetch-supported-versions.outputs.php-min == '8.0' ) && '8.2' || needs.fetch-supported-versions.outputs.php-min }}
symfony-version: ${{ needs.fetch-supported-versions.outputs.symfony-next }}
Expand Down