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

Set range in python codegen default SDK version #16151

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 6 additions & 4 deletions pkg/codegen/python/gen.go
Original file line number Diff line number Diff line change
Expand Up @@ -3149,6 +3149,9 @@ func setDependencies(schema *PyprojectSchema, pkg *schema.Package) error {
return nil
}

// Require the SDK to fall within the same major version.
var MinimumValidSDKVersion = ">=3.0.0,<4.0.0"

// ensureValidPulumiVersion ensures that the Pulumi SDK has an entry.
// It accepts a list of dependencies
// as provided in the package schema, and validates whether
Expand All @@ -3161,18 +3164,17 @@ func setDependencies(schema *PyprojectSchema, pkg *schema.Package) error {
// validate.
func ensureValidPulumiVersion(requires map[string]string) (map[string]string, error) {
deps := map[string]string{}
// Special case: if the map is empty, we return just pulumi with no version constraint.
// This is just legacy functionality; there's no obvious reason this should be the case.
// Special case: if the map is empty, we return just pulumi with the minimum version constraint.
if len(requires) == 0 {
result := map[string]string{
"pulumi": "",
"pulumi": MinimumValidSDKVersion,
}
return result, nil
}
// If the pulumi dep is missing, we require it to fall within
// our major version constraint.
if pulumiDep, ok := requires["pulumi"]; !ok {
deps["pulumi"] = ">=3.0.0,<4.0.0"
deps["pulumi"] = MinimumValidSDKVersion
} else {
// Since a value was provided, we check to make sure it's
// within an acceptable version range.
Expand Down
2 changes: 1 addition & 1 deletion pkg/codegen/python/gen_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ func TestCalculateDeps(t *testing.T) {
// with semver and parver formatted differently from Pulumi.
// Pulumi should not have a version.
{"parver>=0.2.1", ""},
{"pulumi", ""},
{"pulumi", ">=3.0.0,<4.0.0"},
{"semver>=2.8.1"},
},
}, {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "pulumi_asset_archive"
dependencies = ["parver>=0.2.1", "pulumi", "semver>=2.8.1"]
dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"]
readme = "README.md"
requires-python = ">=3.8"
version = "5.0.0"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "pulumi_fail_on_create"
dependencies = ["parver>=0.2.1", "pulumi", "semver>=2.8.1"]
dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"]
readme = "README.md"
requires-python = ">=3.8"
version = "4.0.0"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "pulumi_large"
dependencies = ["parver>=0.2.1", "pulumi", "semver>=2.8.1"]
dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"]
readme = "README.md"
requires-python = ">=3.8"
version = "4.3.2"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "pulumi_simple"
dependencies = ["parver>=0.2.1", "pulumi", "semver>=2.8.1"]
dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"]
readme = "README.md"
requires-python = ">=3.8"
version = "2.0.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/cyclic-types/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/dash-named-schema/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/different-enum/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/functions-secrets/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/legacy-names/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/naming-collisions/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/nested-module/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/output-funcs/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/plain-and-default/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/regress-8403/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/regress-node-8110/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/regress-py-12546/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/regress-py-12980/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/regress-py-14012/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/replace-on-change/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)
2 changes: 1 addition & 1 deletion tests/testdata/codegen/secrets/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def readme():
},
install_requires=[
'parver>=0.2.1',
'pulumi',
'pulumi>=3.0.0,<4.0.0',
'semver>=2.8.1'
],
zip_safe=False)