Skip to content

fix(edge): resolve OOM on onctl-4 runner, drop unused Windows target - #1094

Merged
cdalar merged 3 commits into
mainfrom
fix/edge-runner-oom
Sep 7, 2026
Merged

cdalar merged 3 commits into
mainfrom
fix/edge-runner-oom

Conversation

@cdalar

@cdalar cdalar commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • The edge workflow started failing after #e624e38 moved it from ubuntu-latest onto the self-hosted onctl-4 runner: GoReleaser builds all targets in parallel by default, and compiling aws-sdk-go-v2/service/ec2 three times at once (windows/amd64, linux/arm64, linux/amd64) OOM-killed the compiler on that box (confirmed live in run 34082530839: signal: killed).
  • Adds --parallelism=1 to the goreleaser invocation in edge.yml, serializing the target builds to cap peak memory to one target at a time.
  • Also drops the Windows target entirely from .goreleaser.edge.yml (nothing currently consumes the edge Windows binary), a second independent way to reduce load on the constrained runner. Updates get_edge.sh and the README/docs "Edge build" sections to match (Linux only now), and drops the now-empty dist/*.zip glob from the release-publish step.

Test plan

  • goreleaser check -f .goreleaser.edge.yml β€” config validates
  • bash -n docs/static/get_edge.sh β€” syntax check
  • Manually dispatched edge.yml on this branch 3 times to iterate live against the actual onctl-4 runner (not guessable from a local machine): (1) --parallelism=1 alone β†’ succeeded, confirming the root cause; (2) + dropped Windows β†’ build succeeded, release-publish failed on the now-empty dist/*.zip glob; (3) + glob fix β†’ fully succeeded
  • Confirmed the published edge release now has exactly onctl-linux-amd64.tar.gz, onctl-linux-arm64.tar.gz, checksums.txt (no Windows asset)

πŸ€– Generated with Claude Code

https://claude.ai/code/session_01Lx5i19SzjoDPrn1eccMzCe

cdalar and others added 3 commits September 7, 2026 06:42
e624e38 moved this workflow from ubuntu-latest onto the self-hosted
onctl-4 runner. GoReleaser builds all 3 targets (windows/amd64,
linux/arm64, linux/amd64) in parallel by default, and compiling
aws-sdk-go-v2/service/ec2 three times at once OOM-killed the compiler
on that box (signal: killed, confirmed in run 34082530839). --parallelism=1
serializes the builds, capping peak memory to one target at a time.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lx5i19SzjoDPrn1eccMzCe
Nothing currently consumes the edge Windows binary, and dropping it is
a second, independent way to cut peak memory on the resource-constrained
onctl-4 runner (one less target for GoReleaser to build, on top of the
--parallelism=1 serialization already applied). Updates get_edge.sh
(drops the Windows branch, mirroring the existing macOS "not published"
error) and the README/docs Edge build sections to match.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lx5i19SzjoDPrn1eccMzCe
No more Windows target means no more .zip archives; gh release create
rejected the literal unmatched glob (no matches found for \`dist/*.zip\`),
confirmed live in run 34084368621.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lx5i19SzjoDPrn1eccMzCe
@cdalar
cdalar merged commit 14861b5 into main Sep 7, 2026
13 checks passed
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

⌂ 捒网址