Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better handling releases that aren't ready for mainnet #547

Open
scottyeager opened this issue Nov 6, 2024 · 1 comment
Open

Better handling releases that aren't ready for mainnet #547

scottyeager opened this issue Nov 6, 2024 · 1 comment
Milestone

Comments

@scottyeager
Copy link

I noticed that v0.8.0 is already published on the Pulumi registry and it's the default latest version that gets pulled in when using our provider. The problem is that it doesn't work with mainnet.

If I compare to Terraform, we don't have the same issue. That repo uses tags like -dev and -qa for releases that aren't on mainnet yet. These get pushed to the Terraform registry, but Terraform won't update to them unless they are specified explicitly:

image

image

I don't know if Pulumi has the same behavior, but I think it would at least be worth using the same version suffixes like -dev, etc. Ideally though we can find a way that users won't get a version that's not compatible with mainnet unless they specifically request it.

@scottyeager
Copy link
Author

Turns out the situation is also a bit more complicated, because new plugin versions are usually being pulled in via the package manager of the programming language in use.

For example if I write:

pip install --upgrade pulumi_threefold

then I get the latest version of our Python package for the Pulumi provider.

Python ecosystem supports pre-release and also dev release version number formats. However, they have a specific format that's not compatible with the format we use for Terraform (and our other repos in general). Likewise, the other languages like Go and any others we might want to support later will have their own format.

So if we want to support the pre-release mechanism, it will be necessary to somehow generate compatible version numbers for each package we publish. That might be tricky to automate, since Python is fairly rigid about pre-release identifiers, but it should be possible to find some mapping from our version identifier scheme (dev, qa, test, rc).

@rawdaGastan rawdaGastan added this to the v0.9.x milestone Nov 24, 2024
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

No branches or pull requests

2 participants