From 3bc8eb5a3ef4191ce77211392c810afff3552314 Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sun, 6 Sep 2026 15:06:29 +0200 Subject: [PATCH 1/3] [GHA] Updated GitHub Actions workflows to latest versions and standards - Renamed the CI workflow to Backend CI and added a bare workflow_dispatch trigger (IBX-12062 PoC follow-up, without the Slack notification parts) - Updated actions/checkout to v7 - Standardized runners to ubuntu-26.04 - Dropped non-existent main branch from push triggers - Removed the deprecated pr-assign.yaml workflow - 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) - Dropped the redundant standalone setup-php step from the Solr integration tests job, superseded by the action's own PHP setup - Guarded the code style check against masked pipe failures; without pipefail the check-cs exit code was swallowed by the pipe into cs2pr (IBX-11853, bundle-generator#45) --- .github/workflows/backend-ci.yaml | 19 ++++++++++++------- .github/workflows/integration-tests.yaml | 12 +++--------- .github/workflows/pr-assign.yaml | 10 ---------- 3 files changed, 15 insertions(+), 26 deletions(-) delete mode 100644 .github/workflows/pr-assign.yaml diff --git a/.github/workflows/backend-ci.yaml b/.github/workflows/backend-ci.yaml index 5e9054ee..b55f913f 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.1' 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: Unit tests - runs-on: "ubuntu-24.04" + runs-on: "ubuntu-26.04" timeout-minutes: 15 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 }} diff --git a/.github/workflows/integration-tests.yaml b/.github/workflows/integration-tests.yaml index 584dd515..860f21a5 100644 --- a/.github/workflows/integration-tests.yaml +++ b/.github/workflows/integration-tests.yaml @@ -3,14 +3,13 @@ name: Solr integration tests on: push: branches: - - main - '[0-9]+.[0-9]+' pull_request: ~ jobs: solr-integration: name: "Integration tests" - runs-on: "ubuntu-22.04" + runs-on: "ubuntu-26.04" strategy: fail-fast: false matrix: @@ -35,17 +34,12 @@ jobs: name: "Set up single core" run: echo "SOLR_CORES=collection1" >> $GITHUB_ENV - - uses: actions/checkout@v3 - - - name: Setup PHP Action - uses: shivammathur/setup-php@v2 - with: - php-version: 7.4 - coverage: none + - uses: actions/checkout@v7 - name: Install Composer dependencies uses: ibexa/gh-workflows/actions/composer-install@main with: + php-version: '7.4' 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/pr-assign.yaml b/.github/workflows/pr-assign.yaml deleted file mode 100644 index 302423e3..00000000 --- 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 3f5b7990a0a53f31fbcd9ad4b73ca682ba708b4c Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sun, 6 Sep 2026 21:56:22 +0200 Subject: [PATCH 2/3] [GHA] Pinned Java 17 for Solr integration tests The ubuntu-26.04 runner image ships Java 25, which neither Solr 7.7.3 nor 9.8.1 can start under, failing all eight of their matrix legs in the "Init Solr" step. Set up Temurin 17 explicitly instead, the LTS release supported by every Solr version in the matrix. Co-Authored-By: Claude Opus 5 --- .github/workflows/integration-tests.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/integration-tests.yaml b/.github/workflows/integration-tests.yaml index 860f21a5..f91d4533 100644 --- a/.github/workflows/integration-tests.yaml +++ b/.github/workflows/integration-tests.yaml @@ -45,6 +45,12 @@ jobs: satis-network-key: ${{ secrets.SATIS_NETWORK_KEY }} satis-network-token: ${{ secrets.SATIS_NETWORK_TOKEN }} + - name: Set up Java + uses: actions/setup-java@v6 + with: + distribution: 'temurin' + java-version: '17' + - name: Init Solr run: ./.github/init_solr.sh From b0ce9ebcf3334a4ec899c6356033100adf021842 Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sun, 6 Sep 2026 23:28:27 +0200 Subject: [PATCH 3/3] [GHA] Mapped JDK version per Solr version Solr 7.7.3 does not start on Java 17 either: its bin/solr passes the CMS garbage collector flags, which JDK 14 removed, so the JVM exits before writing solr.log. Solr 7.7 supports Java 8 and 11 only. Moved java-version into the matrix so 7.7.3 runs on Temurin 11, while 8.11.2 and 9.8.1 stay on 17, where they are already green. Co-Authored-By: Claude Opus 5 --- .github/workflows/integration-tests.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/integration-tests.yaml b/.github/workflows/integration-tests.yaml index f91d4533..18d82c98 100644 --- a/.github/workflows/integration-tests.yaml +++ b/.github/workflows/integration-tests.yaml @@ -22,6 +22,14 @@ jobs: - 'shared' - 'single' - 'cloud' + include: + # Solr 7.x uses the CMS garbage collector, removed in Java 14 + - solr-version: '7.7.3' + java-version: '11' + - solr-version: '8.11.2' + java-version: '17' + - solr-version: '9.8.1' + java-version: '17' env: CORES_SETUP: ${{ matrix.cores-setup }} SOLR_VERSION: ${{ matrix.solr-version }} @@ -49,7 +57,7 @@ jobs: uses: actions/setup-java@v6 with: distribution: 'temurin' - java-version: '17' + java-version: ${{ matrix.java-version }} - name: Init Solr run: ./.github/init_solr.sh