From a254c1b5e857a30656381670463425e663e82ac0 Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sat, 5 Sep 2026 00:14:39 +0200 Subject: [PATCH 1/6] [GHA] Updated GitHub Actions workflows to latest versions and standards - Bumped actions/checkout from v6 to v7 in backend-ci.yaml. - Standardized runners to ubuntu-26.04 in backend-ci.yaml. - Renamed backend-ci.yaml workflow to "Backend CI" and added a bare workflow_dispatch trigger. - Dropped the stale "main" branch from push triggers in backend-ci.yaml and the rector workflow. - Guarded the code style check step with "set -euo pipefail" so cs2pr no longer masks check-cs failures. - Renamed rector.yaml.yml to rector.yaml and replaced its standalone job with the reusable ibexa/gh-workflows rector.yml@main workflow, matching the bundle-generator skeleton. - Renamed reviewers.yaml.yml to reviewers.yaml (content already matched the skeleton). - Deleted the pr-assign.yaml workflow, retired org-wide. --- .github/workflows/backend-ci.yaml | 17 +++++++----- .github/workflows/pr-assign.yaml | 10 ------- .github/workflows/rector.yaml | 10 +++++++ .github/workflows/rector.yaml.yml | 27 ------------------- .../{reviewers.yaml.yml => reviewers.yaml} | 0 5 files changed, 20 insertions(+), 44 deletions(-) delete mode 100644 .github/workflows/pr-assign.yaml create mode 100644 .github/workflows/rector.yaml delete mode 100644 .github/workflows/rector.yaml.yml rename .github/workflows/{reviewers.yaml.yml => reviewers.yaml} (100%) diff --git a/.github/workflows/backend-ci.yaml b/.github/workflows/backend-ci.yaml index ba1028e..5cedd53 100644 --- a/.github/workflows/backend-ci.yaml +++ b/.github/workflows/backend-ci.yaml @@ -1,22 +1,22 @@ -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: @@ -26,11 +26,14 @@ jobs: 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: @@ -40,7 +43,7 @@ jobs: - '8.3' - '8.4' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: ibexa/gh-workflows/actions/composer-install@main with: 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 }} diff --git a/.github/workflows/rector.yaml b/.github/workflows/rector.yaml new file mode 100644 index 0000000..ae51cb8 --- /dev/null +++ b/.github/workflows/rector.yaml @@ -0,0 +1,10 @@ +name: Rector PHP +on: + push: + branches: + - '[0-9]+.[0-9]+' + pull_request: ~ +jobs: + rector: + name: Run rector + uses: ibexa/gh-workflows/.github/workflows/rector.yml@main diff --git a/.github/workflows/rector.yaml.yml b/.github/workflows/rector.yaml.yml deleted file mode 100644 index 955d6b4..0000000 --- a/.github/workflows/rector.yaml.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Rector PHP -on: - push: - branches: - - main - - '[0-9]+.[0-9]+' - pull_request: ~ -jobs: - rector: - name: Run rector - runs-on: "ubuntu-24.04" - strategy: - matrix: - php: - - '8.3' - steps: - - uses: actions/checkout@v6 - - - uses: ibexa/gh-workflows/actions/composer-install@main - with: - 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 rector - run: vendor/bin/rector process --dry-run --ansi diff --git a/.github/workflows/reviewers.yaml.yml b/.github/workflows/reviewers.yaml similarity index 100% rename from .github/workflows/reviewers.yaml.yml rename to .github/workflows/reviewers.yaml From 43cae946b3233bdac6f7bc323893ece7166d9a97 Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sat, 5 Sep 2026 00:14:39 +0200 Subject: [PATCH 2/6] [GHA] Added missing workflows from bundle-generator skeleton - Added frontend-ci.yaml (package.json defines a "test" script, so the frontend build check applies to this package). --- .github/workflows/frontend-ci.yaml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/frontend-ci.yaml diff --git a/.github/workflows/frontend-ci.yaml b/.github/workflows/frontend-ci.yaml new file mode 100644 index 0000000..e9d5346 --- /dev/null +++ b/.github/workflows/frontend-ci.yaml @@ -0,0 +1,27 @@ +name: Frontend build + +on: + push: + paths: + - "**.js" + - "**.scss" + branches: + - '[0-9]+.[0-9]+' + pull_request: + paths: + - "**.js" + - "**.scss" + +jobs: + frontend-test: + name: Frontend build test + runs-on: "ubuntu-26.04" + timeout-minutes: 5 + + steps: + - uses: actions/checkout@v7 + - uses: actions/setup-node@v7 + with: + node-version: '22' + - run: yarn install + - run: yarn test From deda137460c615a6dbcdd4faddcfd7b09869cebf Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sat, 5 Sep 2026 00:18:49 +0200 Subject: [PATCH 3/6] [GHA] Passed automation and Satis secrets to the shared Rector workflow The skeleton form calls the reusable workflow without a secrets block, so composer-install got HTTP 401 from updates.ibexa.co. Aligned with the core@5.0 form, which passes the four secrets explicitly. --- .github/workflows/rector.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rector.yaml b/.github/workflows/rector.yaml index ae51cb8..0d77808 100644 --- a/.github/workflows/rector.yaml +++ b/.github/workflows/rector.yaml @@ -1,10 +1,16 @@ name: Rector PHP + on: push: branches: - '[0-9]+.[0-9]+' pull_request: ~ + jobs: rector: - name: Run rector uses: ibexa/gh-workflows/.github/workflows/rector.yml@main + 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 cb0983b9edb9296ad5793b6c0fbd64377267d86e Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sat, 5 Sep 2026 00:25:46 +0200 Subject: [PATCH 4/6] [GHA] Removed the frontend CI workflow, no frontend sources to build package.json here is skeleton boilerplate; the repo contains no .js or .scss files, so the workflow's path triggers would never fire and its yarn test run has nothing meaningful to check. --- .github/workflows/frontend-ci.yaml | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 .github/workflows/frontend-ci.yaml diff --git a/.github/workflows/frontend-ci.yaml b/.github/workflows/frontend-ci.yaml deleted file mode 100644 index e9d5346..0000000 --- a/.github/workflows/frontend-ci.yaml +++ /dev/null @@ -1,27 +0,0 @@ -name: Frontend build - -on: - push: - paths: - - "**.js" - - "**.scss" - branches: - - '[0-9]+.[0-9]+' - pull_request: - paths: - - "**.js" - - "**.scss" - -jobs: - frontend-test: - name: Frontend build test - runs-on: "ubuntu-26.04" - timeout-minutes: 5 - - steps: - - uses: actions/checkout@v7 - - uses: actions/setup-node@v7 - with: - node-version: '22' - - run: yarn install - - run: yarn test From 462a6882a594069c0e210e1246ded23ad9f76f91 Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sat, 5 Sep 2026 19:29:43 +0200 Subject: [PATCH 5/6] [GHA] Pinned PHP version for the shared Rector workflow Passed the new php-version input (gh-workflows#115, IBX-11907) so the job runs on PHP 8.3 instead of drifting to the latest stable. --- .github/workflows/rector.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/rector.yaml b/.github/workflows/rector.yaml index 0d77808..08fbf2c 100644 --- a/.github/workflows/rector.yaml +++ b/.github/workflows/rector.yaml @@ -9,6 +9,8 @@ on: 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 }} From fe1a582ee78272a2fb259a1f3f1bbf4ca061b6eb Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sat, 5 Sep 2026 19:33:35 +0200 Subject: [PATCH 6/6] [GHA] Passed the PHP version to the composer-install action explicitly The implicit matrix.php fallback inside the action is kept only for backwards compatibility (IBX-11907, gh-workflows#115); callers should state the version. --- .github/workflows/backend-ci.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/backend-ci.yaml b/.github/workflows/backend-ci.yaml index 5cedd53..916ce53 100644 --- a/.github/workflows/backend-ci.yaml +++ b/.github/workflows/backend-ci.yaml @@ -20,6 +20,7 @@ jobs: - 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 }} @@ -47,6 +48,7 @@ jobs: - 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 }}