Skip to content

fix(CI-CD): use Trigganator app token for tag pushes - #62

Merged
baxyz merged 2 commits into
mainfrom
release-tag-push-app-token
Aug 10, 2026
Merged

fix(CI-CD): use Trigganator app token for tag pushes#62
baxyz merged 2 commits into
mainfrom
release-tag-push-app-token

Conversation

@baxyz

@baxyz baxyz commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Replaces GITHUB_TOKEN with a Trigganator-minted token (scoped: contents: write + workflows: write, this repo only) for the one step that actually needs it — pushing tags whose ref history touches .github/workflows/*.yml.
  • Reuses the same GitHub App already wired into this repo's own trigger-website job (vars.TRIGGANATOR_ID / secrets.TRIGGANATOR_KEY) instead of provisioning a new credential.
  • Reverts the job-level permissions: block to just what GITHUB_TOKEN still needs for the other steps (GHCR publish, devcontainers/action's generate-docs commit).

Open question

This only works if Trigganator's installation has actually been granted the "Workflows: Read and write" app permission — not something checkable from the API access this session has. actions/create-github-app-token will fail with a clear, specific error at mint time if it wasn't granted, so worst case this is a clean, informative failure, not a silent one.

Test plan

release.yml only triggers on push to main matching src/*/devcontainer-feature.json — a PR can't exercise this path. Real signal only comes after merge, on the next push that bumps a feature version and creates a tag whose history touches a workflow file (which is basically every push right now, since this PR itself touches one).

  • YAML validated
  • After merge: watch the next release.yml run for the "Mint tag-push token" step

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown

✅ PR Validation Passed

All checks passed!


📋 Pipeline Status

Job Status
🧾 Conventional Commits passing
🔖 Version Bump passing
🧪 Feature Tests passing
🐚 ShellCheck passing

🤖 Generated by @helpers4 CI • 2026-08-10

baxyz and others added 2 commits August 10, 2026 22:56
…OKEN

GITHUB_TOKEN can never push a tag whose ref history touches
.github/workflows/*.yml — GitHub blocks it outright, and there's no
permissions: key that fixes this for the default token (confirmed against
GitHub's own schema; adding one just makes the file invalid, already hit
that once). The actual fix needs a token with the app-level 'workflows'
permission. Trigganator is already installed for this repo and used two
jobs down (trigger-website) — mint a second, narrower token from the same
app (contents + workflows only, scoped to this repo) instead of
provisioning a whole separate credential.

Whether this actually works depends on Trigganator's installation having
been granted the Workflows permission — that's only visible in GitHub's
own UI, not something checkable from here. If it wasn't granted,
create-github-app-token fails with a clear permission error and this
needs a real PAT instead.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Trigganator's installation doesn't have the Workflows app permission
granted (checked: Actions + Code only). Pushinator now does (added:
actions, administration, code, issues, pull requests, workflows) — same
minting logic, just the other app's credentials.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@baxyz
baxyz force-pushed the release-tag-push-app-token branch from e3b3371 to 9a1ad01 Compare August 10, 2026 22:56
@baxyz
baxyz merged commit f9a915d into main Aug 10, 2026
34 checks passed
@baxyz
baxyz deleted the release-tag-push-app-token branch August 10, 2026 23:21
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.

1 participant