From 36b81ec80b5cc46406007f531ea7888f03d8bdbf Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sat, 5 Sep 2026 21:02:36 +0200 Subject: [PATCH 1/4] [GHA] Updated GitHub Actions workflows to latest versions and standards - Renamed the backend CI workflow from 'CI' to 'Backend CI' and added a workflow_dispatch trigger. - Bumped actions/checkout to v7 and actions/setup-node to v7. - Standardized all runner labels to ubuntu-26.04. - Passed php-version explicitly to every ibexa/gh-workflows/actions/composer-install step. - Dropped the stale 'main' entry from the push triggers; the repository has no main branch. - Added a pipefail guard to the code style check step so cs2pr no longer masks check-cs failures. - Removed the obsolete pr-assign workflow. Co-Authored-By: Claude Fable 5.1 --- .github/workflows/backend-ci.yaml | 34 ++++++++++++++++++------------ .github/workflows/frontend-ci.yaml | 7 +++--- .github/workflows/pr-assign.yaml | 10 --------- 3 files changed, 24 insertions(+), 27 deletions(-) delete mode 100644 .github/workflows/pr-assign.yaml diff --git a/.github/workflows/backend-ci.yaml b/.github/workflows/backend-ci.yaml index 0605333..b8fa56c 100644 --- a/.github/workflows/backend-ci.yaml +++ b/.github/workflows/backend-ci.yaml @@ -1,36 +1,40 @@ -name: CI +name: Backend CI on: push: branches: - - main - '[0-9]+.[0-9]+' pull_request: ~ + workflow_dispatch: ~ jobs: cs-fix: name: Run code style check - runs-on: "ubuntu-24.04" + runs-on: "ubuntu-26.04" strategy: matrix: php: - '8.3' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: ibexa/gh-workflows/actions/composer-install@main with: + php-version: ${{ matrix.php }} gh-client-id: ${{ secrets.AUTOMATION_CLIENT_ID }} gh-client-secret: ${{ secrets.AUTOMATION_CLIENT_SECRET }} satis-network-key: ${{ secrets.SATIS_NETWORK_KEY }} satis-network-token: ${{ secrets.SATIS_NETWORK_TOKEN }} - name: Run code style check - run: composer run-script check-cs -- --format=checkstyle | cs2pr + shell: bash + run: | + set -euo pipefail + composer run-script check-cs -- --format=checkstyle | cs2pr tests: name: Tests - runs-on: "ubuntu-24.04" + runs-on: "ubuntu-26.04" timeout-minutes: 10 strategy: @@ -42,10 +46,11 @@ jobs: - '8.4' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: ibexa/gh-workflows/actions/composer-install@main with: + php-version: ${{ matrix.php }} gh-client-id: ${{ secrets.AUTOMATION_CLIENT_ID }} gh-client-secret: ${{ secrets.AUTOMATION_CLIENT_SECRET }} satis-network-key: ${{ secrets.SATIS_NETWORK_KEY }} @@ -77,7 +82,7 @@ jobs: --health-timeout 5s --health-retries 5 --tmpfs /var/lib/postgresql/data - runs-on: "ubuntu-24.04" + runs-on: "ubuntu-26.04" timeout-minutes: 5 strategy: @@ -88,10 +93,11 @@ jobs: - '8.4' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: ibexa/gh-workflows/actions/composer-install@main with: + php-version: ${{ matrix.php }} gh-client-id: ${{ secrets.AUTOMATION_CLIENT_ID }} gh-client-secret: ${{ secrets.AUTOMATION_CLIENT_SECRET }} satis-network-key: ${{ secrets.SATIS_NETWORK_KEY }} @@ -135,7 +141,7 @@ jobs: --health-timeout=5s --health-retries=5 --tmpfs=/var/lib/mysql - runs-on: "ubuntu-24.04" + runs-on: "ubuntu-26.04" timeout-minutes: 5 strategy: @@ -146,10 +152,11 @@ jobs: - '8.4' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: ibexa/gh-workflows/actions/composer-install@main with: + php-version: ${{ matrix.php }} gh-client-id: ${{ secrets.AUTOMATION_CLIENT_ID }} gh-client-secret: ${{ secrets.AUTOMATION_CLIENT_SECRET }} satis-network-key: ${{ secrets.SATIS_NETWORK_KEY }} @@ -188,7 +195,7 @@ jobs: --health-timeout=5s --health-retries=5 --tmpfs=/var/lib/mysql - runs-on: "ubuntu-24.04" + runs-on: "ubuntu-26.04" timeout-minutes: 5 strategy: @@ -200,10 +207,11 @@ jobs: - '8.4' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: ibexa/gh-workflows/actions/composer-install@main with: + php-version: ${{ matrix.php }} gh-client-id: ${{ secrets.AUTOMATION_CLIENT_ID }} gh-client-secret: ${{ secrets.AUTOMATION_CLIENT_SECRET }} satis-network-key: ${{ secrets.SATIS_NETWORK_KEY }} diff --git a/.github/workflows/frontend-ci.yaml b/.github/workflows/frontend-ci.yaml index 3bfff75..884621d 100644 --- a/.github/workflows/frontend-ci.yaml +++ b/.github/workflows/frontend-ci.yaml @@ -6,7 +6,6 @@ on: - "**.js" - "**.scss" branches: - - main - '[0-9]+.[0-9]+' pull_request: paths: @@ -16,12 +15,12 @@ on: jobs: frontend-test: name: Frontend build test - runs-on: "ubuntu-20.04" + runs-on: "ubuntu-26.04" timeout-minutes: 5 steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v7 + - uses: actions/setup-node@v7 with: node-version: '14' - run: yarn install diff --git a/.github/workflows/pr-assign.yaml b/.github/workflows/pr-assign.yaml deleted file mode 100644 index ea9165c..0000000 --- a/.github/workflows/pr-assign.yaml +++ /dev/null @@ -1,10 +0,0 @@ -name: Assign Pull Request to maintainers - -on: - pull_request_target: ~ - -jobs: - assign: - uses: ibexa/gh-workflows/.github/workflows/pr-assign.yml@main - secrets: - robot-token: ${{ secrets.EZROBOT_PAT }} From 256a7426ed59e88b4bb7f59b429f56d0f825cd32 Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sat, 5 Sep 2026 21:02:36 +0200 Subject: [PATCH 2/4] [GHA] Added missing workflows from bundle-generator skeleton - .github/workflows/reviewers.yaml - .github/workflows/rector.yaml (reusable rector.yml with php-version '8.3' and the AUTOMATION/SATIS secrets, as in core 5.0) Co-Authored-By: Claude Fable 5.1 --- .github/workflows/rector.yaml | 18 ++++++++++++++++++ .github/workflows/reviewers.yaml | 15 +++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 .github/workflows/rector.yaml create mode 100644 .github/workflows/reviewers.yaml diff --git a/.github/workflows/rector.yaml b/.github/workflows/rector.yaml new file mode 100644 index 0000000..08fbf2c --- /dev/null +++ b/.github/workflows/rector.yaml @@ -0,0 +1,18 @@ +name: Rector PHP + +on: + push: + branches: + - '[0-9]+.[0-9]+' + pull_request: ~ + +jobs: + rector: + uses: ibexa/gh-workflows/.github/workflows/rector.yml@main + with: + php-version: '8.3' + secrets: + AUTOMATION_CLIENT_ID: ${{ secrets.AUTOMATION_CLIENT_ID }} + AUTOMATION_CLIENT_SECRET: ${{ secrets.AUTOMATION_CLIENT_SECRET }} + SATIS_NETWORK_KEY: ${{ secrets.SATIS_NETWORK_KEY }} + SATIS_NETWORK_TOKEN: ${{ secrets.SATIS_NETWORK_TOKEN }} diff --git a/.github/workflows/reviewers.yaml b/.github/workflows/reviewers.yaml new file mode 100644 index 0000000..0c55d2d --- /dev/null +++ b/.github/workflows/reviewers.yaml @@ -0,0 +1,15 @@ +name: On PR Review Requested + +on: + pull_request: + types: [review_requested] + +jobs: + call-expand-team-reviewers: + if: ${{ github.event.requested_team }} + uses: ibexa/gh-workflows/.github/workflows/expand-team-reviewers.yml@main + with: + requested_team: ${{ github.event.requested_team.slug }} + pull_request_number: ${{ github.event.pull_request.number }} + repository: ${{ github.repository }} + secrets: inherit From a0cd9e3ec83516043ffd736d3458f75189fcc0ce Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sat, 5 Sep 2026 22:15:35 +0200 Subject: [PATCH 3/4] [GHA] Dropped rector.yaml as ibexa/rector is not a dev dependency on 4.6 The reusable rector workflow fails with "vendor/bin/rector: No such file or directory" because this branch only carries a rector.php, not the ibexa/rector package. Rector for this branch is left to the dedicated rector rollout follow-up (IBX-11778 audit list). --- .github/workflows/rector.yaml | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 .github/workflows/rector.yaml diff --git a/.github/workflows/rector.yaml b/.github/workflows/rector.yaml deleted file mode 100644 index 08fbf2c..0000000 --- a/.github/workflows/rector.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: Rector PHP - -on: - push: - branches: - - '[0-9]+.[0-9]+' - pull_request: ~ - -jobs: - rector: - uses: ibexa/gh-workflows/.github/workflows/rector.yml@main - with: - php-version: '8.3' - secrets: - AUTOMATION_CLIENT_ID: ${{ secrets.AUTOMATION_CLIENT_ID }} - AUTOMATION_CLIENT_SECRET: ${{ secrets.AUTOMATION_CLIENT_SECRET }} - SATIS_NETWORK_KEY: ${{ secrets.SATIS_NETWORK_KEY }} - SATIS_NETWORK_TOKEN: ${{ secrets.SATIS_NETWORK_TOKEN }} From c74189245fa42d82001f6e9606ca276f1c2c1efd Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sat, 5 Sep 2026 22:59:20 +0200 Subject: [PATCH 4/4] Removed unused rector.php ibexa/rector 4.6 targets PHP 8.3 (partner projects already bumped), while this package still tests on PHP 7.4, so the dependency cannot be added to require-dev and the config has never been exercised. Rector for this package is to be revisited on the 5.0 merge-up if still missing there. --- rector.php | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 rector.php diff --git a/rector.php b/rector.php deleted file mode 100644 index 2cf3d7f..0000000 --- a/rector.php +++ /dev/null @@ -1,16 +0,0 @@ -createConfig();