ci(release-agent): one nix shell for all targets, 90 min timeout #440

Merged
gmackie merged 3 commits from release-dispatch/0.1.57 into main 2026-08-27 02:09:25 +00:00
Owner

The first Release agent run (14287) built each arch in its own nix shell — a cold nixpkgs evaluation + Go toolchain fetch every time — and hit the 30-minute job timeout, which Forgejo reports as cancelled. This enters the shell once for all three builds and raises the timeout to 90 minutes.

Also worth knowing for whoever dispatches next: a workflow_dispatch run on main is cancelled the moment anyone merges to main (run 14277 died that way), so dispatch from a release-dispatch/<version> branch — the workflow checks out origin/main itself.

🤖 Generated with Claude Code

The first `Release agent` run (14287) built each arch in its own `nix shell` — a cold nixpkgs evaluation + Go toolchain fetch every time — and hit the 30-minute job timeout, which Forgejo reports as *cancelled*. This enters the shell once for all three builds and raises the timeout to 90 minutes. Also worth knowing for whoever dispatches next: a `workflow_dispatch` run on `main` is cancelled the moment anyone merges to `main` (run 14277 died that way), so dispatch from a `release-dispatch/<version>` branch — the workflow checks out `origin/main` itself. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ci(release-agent): one nix shell for all targets, 90 min timeout
All checks were successful
CI / gitleaks (pull_request) Successful in 6s
CI / storybook (pull_request) Successful in 1m21s
forgegraph/ci CI passed
CI / ci (pull_request) Successful in 9m32s
f166b07505
The first Release agent run built each arch in its own nix shell — a cold
nixpkgs eval + toolchain fetch each time — and hit the 30 min job timeout
(reported by Forgejo as cancelled).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Author
Owner

Preview environment is live: https://pr-440-forgegraph.forgegraf.com

Deployed f166b075 with the beta stage's environment. It redeploys on every push and is destroyed when this PR closes.

Preview environment is live: https://pr-440-forgegraph.forgegraf.com Deployed `f166b075` with the beta stage's environment. It redeploys on every push and is destroyed when this PR closes.
ci(release-agent): git --no-pager — the checkout step blocked on a pager until timeout
Some checks failed
CI / gitleaks (pull_request) Has been cancelled
CI / storybook (pull_request) Has been cancelled
CI / ci (pull_request) Has been cancelled
02fadfd0cd
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Author
Owner

Preview environment is live: https://pr-440-forgegraph.forgegraf.com

Deployed 02fadfd0 with the beta stage's environment. It redeploys on every push and is destroyed when this PR closes.

Preview environment is live: https://pr-440-forgegraph.forgegraf.com Deployed `02fadfd0` with the beta stage's environment. It redeploys on every push and is destroyed when this PR closes.
ci(release-agent): export HOME before set -u — unset in runner host jobs
Some checks failed
CI / gitleaks (pull_request) Has been cancelled
CI / storybook (pull_request) Has been cancelled
CI / ci (pull_request) Has been cancelled
e2cacc04cf
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Author
Owner

Preview environment is live: https://pr-440-forgegraph.forgegraf.com

Deployed e2cacc04 with the beta stage's environment. It redeploys on every push and is destroyed when this PR closes.

Preview environment is live: https://pr-440-forgegraph.forgegraf.com Deployed `e2cacc04` with the beta stage's environment. It redeploys on every push and is destroyed when this PR closes.
Author
Owner

Preview environment is live: https://pr-440-forgegraph.forgegraf.com

Deployed e2cacc04 with the beta stage's environment. It redeploys on every push and is destroyed when this PR closes.

Preview environment is live: https://pr-440-forgegraph.forgegraf.com Deployed `e2cacc04` with the beta stage's environment. It redeploys on every push and is destroyed when this PR closes.
ci(release-agent): tag via git push with the CI token — the tags API returns 401 for it
All checks were successful
CI / gitleaks (pull_request) Successful in 7s
CI / storybook (pull_request) Successful in 1m38s
forgegraph/ci CI passed
CI / ci (pull_request) Successful in 9m42s
425448ef2b
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
gmackie scheduled this pull request to auto merge when all checks succeed 2026-08-25 07:10:47 +00:00
Author
Owner

Tried to rebase this onto current main to clear the conflicts. Two of the three resolved cleanly:

  • f166b075 (90-min timeout) — main had gained GIT_PAGER/PAGER env on the same block. Kept both: the 90-minute timeout with its comment, plus main's env.
  • 02fadfd0 (--no-pager) — main already has the fix by another route; only the explanatory comment was new, so I kept the comment.

425448ef (tag via git push) needs you. It conflicts with a competing fix for the same bug that landed on main separately:

approach
main try GIT_API_TOKEN against the tags REST API, retry with the run's repo-scoped token on any failure, make the degraded path loud
this branch abandon the REST endpoint entirely, git push the tag over https — "the tags REST endpoint answers 401 for this token (run 14331), git over https does not"

If main's retry actually works, this commit is obsolete. If the REST endpoint 401s for this token regardless of retry, this commit is the real fix and main's is dead code. Deciding needs a real release run, so I left the branch untouched rather than guess in release infrastructure.

Tried to rebase this onto current main to clear the conflicts. Two of the three resolved cleanly: - **`f166b075` (90-min timeout)** — main had gained `GIT_PAGER`/`PAGER` env on the same block. Kept both: the 90-minute timeout with its comment, plus main's env. - **`02fadfd0` (`--no-pager`)** — main already has the fix by another route; only the explanatory comment was new, so I kept the comment. **`425448ef` (tag via git push) needs you.** It conflicts with a *competing fix for the same bug* that landed on main separately: | | approach | |---|---| | main | try `GIT_API_TOKEN` against the tags REST API, retry with the run's repo-scoped token on any failure, make the degraded path loud | | this branch | abandon the REST endpoint entirely, `git push` the tag over https — "the tags REST endpoint answers 401 for this token (run 14331), git over https does not" | If main's retry actually works, this commit is obsolete. If the REST endpoint 401s for this token regardless of retry, this commit is the real fix and main's is dead code. Deciding needs a real release run, so I left the branch untouched rather than guess in release infrastructure.
gmackie force-pushed release-dispatch/0.1.57 from 425448ef2b
All checks were successful
CI / gitleaks (pull_request) Successful in 7s
CI / storybook (pull_request) Successful in 1m38s
forgegraph/ci CI passed
CI / ci (pull_request) Successful in 9m42s
to 42e3cacb68
All checks were successful
CI / gitleaks (pull_request) Successful in 7s
CI / storybook (pull_request) Successful in 1m45s
forgegraph/ci CI passed
CI / ci (pull_request) Successful in 9m31s
2026-08-27 01:26:52 +00:00
Compare
gmackie deleted branch release-dispatch/0.1.57 2026-08-27 02:09:25 +00:00
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
gmackie/ForgeGraph!440
No description provided.