Automated upgrade: bump pulumi/pulumi to 3.256.0 - #3118
Conversation
Review Verdict: Changes RequestedReproduced a concrete build failure locally that matches the PR's own failing CI (prerequisites/lint jobs): provider/go.mod bumps pulumi/pulumi/sdk/v3 to v3.256.0 but leaves pulumi-dotnet pinned at v3.107.3, which imports a package removed from the new sdk version, and provider/go.sum was left with incomplete hash entries as a result. The provider module cannot compile as staged. View session · Was this review helpful? Yes · No |
There was a problem hiding this comment.
Reviewed this automated dependency-bump PR (pulumi/pulumi 3.253.0 -> 3.256.0). The diff itself is a mechanical, forward-only version bump across all go.mod/go.sum files with no downgrades and no newly introduced dependencies (security review found nothing).
However, the bump left provider/go.mod/provider/go.sum in a broken state, and this is already visible on the PR: the prerequisites and lint required-adjacent checks are failing. I reproduced the failure locally:
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3was left pinned at v3.107.3, which imports a package (.../sdk/v3/go/common/util/maputil) that no longer exists inpulumi/pulumi/sdk/v3v3.256.0.go mod tidyinprovider/aborts on this immediately.- As a knock-on effect,
provider/go.sumonly got partial entries for several bumped AWS SDK v2 modules (e.g.config,credentials,service/s3,service/sts) — the/go.mod h1:line was added but not the module-contenth1:line — sogo build ./...fails outright with "missing go.sum entry" errors. sdk/,examples/,examples/simple-go/, andexamples/write-only-go/all build cleanly; this is isolated to theprovidermodule.
Left two Important inline comments with the concrete build errors and a Nit about stale go.sum entries that will clear up once go mod tidy completes successfully. This needs the pulumi-dotnet dependency bumped alongside pulumi/pulumi before it can merge.
| github.com/pulumi/pulumi/pkg/v3 v3.253.0 | ||
| github.com/pulumi/pulumi/sdk/v3 v3.253.0 | ||
| github.com/pulumi/pulumi/pkg/v3 v3.256.0 | ||
| github.com/pulumi/pulumi/sdk/v3 v3.256.0 |
There was a problem hiding this comment.
Important — bug
provider/go.mod bumps github.com/pulumi/pulumi/sdk/v3 to v3.256.0, but github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 stays pinned at v3.107.3. That version's codegen package imports github.com/pulumi/pulumi/sdk/v3/go/common/util/maputil, a package that was removed from pulumi/pulumi/sdk/v3 as of v3.256.0.
Bump github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 to a release built against pulumi/pulumi/sdk/v3 >= v3.256.0 (v3.108.0 or later resolves the missing maputil import in local testing), then re-run go mod tidy for provider/go.mod and regenerate go.sum.
Why this matters
The provider module cannot build: go build ./... fails with "no required module provides package .../maputil", and go mod tidy aborts outright with the same error. This is confirmed by the PR's own CI: the prerequisites job fails at the "Build codegen binaries" step, and lint now fails too. It is very likely why go.sum (see the companion finding) was left half-regenerated — the tidy run that produced this PR's go.sum never completed.
| github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.12/go.mod h1:Zg0Oe9qT+9wcezlm1a64wGJp2qZdRElVxo/seJf7jYU= | ||
| github.com/aws/aws-sdk-go-v2/config v1.32.20 h1:8VMDnWc/kEzxsI/1ngGM9mG81a8IGmIHD8KLcYGwagc= | ||
| github.com/aws/aws-sdk-go-v2/config v1.32.20/go.mod h1:PuwEpciweIXGULWeOeSTXtSbH4CW9mWdWrhdCKQI1sM= | ||
| github.com/aws/aws-sdk-go-v2/config v1.32.21/go.mod h1:7NXDJjk0e4QOMv3Y3ppwALx3ifdSQHzCACFtRX5J1hI= |
There was a problem hiding this comment.
Important — bug
The go.sum lines added for the AWS SDK v2 modules bumped in provider/go.mod (config v1.32.21, credentials v1.19.20, service/s3 v1.103.0, service/sts v1.43.0, and several other indirect submodules) only contain the /go.mod h1: checksum, not the module-content h1: line. Since provider/go.mod requires these packages directly, the content hash is required to compile them.
Regenerate provider/go.sum with a full go mod tidy (after resolving the pulumi-dotnet/maputil incompatibility noted in the companion finding, which currently causes tidy to abort before finishing) so every bumped module gets its full h1: hash line.
Why this matters
go build ./... in provider/ fails with "missing go.sum entry for module providing package github.com/aws/aws-sdk-go-v2/config (...)" and similar errors for credentials, service/s3, service/s3/types, service/sts, service/sts/types — reproduced locally and matching the CI prerequisites/lint job failures on this PR. The dependency bump has not actually been validated by CI because the module does not compile.
| @@ -406,8 +426,12 @@ github.com/pulumi/pulumi-go-provider v0.26.0 h1:3ia10+irvv7qPph2NZ2YwUGI/KCf6li8 | |||
| github.com/pulumi/pulumi-go-provider v0.26.0/go.mod h1:zJiGxY5xnodPzLulpRS+fsS960MzeCdlsdiVCZ5TMRA= | |||
| github.com/pulumi/pulumi/pkg/v3 v3.253.0 h1:5ViNqP5IfPscO6YZNkHnS2lJ9/vlMoR1klHweIk6Zjs= | |||
There was a problem hiding this comment.
Nit — bug
provider/go.sum still retains the old github.com/pulumi/pulumi/pkg/v3 v3.253.0 and github.com/pulumi/pulumi/sdk/v3 v3.253.0 hash lines alongside the new v3.256.0 lines. examples/go.sum and sdk/go.sum both cleanly drop the superseded version's lines when bumped, but provider/go.sum does not.
These stale lines will be removed automatically once a full go mod tidy is run to fix the go.sum regeneration described in the two findings above.
|
@pulumi-eon can you fix this PR |
DoneFixed the PR. The root cause matched the earlier review: the What was wrong
What I changed
Validation
Only To get a formal review/approval, comment |
The pulumi/pulumi 3.256.0 bump left pulumi-dotnet pinned at v3.107.3, which imports github.com/pulumi/pulumi/sdk/v3/go/common/util/maputil, a package removed in the new SDK version. This broke the provider build (prerequisites/lint CI jobs). Bump pulumi-dotnet to v3.110.0 and run go mod tidy to complete the partial go.sum entries.
Does the PR have any schema changes?Generated by schema-tools v0.8.1. Looking good! No breaking changes found. |
The pulumi/pulumi 3.256.0 bump changed the Go/.NET example program
generator used to render embedded 'Example Usage' snippets in resource
descriptions (e.g. chaining .ToIDOutput().ToStringOutput() on IDs and
emitting concrete types instead of interface{}). Regenerate schema.json
and the affected SDK docs so the committed artifacts match codegen output,
fixing the prerequisites CI check.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3118 +/- ##
=======================================
Coverage 60.42% 60.42%
=======================================
Files 58 58
Lines 8157 8157
=======================================
Hits 4929 4929
Misses 2870 2870
Partials 358 358 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Automated upgrade: bump pulumi/pulumi to 3.256.0