Skip to content

fix: generate SDKs with the release version - #358

Merged
ctreatma merged 1 commit into
mainfrom
fix-sdk-package-versions
Oct 1, 2026
Merged

ctreatma merged 1 commit into
mainfrom
fix-sdk-package-versions

Conversation

@ctreatma

@ctreatma ctreatma commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Summary

The v0.33.0 release failed in publish_sdk:

Found version v${VERSION} does not match expected version v0.33.0

The Node.js SDK's package.json still had the codegen placeholder "${VERSION}". Pulumi's codegen only writes the provider version into the SDK packages when the language info sets RespectSchemaVersion; the old Makefile filled the version in with sed after generation, and the ci-mgmt Makefile doesn't. Python would also have been built as 0.0.0, and the .NET .csproj had no <Version>.

This change:

  • Enables RespectSchemaVersion for Node.js, Python, Go and .NET in provider/resources.go, as other ci-mgmt bridged providers (e.g. pulumi-gcp) do. CI's build_sdk generates the SDKs with PROVIDER_VERSION, so the published packages get the release version. The committed SDKs carry the 0.0.0-alpha.0+dev placeholder.
  • Generates pyproject.toml instead of setup.py for Python (PyProject.Enabled). The version is written into the packaging file, and the build_sdk "Check worktree clean" step allows pyproject.toml to change but not setup.py. pyproject.toml declares the same name, dependencies, requires-python, metadata and package data as the old setup.py.
  • Regenerates the schema and SDKs. The only SDK changes are the version fields in package.json, pyproject.toml, the .csproj, the pulumi-plugin.json files and the Go pulumiUtilities.go.

The Go SDK now pins the provider plugin version it requests to the SDK version, like the other SDKs; previously it requested no specific version.

Release follow-up

Re-running the failed v0.33.0 release won't pick this up, since it builds from the tagged commit. After merging, either run equinix-tag-release to release v0.33.1, or delete the v0.33.0 GitHub release and tag and run it again.

🤖 Generated with Claude Code

The v0.33.0 release failed in publish_sdk because the Node.js SDK's
package.json still had the codegen placeholder "${VERSION}". Without
RespectSchemaVersion, codegen doesn't write the provider version into
the SDK packages, and the old Makefile filled it in with sed. The
ci-mgmt Makefile doesn't, so Python would also have been built as 0.0.0
and the .NET package had no version.

Enable RespectSchemaVersion for Node.js, Python, Go and .NET, as other
ci-mgmt bridged providers do, so each SDK is generated with the release
version.

Generate pyproject.toml instead of setup.py for Python. The version is
written into the packaging file, and ci-mgmt's build_sdk worktree check
allows pyproject.toml to change but not setup.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ctreatma
ctreatma requested a review from a team October 1, 2026 22:19
@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

Does the PR have any schema changes?

Looking good! No breaking changes found.
No new resources/functions.

Maintainer note: consult the runbook for dealing with any breaking changes.

@ctreatma
ctreatma merged commit 999693b into main Oct 1, 2026
21 checks passed
@ctreatma
ctreatma deleted the fix-sdk-package-versions branch October 1, 2026 22:32
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