Skip to content

IBX-11778: Updated deprecated GitHub Actions in auto_tag workflow - #286

Open
alongosz wants to merge 5 commits into
4.6from
ibx-11778-gha-deprecated-actions
Open

IBX-11778: Updated deprecated GitHub Actions in auto_tag workflow#286
alongosz wants to merge 5 commits into
4.6from
ibx-11778-gha-deprecated-actions

Conversation

@alongosz

@alongosz alongosz commented Jul 21, 2026

Copy link
Copy Markdown
Member

Caution

  • Drop TMP commits before merging
🎫 Issue IBX-11778

Related PRs:

Description:

Rewrote auto_tag.yml (Create Tag), 198 → 56 lines; for more details see ibexa/gh-workflows#105.

Specific to headless:

  • The headless-assets check now queries Satis, where that package is published — it is not on Packagist. The previous GitHub tag check could pass while Satis, rebuilt by a five-minute cron, had not yet indexed the tag.
  • The only edition pinning two packages (ibexa/headless-assets, ibexa/oss). The parent ibexa/oss is on Packagist, so there is nothing to wait for.

For QA:

The shared actions are tested in ibexa/gh-workflows#105 — see its For QA.

Test status:

  • 🟢 Dry run at 4.6.31 (real_op: false) from this branch, exercising the IBX-11778: Added composite actions for metapackage Create Tag workflows gh-workflows#105 actions via the [TMP] refs Create Tag run 31009050345 — preparation checked ibexa/headless-assets in Satis with auth, both ibexa/headless-assets and ibexa/oss pinned to 4.6.31, remaining requirements set from the release definition, composer.lock resolved, push step skipped, both jobs on ubuntu-26.04

  • 🟢 Negative dry run at bogus version 9.9.9-test1 Create Tag run 31010164723 — preparation failed immediately with ::error::ibexa/headless-assets:v9.9.9-test1 is not available in https://updates.ibexa.co and the action job was skipped

Documentation:

No documentation required.

🤖 Generated with Claude Code

Aligned with the IBX-11778 treatment from ibexa/gh-workflows#103,
adjusted for metapackages:

- Bumped actions/create-github-app-token from v2 to v3, switching the
  deprecated app-id input to client-id
- Replaced tibdex/github-app-token@v1 with
  actions/create-github-app-token@v3 in the action job
- Replaced octokit/request-action with equivalent gh api calls,
  preserving the data output consumed by later steps
- Bumped actions/checkout to v7 and both jobs to ubuntu-26.04
- Removed steps guarded by other editions' repository names (the file
  was designed to be copy-pasted between edition repositories, but the
  copies have since diverged) and the unused cs2pr tool. Headless
  deliberately does not wait for its parent package (ibexa/oss), which
  is available on Packagist, not via Satis; a comment now records that

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
alongosz and others added 3 commits July 21, 2026 17:00
The Commit, tag and push step used the EZROBOT_PAT personal access
token and rewrote the origin remote URL to embed it, while the job
already generates a GitHub App installation token. Now:

- the push step receives the app token via its GITHUB_TOKEN env and
  authenticates git through gh auth setup-git (gh acting as the git
  credential helper), keeping the whole credential flow local to the
  step - checkout stays credential-free and no secret is written to
  .git/config
- the release commit is authored as github-actions[bot] instead of
  ezrobot, which no longer plays any role here
- inputs.version is passed to the shell via the step's VERSION env
  instead of raw workflow-expression interpolation

Note before merging: this path only runs with real_op: true, so PR CI
does not exercise it. The automation GitHub App must have contents
write permission and any tag protection allowances previously granted
to the ezrobot account.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The Create Tag workflow now keeps only its edition-specific data and
delegates the mechanics to two composite actions in ibexa/gh-workflows:

- check-composer-package (preparation) checks that the required package
  version is available on the Composer repository that composer update
  will actually consume — more accurate than the previous GitHub-tag
  probe, which could pass while the package was not yet installable;
- create-metapackage-tag (action) fetches the release definition, derives
  minimum stability, pins the parent/assets packages, patches require
  versions, updates composer.lock and, with real_op, commits, tags and
  pushes using the GitHub App token.

Behavior is unchanged apart from the more accurate preparation check and
the dropped sponge/moreutils dependency.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Allows testing the new composite actions before the ibexa/gh-workflows
pull request that introduces them is merged. Drop before merging.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Dropped when auto_tag logic was extracted into the shared
check-composer-package/create-metapackage-tag composite actions.
Composite action steps can't declare their own timeout-minutes, so
the bound has to live on the job again.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants