feat: tag triggers reach the dispatcher + runner #12

Closed
cloudcli wants to merge 1 commit from feat/tag-triggers into main
Member

Problem

Pushed git tags never triggered the agent dispatcher or reached the devagent runner.

Root cause (verified in a sandbox on this instance, Forgejo 11.0.15)

  • Tags DO trigger workflows and the runner connects fine — proven with direct-job workflows (every git-pushed AND API-created tag ran successfully on devagent).
  • BUT Forgejo does not launch reusable-workflow callers (jobs.*.uses:) on tag/push events. The frozen per-repo caller's only job is uses: dispatch.yaml@main, so a tag never reaches dispatch. Adding push: tags: to the caller alone is not enough.

Fix

  • caller-agent.yaml (new canonical frozen caller; was referenced by the README but missing): subscribes to push: tags and adds a direct tag job that bridges a pushed tag into a Release <tag> issue labelled agent/release — re-entering the label pipeline that already works.
  • dispatch.yaml: resolve now recognises agent/release; new release route.
  • release.yaml (new route): deterministic release notes (git log since previous tag) posted as a comment, then acks + closes the tracking issue. Self-contained (no repo-local composite uses:, which resolve unreliably against data.forgejo.org here).
  • labels.json: adds agent/release (seed org labels after merge).

Follow-ups (not in this PR)

  • Re-copy caller-agent.yaml into project repos' .forgejo/workflows/agent.yaml to activate tag triggers there.
  • Seed the agent/release label into orgs via seed-org-labels.sh.
  • Optional: configure the runner/instance DEFAULT_ACTIONS_URL to the local instance so repo-local uses: (e.g. lib/preflight@main) resolve locally.

🤖 Generated with Claude Code

## Problem Pushed git tags never triggered the agent dispatcher or reached the `devagent` runner. ## Root cause (verified in a sandbox on this instance, Forgejo 11.0.15) - Tags DO trigger workflows and the runner connects fine — proven with direct-job workflows (every git-pushed AND API-created tag ran successfully on `devagent`). - BUT Forgejo does **not** launch reusable-workflow callers (`jobs.*.uses:`) on tag/`push` events. The frozen per-repo caller's only job is `uses: dispatch.yaml@main`, so a tag never reaches dispatch. Adding `push: tags:` to the caller alone is not enough. ## Fix - **`caller-agent.yaml`** (new canonical frozen caller; was referenced by the README but missing): subscribes to `push: tags` and adds a **direct** `tag` job that bridges a pushed tag into a `Release <tag>` issue labelled `agent/release` — re-entering the label pipeline that already works. - **`dispatch.yaml`**: `resolve` now recognises `agent/release`; new `release` route. - **`release.yaml`** (new route): deterministic release notes (git log since previous tag) posted as a comment, then acks + closes the tracking issue. Self-contained (no repo-local composite `uses:`, which resolve unreliably against `data.forgejo.org` here). - **`labels.json`**: adds `agent/release` (seed org labels after merge). ## Follow-ups (not in this PR) - Re-copy `caller-agent.yaml` into project repos' `.forgejo/workflows/agent.yaml` to activate tag triggers there. - Seed the `agent/release` label into orgs via `seed-org-labels.sh`. - Optional: configure the runner/instance `DEFAULT_ACTIONS_URL` to the local instance so repo-local `uses:` (e.g. `lib/preflight@main`) resolve locally. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat: tag triggers — bridge pushed tags into the dispatcher via agent/release
Some checks failed
coordinate.yaml / feat: tag triggers — bridge pushed tags into the dispatcher via agent/release (pull_request) Failing after 0s
dev.yaml / feat: tag triggers — bridge pushed tags into the dispatcher via agent/release (pull_request) Failing after 0s
plan.yaml / feat: tag triggers — bridge pushed tags into the dispatcher via agent/release (pull_request) Failing after 0s
reflect.yaml / feat: tag triggers — bridge pushed tags into the dispatcher via agent/release (pull_request) Failing after 0s
release.yaml / feat: tag triggers — bridge pushed tags into the dispatcher via agent/release (pull_request) Failing after 0s
test.yaml / feat: tag triggers — bridge pushed tags into the dispatcher via agent/release (pull_request) Failing after 0s
18a4383665
ellen closed this pull request 2026-07-22 21:25:57 +00:00
Some checks failed
coordinate.yaml / feat: tag triggers — bridge pushed tags into the dispatcher via agent/release (pull_request) Failing after 0s
dev.yaml / feat: tag triggers — bridge pushed tags into the dispatcher via agent/release (pull_request) Failing after 0s
plan.yaml / feat: tag triggers — bridge pushed tags into the dispatcher via agent/release (pull_request) Failing after 0s
reflect.yaml / feat: tag triggers — bridge pushed tags into the dispatcher via agent/release (pull_request) Failing after 0s
release.yaml / feat: tag triggers — bridge pushed tags into the dispatcher via agent/release (pull_request) Failing after 0s
test.yaml / feat: tag triggers — bridge pushed tags into the dispatcher via agent/release (pull_request) Failing after 0s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
valssi-public/agent-workflows!12
No description provided.