Skip to content

feat(gen): parallel six-arch build at large resource_class for cli repos#2028

Merged
teemow merged 1 commit into
mainfrom
cli-parallel-go-build
Jun 23, 2026
Merged

feat(gen): parallel six-arch build at large resource_class for cli repos#2028
teemow merged 1 commit into
mainfrom
cli-parallel-go-build

Conversation

@teemow

@teemow teemow commented Jun 23, 2026

Copy link
Copy Markdown
Member

Problem

The generated architect/go-build job is the critical-path CI gate on every ci.generate: true Go repo. architect-orb #838 (orb v9.5.0+, already the pinned OrbVersion: 9.5.2) persists $GOCACHE so warm builds are fast (measured 5.1x on muster), but the cli-flavour six-arch cross-compile is still cold after every go.sum bump and runs sequentially on 2 vCPUs.

Proposed solution

For cli-flavour Go repos (the {{- if .ReleaseBinaries }} six-arch matrix block), the generated go-build job now sets the orb's build_concurrency: auto and resource_class: large, so the cold cross-compile parallelises across cores instead of running sequentially. build_concurrency is opt-in in the orb precisely because it only pays off at a larger resource_class.

  • OrbVersion already points at 9.5.2 (contains Update module golang.org/x/net to v0.22.0 #838 from v9.5.0) — no bump needed.
  • Service (non-cli) repos are unchanged.
  • No signing or nancy parameter changes.
  • Golden testdata (mcp-kubernetes.cli.workflows.yml) regenerated; new Test_CLIParallelBuild asserts the knobs are cli-only.

Acceptance criteria

  • OrbVersion points at the architect-orb release containing Update module golang.org/x/net to v0.22.0 #838 (9.5.2).
  • Generated workflows.yml for a cli-flavour repo sets build_concurrency + resource_class: large on go-build.
  • No signing or nancy parameter changes in the generated config.
  • Golden testdata regenerated; circleci_test.go passes.
  • A devctl release is cut so the new pin can flow into giantswarm/github align-files.

Implements #2017; part of giantswarm/giantswarm#36941.

Made with Cursor

@teemow teemow requested a review from a team as a code owner June 23, 2026 07:37
… repos

For cli-flavour Go repos the generated go-build job now sets
build_concurrency: auto and resource_class: large. GOCACHE persistence
(architect-orb #838, orb v9.5.0+) makes warm builds fast, but the six-arch
cross-compile is still cold after every go.sum bump, so parallelising it on a
larger box removes the remaining critical-path cost. Service repos unchanged,
no signing or nancy changes.

Implements #2017; part of giantswarm/giantswarm#36941.

Co-authored-by: Cursor <cursoragent@cursor.com>
@teemow teemow force-pushed the cli-parallel-go-build branch from a3affbc to 648dcdb Compare June 23, 2026 07:49
@teemow teemow changed the title gen circleci: parallel six-arch build at large resource_class for cli repos feat(gen): parallel six-arch build at large resource_class for cli repos Jun 23, 2026
@teemow teemow merged commit 36c7ac8 into main Jun 23, 2026
5 of 6 checks passed
@teemow teemow deleted the cli-parallel-go-build branch June 23, 2026 07:53
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