Add release-cadence.yml: cut v* tags nightly instead of by hand #43

Merged
geusebio merged 1 commit from feature/agent-release-cadence into main 2026-08-25 17:28:38 +00:00
Owner

What

Adds a release-cadence.yml/cut-release.sh pair to this repo, mirroring
the someones.computer platform's own release-cadence.yml (#355 there).
Nightly, it cuts a v* tag at the newest commit on main that ci.yaml
reported green, bumping the previous tag, then dispatches release.yaml
for it explicitly (rather than trusting the tag push to raise its own
trigger — pushes from inside another Actions job haven't reliably done
that on this forge).

Why

The only tag in this repo is v0.1.0; main is 34 commits past it. The
release mechanism was git tag v1.2.3 && git push origin v1.2.3 — no
trigger behind it, so it moved only when someone remembered. The platform's
/install page defaults to the stable channel, which only moves on a
v* tag here, so it has been quietly serving a 34-commit-stale sc
binary against a wire contract that has moved under it (e.g. the
additionalContexts[] field added 2026-08-24).

Changes

  • .github/workflows/release-cadence.yml — new. Schedule + workflow_dispatch
    (bump: patch|minor, dry_run).
  • .github/workflows/release.yaml — adds workflow_dispatch: {} so the
    cadence workflow (or a human) can start it explicitly for a tag.
  • .github/actions/dispatch-workflow/ — copied from the platform repo
    (generic Forgejo workflow_dispatch POST helper, no app-specific content).
  • scripts/cut-release.sh — by-hand equivalent with the same guards.
  • README.md — points "Cut a release" at the new automation instead of a
    bare git tag && git push.

Operational follow-up (not in this PR)

The tag-push step prefers DEPLOY_DISPATCH_TOKEN, falling back to
CLAUDE_BOT_TOKEN, then the built-in token — same fallback chain the
platform repo's own release-cadence.yml uses. If those aren't org-level
secrets visible to this repo already, the nightly cut will fail loudly at
that step with a clear error rather than doing nothing silently; someone
with Forgejo org-admin needs to confirm or add them.

Verified

  • actionlint and shellcheck clean on the new/changed files.
  • No Go changes, so go vet/hack/coverage.sh/cross-compile are untouched
    by this diff.
  • Not run live (would cut a real tag) — the schedule and the guards it
    checks are read from the platform's own proven release-cadence.yml,
    adapted for this repo's simpler build-at-tag-time pipeline (no
    build-then-promote step to check for).
## What Adds a `release-cadence.yml`/`cut-release.sh` pair to this repo, mirroring the someones.computer platform's own `release-cadence.yml` (#355 there). Nightly, it cuts a `v*` tag at the newest commit on `main` that `ci.yaml` reported green, bumping the previous tag, then dispatches `release.yaml` for it explicitly (rather than trusting the tag push to raise its own trigger — pushes from inside another Actions job haven't reliably done that on this forge). ## Why The only tag in this repo is `v0.1.0`; `main` is 34 commits past it. The release mechanism was `git tag v1.2.3 && git push origin v1.2.3` — no trigger behind it, so it moved only when someone remembered. The platform's `/install` page defaults to the `stable` channel, which only moves on a `v*` tag here, so it has been quietly serving a 34-commit-stale `sc` binary against a wire contract that has moved under it (e.g. the `additionalContexts[]` field added 2026-08-24). ## Changes - `.github/workflows/release-cadence.yml` — new. Schedule + `workflow_dispatch` (`bump: patch|minor`, `dry_run`). - `.github/workflows/release.yaml` — adds `workflow_dispatch: {}` so the cadence workflow (or a human) can start it explicitly for a tag. - `.github/actions/dispatch-workflow/` — copied from the platform repo (generic Forgejo `workflow_dispatch` POST helper, no app-specific content). - `scripts/cut-release.sh` — by-hand equivalent with the same guards. - `README.md` — points "Cut a release" at the new automation instead of a bare `git tag && git push`. ## Operational follow-up (not in this PR) The tag-push step prefers `DEPLOY_DISPATCH_TOKEN`, falling back to `CLAUDE_BOT_TOKEN`, then the built-in token — same fallback chain the platform repo's own `release-cadence.yml` uses. If those aren't org-level secrets visible to this repo already, the nightly cut will fail loudly at that step with a clear error rather than doing nothing silently; someone with Forgejo org-admin needs to confirm or add them. ## Verified - `actionlint` and `shellcheck` clean on the new/changed files. - No Go changes, so `go vet`/`hack/coverage.sh`/cross-compile are untouched by this diff. - Not run live (would cut a real tag) — the schedule and the guards it checks are read from the platform's own proven `release-cadence.yml`, adapted for this repo's simpler build-at-tag-time pipeline (no build-then-promote step to check for).
Add release-cadence.yml: cut v* tags nightly instead of by hand
All checks were successful
CI / build (pull_request) Successful in 46s
db7c297db7
The only tag in this repo's history is v0.1.0, and main is 34 commits
past it because "git tag v1.2.3 && git push origin v1.2.3" was the
whole release mechanism and nobody had a trigger reminding them to run
it. The someones.computer platform's install page defaults to the
stable channel, which only moves on a v* tag, so it has been serving a
stale sc binary against a moving wire contract.

Mirrors the platform repo's own release-cadence.yml (added for the
identical reason, #355 there): a scheduled job walks back from main's
tip to the newest commit CI reported green on, bumps the previous tag,
and pushes it — then dispatches release.yaml explicitly rather than
trusting the tag push to raise its own trigger, since pushes made from
inside another Actions job have not reliably done that on this forge.

scripts/cut-release.sh is the by-hand equivalent, replacing the bare
git tag/push in the README with the same guards (previous tag actually
released, next commit actually green, forward-only).
geusebio changed title from WIP: Add release-cadence.yml: cut v* tags nightly instead of by hand to Add release-cadence.yml: cut v* tags nightly instead of by hand 2026-08-25 17:28:32 +00:00
geusebio deleted branch feature/agent-release-cadence 2026-08-25 17:28:39 +00:00
Sign in to join this conversation.
No reviewers
No labels
in-progress
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
Grey.ooo/someones.computer_agent!43
No description provided.