Skip to content

Keep Go CI Build Caches Warm - #732

Merged
bgentry merged 1 commit into
masterfrom
bg/warm-ci-build-caches
Nov 1, 2026
Merged

bgentry merged 1 commit into
masterfrom
bg/warm-ci-build-caches

Conversation

@bgentry

@bgentry bgentry commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

🤖 River UI's Go test, lint, and release jobs share setup-go's immutable, dependency-keyed cache. A smaller workload can populate it without the race or cross-compilation artifacts another job needs, leaving later runs to rebuild without saving their new artifacts. Sharing build archives across Postgres versions can also reuse successful test results without exercising the selected database version.

Adapt the cache policy from River's Go CI cache improvements: share module downloads across Go versions and workloads, let one full-suite job populate that archive, and scope build archives by runner, exact Go version, workload, Postgres version, and race mode. Include module metadata and Go, SQL, and CI inputs in the keys so changed jobs can save fresh artifacts while restoring compatible earlier builds.

Release builds additionally hash the frontend inputs for their embedded assets. Dependabot also scans the new local composite action. Test selection, race coverage, and job parallelism are preserved.

The first runs fill the new caches; speedups in River UI have not been measured yet.

Go test, lint, and release jobs share an immutable cache keyed by
dependencies. A smaller workload can populate it without race or
cross-compilation artifacts, leaving later jobs to rebuild without
saving their results. Shared cached test results can also bypass the
selected Postgres version.

Separate shared module downloads from build archives scoped by runner,
Go version, workload, database version, and race mode. Let one
full-suite job populate the module archive and refresh build archives
when Go, SQL, CI, or embedded asset inputs change. Restore compatible
earlier builds so changed jobs reuse previously compiled dependencies.

Include local composite actions in dependency update scans.
@bgentry
bgentry merged commit 310c675 into master Nov 1, 2026
22 checks passed
@bgentry
bgentry deleted the bg/warm-ci-build-caches branch November 1, 2026 22:09
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.

2 participants