From 74ddb0fe467b62df915a0ace677fd335e9925436 Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sat, 5 Sep 2026 20:13:42 +0200 Subject: [PATCH 1/2] [GHA] Updated GitHub Actions workflows to latest versions and standards - Renamed ci.yaml to backend-ci.yaml, renamed the workflow to "Backend CI" and added a bare workflow_dispatch trigger - Dropped the stale "main" push trigger; the package develops on version branches only - Bumped actions/checkout from v3 to v7 - Replaced direct ramsey/composer-install (v2) and the accompanying setup-php steps with ibexa/gh-workflows/actions/composer-install, passing php-version explicitly; the action installs the same extensions (pdo_sqlite, gd), coverage (none) and cs2pr by default, and configures the private package credentials internally - Standardized runners from ubuntu-22.04 / ubuntu-latest to ubuntu-26.04 - Guarded the code style check against masked pipe failures with "set -euo pipefail" - Replaced the legacy zendesk-based release workflow (incl. the branch-pinned actions/checkout@master) with the reusable release_bundle.yml workflow from the bundle-generator skeleton - Removed the obsolete pr-assign workflow Co-Authored-By: Claude Fable 5 --- .github/workflows/backend-ci.yaml | 67 ++++++++++++++++++++++++++++ .github/workflows/ci.yaml | 72 ------------------------------- .github/workflows/pr-assign.yaml | 10 ----- .github/workflows/release.yaml | 59 ++++++------------------- 4 files changed, 80 insertions(+), 128 deletions(-) create mode 100644 .github/workflows/backend-ci.yaml delete mode 100644 .github/workflows/ci.yaml delete mode 100644 .github/workflows/pr-assign.yaml diff --git a/.github/workflows/backend-ci.yaml b/.github/workflows/backend-ci.yaml new file mode 100644 index 0000000..59bfea6 --- /dev/null +++ b/.github/workflows/backend-ci.yaml @@ -0,0 +1,67 @@ +name: Backend CI + +on: + push: + branches: + - '[0-9]+.[0-9]+' + pull_request: ~ + workflow_dispatch: ~ + +jobs: + cs-fix: + name: Run code style check + runs-on: "ubuntu-26.04" + strategy: + matrix: + php: + - '8.0' + steps: + - 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 + shell: bash + run: | + set -euo pipefail + composer run-script check-cs -- --format=checkstyle | cs2pr + + tests: + name: Tests + runs-on: "ubuntu-26.04" + timeout-minutes: 10 + + strategy: + fail-fast: false + matrix: + php: + - '7.4' + - '8.0' + - '8.1' + - '8.2' + + steps: + - 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: Setup problem matchers for PHPUnit + run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" + + - name: Run PHPStan analysis + run: composer run-script phpstan + + - name: Run test suite + run: composer run-script --timeout=600 test diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml deleted file mode 100644 index 8cbb18e..0000000 --- a/.github/workflows/ci.yaml +++ /dev/null @@ -1,72 +0,0 @@ -name: CI - -on: - push: - branches: - - main - - '[0-9]+.[0-9]+' - pull_request: ~ - -jobs: - cs-fix: - name: Run code style check - runs-on: "ubuntu-22.04" - strategy: - matrix: - php: - - '8.0' - steps: - - uses: actions/checkout@v3 - - - name: Setup PHP Action - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - coverage: none - extensions: 'pdo_sqlite, gd' - tools: cs2pr - - - uses: ramsey/composer-install@v2 - with: - dependency-versions: highest - - - name: Run code style check - run: composer run-script check-cs -- --format=checkstyle | cs2pr - - tests: - name: Tests - runs-on: "ubuntu-22.04" - timeout-minutes: 10 - - strategy: - fail-fast: false - matrix: - php: - - '7.4' - - '8.0' - - '8.1' - - '8.2' - - steps: - - uses: actions/checkout@v3 - - - name: Setup PHP Action - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - coverage: none - extensions: pdo_sqlite, gd - tools: cs2pr - - - uses: ramsey/composer-install@v2 - with: - dependency-versions: highest - - - name: Setup problem matchers for PHPUnit - run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" - - - name: Run PHPStan analysis - run: composer run-script phpstan - - - name: Run test suite - run: composer run-script --timeout=600 test 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/release.yaml b/.github/workflows/release.yaml index d2d4aa5..beedd0c 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,46 +1,13 @@ -name: Automatic Changelog Generator for tag - -on: - push: - tags: - - 'v*' - - '!v*-alpha*' - -jobs: - release: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@master - - name: Set Environment - run: | - echo "BUILD_TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV - - name: Get previous release tag based on type - id: prevrelease - uses: ibexa/version-logic-action@master - with: - currentTag: ${{ env.BUILD_TAG }} - - - name: Generate changelog - id: changelog - uses: ibexa/changelog-generator-action@v2 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - jira_token: ${{ secrets.JIRA_TOKEN }} - currentTag: ${{ env.BUILD_TAG }} - previousTag: ${{ steps.prevrelease.outputs.previousTag }} - - - name: Print the changelog - run: echo "$CHANGELOG" - env: - CHANGELOG: ${{ steps.changelog.outputs.changelog }} - - - name: Create Release - id: create_release - uses: zendesk/action-create-release@v1 - with: - tag_name: ${{ env.BUILD_TAG }} - body: | - ${{ steps.changelog.outputs.changelog }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +name: Call Automatic Changelog Generator for tag Workflow + +on: + push: + tags: + - 'v*' + - '!v*-alpha*' + +jobs: + create_release_for_tag: + uses: ibexa/gh-workflows/.github/workflows/release_bundle.yml@main + secrets: + JIRA_TOKEN: ${{ secrets.JIRA_TOKEN }} From bf9b3fc39934dada0665fdda4550cb22e28d87a0 Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Sat, 5 Sep 2026 20:13:42 +0200 Subject: [PATCH 2/2] [GHA] Added missing workflows from bundle-generator skeleton - .github/workflows/reviewers.yaml Co-Authored-By: Claude Fable 5 --- .github/workflows/reviewers.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/workflows/reviewers.yaml 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