From 97da47c709d73a192fa0ecc05fcb3e4fc1b09cda Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sun, 6 Sep 2026 02:06:56 +0200 Subject: [PATCH] [GHA] Updated GitHub Actions workflows to latest versions and standards - Renamed the backend CI workflow from 'Backend build' to 'Backend CI' and added a bare workflow_dispatch trigger - Bumped actions/checkout to v7 and actions/setup-node to v7 - Replaced the branch-pinned smoench/deptrac-action@master with the 1.0.2 release tag - Replaced direct ramsey/composer-install steps with the standard ibexa/gh-workflows/actions/composer-install@main composite action, passing the PHP version explicitly; dropped the setup-php steps made redundant by the action's defaults (pdo_sqlite, gd) and the non-matrix composer-options - Guarded the code style check against masked pipe failures with set -euo pipefail, so cs2pr no longer hides check-cs errors - Standardized all runner labels to ubuntu-26.04 - Dropped the stale 'main' entry from push triggers in backend-ci, frontend-ci and browser-tests - Removed the obsolete pr-assign workflow Co-Authored-By: Claude Fable 5.1 - Folded the integration jobs' extra PHP extensions (pdo_pgsql / pdo_mysql, redis) into the action's php-extensions input instead of a separate setup-php step --- .github/workflows/backend-ci.yaml | 90 ++++++++++++---------------- .github/workflows/browser-tests.yaml | 1 - .github/workflows/frontend-ci.yaml | 7 +-- .github/workflows/pr-assign.yaml | 10 ---- 4 files changed, 42 insertions(+), 66 deletions(-) delete mode 100644 .github/workflows/pr-assign.yaml diff --git a/.github/workflows/backend-ci.yaml b/.github/workflows/backend-ci.yaml index bcb1de2..35a6265 100644 --- a/.github/workflows/backend-ci.yaml +++ b/.github/workflows/backend-ci.yaml @@ -1,49 +1,48 @@ -name: Backend build +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 - - name: Setup PHP Action - uses: shivammathur/setup-php@v2 + - uses: ibexa/gh-workflows/actions/composer-install@main with: php-version: ${{ matrix.php }} - coverage: none - extensions: 'pdo_sqlite, gd' - tools: cs2pr - - - uses: ramsey/composer-install@v3 - with: - dependency-versions: "highest" + 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 deptrac: name: Deptrac - runs-on: ubuntu-latest + runs-on: ubuntu-26.04 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Deptrac - uses: smoench/deptrac-action@master + uses: smoench/deptrac-action@1.0.2 tests: name: Tests - runs-on: "ubuntu-24.04" + runs-on: "ubuntu-26.04" timeout-minutes: 10 strategy: @@ -55,20 +54,15 @@ jobs: - '8.4' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - - name: Setup PHP Action - uses: shivammathur/setup-php@v2 + - uses: ibexa/gh-workflows/actions/composer-install@main with: php-version: ${{ matrix.php }} - coverage: none - extensions: pdo_sqlite, gd - tools: cs2pr - - - uses: ramsey/composer-install@v3 - with: - dependency-versions: "highest" - composer-options: "--prefer-dist --no-progress --no-suggest" + 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: Setup problem matchers for PHPUnit run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" @@ -96,7 +90,7 @@ jobs: --health-timeout 5s --health-retries 5 --tmpfs /var/lib/postgres - runs-on: "ubuntu-22.04" + runs-on: "ubuntu-26.04" timeout-minutes: 10 strategy: @@ -108,19 +102,16 @@ jobs: - '8.4' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - - name: Setup PHP Action - uses: shivammathur/setup-php@v2 + - uses: ibexa/gh-workflows/actions/composer-install@main with: php-version: ${{ matrix.php }} - coverage: none - extensions: pdo_pgsql, gd - tools: cs2pr - - - uses: ramsey/composer-install@v3 - with: - dependency-versions: "highest" + php-extensions: pdo_pgsql, gd + 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: Setup problem matchers for PHPUnit run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" @@ -149,7 +140,7 @@ jobs: --health-timeout=5s --health-retries=5 --tmpfs=/var/lib/mysql - runs-on: "ubuntu-24.04" + runs-on: "ubuntu-26.04" timeout-minutes: 10 strategy: @@ -161,19 +152,16 @@ jobs: - '8.4' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - - name: Setup PHP Action - uses: shivammathur/setup-php@v2 + - uses: ibexa/gh-workflows/actions/composer-install@main with: php-version: ${{ matrix.php }} - coverage: none - extensions: pdo_mysql, gd, redis - tools: cs2pr - - - uses: ramsey/composer-install@v3 - with: - dependency-versions: "highest" + php-extensions: pdo_mysql, gd, redis + 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: Setup problem matchers for PHPUnit run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" diff --git a/.github/workflows/browser-tests.yaml b/.github/workflows/browser-tests.yaml index ee493af..f083ae7 100644 --- a/.github/workflows/browser-tests.yaml +++ b/.github/workflows/browser-tests.yaml @@ -3,7 +3,6 @@ name: Browser tests on: push: branches: - - main - '[0-9]+.[0-9]+' pull_request: ~ diff --git a/.github/workflows/frontend-ci.yaml b/.github/workflows/frontend-ci.yaml index 56ab2c8..0954692 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-24.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: '18' - 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 }}