Skip to content

ci: annotated version marker with evidence dispatch - #21

Merged
Bridge-Node-7 merged 5 commits into
mainfrom
chore/version-marker-annotated-tag-only
Nov 1, 2026
Merged

Bridge-Node-7 merged 5 commits into
mainfrom
chore/version-marker-annotated-tag-only

Conversation

@Bridge-Node-7

@Bridge-Node-7 Bridge-Node-7 commented Nov 1, 2026 •

Copy link
Copy Markdown
Owner

Summary

Extends release-please.yml so that after a release PR merge to main, if v$VERSION is missing, it creates an annotated git tag via the Git API and explicitly dispatches the existing evidence-only release.yml workflow.

Why

skip-github-release: true skips tag creation, leaving merged release PRs outstanding. Tags created with GITHUB_TOKEN also do not trigger other workflows' push events, so evidence must be dispatched explicitly (see GitHub Actions docs on GITHUB_TOKEN and workflow triggers).

Safety

  • Does not create a GitHub Release (release.yml stays contents: read).
  • Marker runs only when the pushed head message matches chore(main): release *.
  • Idempotent if the tag already exists.
  • Uses split noreply identity (no email literal).
  • Adds actions: write only on release-please.yml to allow workflow_dispatch of release.yml.

Test plan

  • CI green (validate / CodeQL / privacy)
  • Missing tag path creates tag + dispatches evidence (local + prior v0.9.4 one-shot path)
  • Existing tag path is a no-op (idempotent)
  • Wrong VERSION fails reconcile in evidence workflow
  • Evidence artifact uploads; no Release published

When a release PR labeled autorelease: pending merges, create only an
annotated git tag from VERSION. Never creates a GitHub Release.
Unblocks release-please after skip-github-release leaves merged PRs untagged.
Register .github/workflows/version-marker.yml in REPO_FILE_POLICY
allowlists and approved_workflow_sha256; refresh MANIFEST.sha256 and
REPO_MANIFEST.json so validate accepts the annotated-tag-only marker.
Move the evidence-only version marker into release-please.yml (the only
workflow approved for contents: write). After main pushes, if v\$VERSION
is missing, create an annotated tag via the Git API — never a GitHub
Release. Removes the standalone version-marker workflow blocked by
workflow_controls and personal-contact checks.
Skip tag creation unless the pushed main head message matches
chore(main): release *. Prevents later chore merges from claiming the
VERSION tag; the current v0.9.4 marker still needs a Founder one-shot
at the existing release merge commit.
GITHUB_TOKEN tag creates do not start other workflows' push events.
After creating the annotated version tag, explicitly dispatch the
existing evidence-only release.yml via workflow_dispatch with tag_name.
Add actions: write to release-please only so the dispatch is permitted.
release.yml remains contents: read and never creates a GitHub Release.
@Bridge-Node-7 Bridge-Node-7 changed the title ci: annotated version-marker tag for release-please ci: annotated version marker with evidence dispatch Nov 1, 2026
@Bridge-Node-7
Bridge-Node-7 marked this pull request as ready for review November 1, 2026 04:31
@Bridge-Node-7
Bridge-Node-7 merged commit 48baf9c into main Nov 1, 2026
6 checks passed
@Bridge-Node-7
Bridge-Node-7 deleted the chore/version-marker-annotated-tag-only branch November 1, 2026 04:31
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