The ci workflow's "Vet and test infra module" step runs go vet/go test in infra/, which pulls the Pulumi Go SDKs (pulumi/sdk, pulumi-cloudflare, pulumi-gcp — large). actions/setup-go's built-in cache keys on the ROOT go.sum only, so infra/go.sum's dependencies are re-downloaded on every run — making each ci run ~4-5 min (vs ~1.5 min before infra existed). This slows every PR, and strict-mode re-syncs re-run CI repeatedly.
The #3 CI author explicitly anticipated this: "When #2 adds infra/go.mod+go.sum, setup-go's cache key (currently keyed on root go.sum) may warrant extending."
Scope
Extend Go module caching so infra/go.sum deps are cached across runs — e.g. set actions/setup-gocache-dependency-path to cover BOTH go.sum and infra/go.sum, or add an explicit actions/cache for the Go build/module cache keyed on both go.sum files.
Keep all actions pinned by commit SHA (repo convention).
Acceptance criteria
After a warm cache, subsequent ci runs do not re-download the Pulumi SDKs and run meaningfully faster; ci stays green.
Notes
Workflow-only change (.github/workflows/ci.yml); no application code. Non-blocking optimization.
## Context
The `ci` workflow's "Vet and test infra module" step runs `go vet`/`go test` in `infra/`, which pulls the Pulumi Go SDKs (`pulumi/sdk`, `pulumi-cloudflare`, `pulumi-gcp` — large). `actions/setup-go`'s built-in cache keys on the ROOT `go.sum` only, so `infra/go.sum`'s dependencies are re-downloaded on **every** run — making each `ci` run ~4-5 min (vs ~1.5 min before infra existed). This slows every PR, and strict-mode re-syncs re-run CI repeatedly.
The #3 CI author explicitly anticipated this: "When #2 adds `infra/go.mod`+`go.sum`, setup-go's cache key (currently keyed on root `go.sum`) may warrant extending."
## Scope
- [ ] Extend Go module caching so `infra/go.sum` deps are cached across runs — e.g. set `actions/setup-go` `cache-dependency-path` to cover BOTH `go.sum` and `infra/go.sum`, or add an explicit `actions/cache` for the Go build/module cache keyed on both go.sum files.
- [ ] Keep all actions pinned by commit SHA (repo convention).
## Acceptance criteria
- After a warm cache, subsequent `ci` runs do not re-download the Pulumi SDKs and run meaningfully faster; `ci` stays green.
## Notes
Workflow-only change (`.github/workflows/ci.yml`); no application code. Non-blocking optimization.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Context
The
ciworkflow's "Vet and test infra module" step runsgo vet/go testininfra/, which pulls the Pulumi Go SDKs (pulumi/sdk,pulumi-cloudflare,pulumi-gcp— large).actions/setup-go's built-in cache keys on the ROOTgo.sumonly, soinfra/go.sum's dependencies are re-downloaded on every run — making eachcirun ~4-5 min (vs ~1.5 min before infra existed). This slows every PR, and strict-mode re-syncs re-run CI repeatedly.The #3 CI author explicitly anticipated this: "When #2 adds
infra/go.mod+go.sum, setup-go's cache key (currently keyed on rootgo.sum) may warrant extending."Scope
infra/go.sumdeps are cached across runs — e.g. setactions/setup-gocache-dependency-pathto cover BOTHgo.sumandinfra/go.sum, or add an explicitactions/cachefor the Go build/module cache keyed on both go.sum files.Acceptance criteria
ciruns do not re-download the Pulumi SDKs and run meaningfully faster;cistays green.Notes
Workflow-only change (
.github/workflows/ci.yml); no application code. Non-blocking optimization.