From dbea0b06bc6aeefd1da5dac665bf7264daed671f Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Thu, 16 May 2024 09:02:19 +0100 Subject: [PATCH 1/3] Respect schema version --- provider/cmd/pulumi-resource-aws-native/schema.json | 13 +++++++++---- provider/pkg/schema/gen.go | 9 +++++++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index 4581afc286..d3852058a4 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -231,27 +231,32 @@ }, "packageReferences": { "Pulumi": "3.*" - } + }, + "respectSchemaVersion": true }, "go": { "importBasePath": "github.com/pulumi/pulumi-aws-native/sdk/go/aws", "packageImportAliases": { "github.com/pulumi/pulumi-aws-native/sdk/go/aws/aws-native": "aws" - } + }, + "respectSchemaVersion": true }, "java": { "packages": { "aws-native": "awsnative" } }, - "nodejs": {}, + "nodejs": { + "respectSchemaVersion": true + }, "python": { "pyproject": { "enabled": true }, "requires": { "pulumi": "\u003e=3.0.0,\u003c4.0.0" - } + }, + "respectSchemaVersion": true } }, "config": { diff --git a/provider/pkg/schema/gen.go b/provider/pkg/schema/gen.go index 9c35f2ce17..6aedd1e273 100644 --- a/provider/pkg/schema/gen.go +++ b/provider/pkg/schema/gen.go @@ -388,13 +388,17 @@ func GatherPackage(supportedResourceTypes []string, jsonSchemas []*jsschema.Sche "packages": javaPackages, }) p.Language["go"] = rawMessage(map[string]interface{}{ - "importBasePath": "github.com/pulumi/pulumi-aws-native/sdk/go/aws", + "respectSchemaVersion": true, + "importBasePath": "github.com/pulumi/pulumi-aws-native/sdk/go/aws", "packageImportAliases": map[string]string{ "github.com/pulumi/pulumi-aws-native/sdk/go/aws/aws-native": "aws", }, }) - p.Language["nodejs"] = rawMessage(map[string]interface{}{}) + p.Language["nodejs"] = rawMessage(map[string]interface{}{ + "respectSchemaVersion": true, + }) p.Language["python"] = rawMessage(map[string]interface{}{ + "respectSchemaVersion": true, "requires": map[string]string{ "pulumi": ">=3.0.0,<4.0.0", }, @@ -493,6 +497,7 @@ func GatherPackage(supportedResourceTypes []string, jsonSchemas []*jsschema.Sche } p.Language["csharp"] = rawMessage(map[string]interface{}{ + "respectSchemaVersion": true, "packageReferences": map[string]string{ "Pulumi": "3.*", }, From 753f14afc5576128b98435b732b59c22c9e3ed89 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Thu, 16 May 2024 09:06:40 +0100 Subject: [PATCH 2/3] Inject version during SDK generation - Upgrade pu/pu CLI to ensure we have the extra version argument available. --- .pulumi.version | 2 +- Makefile | 8 ++++---- sdk/dotnet/Pulumi.AwsNative.csproj | 1 + sdk/dotnet/pulumi-plugin.json | 3 ++- sdk/go/aws/internal/pulumiUtilities.go | 4 ++-- sdk/go/aws/pulumi-plugin.json | 3 ++- sdk/nodejs/package.json | 5 +++-- sdk/python/pulumi_aws_native/pulumi-plugin.json | 3 ++- sdk/python/pyproject.toml | 2 +- 9 files changed, 18 insertions(+), 13 deletions(-) diff --git a/.pulumi.version b/.pulumi.version index a23b9aae41..7d8d8285ee 100644 --- a/.pulumi.version +++ b/.pulumi.version @@ -1 +1 @@ -3.110.0 +3.116.1 diff --git a/Makefile b/Makefile index 217ef8e19e..6095a84bf7 100644 --- a/Makefile +++ b/Makefile @@ -80,7 +80,7 @@ generate_nodejs: .pulumi/bin/pulumi rm -rf sdk/nodejs mkdir sdk/nodejs echo "module fake_nodejs_module // Exclude this directory from Go tools\n\ngo 1.17" > 'sdk/nodejs/go.mod' - .pulumi/bin/pulumi package gen-sdk provider/cmd/pulumi-resource-aws-native/schema.json --language nodejs + .pulumi/bin/pulumi package gen-sdk provider/cmd/pulumi-resource-aws-native/schema.json --language nodejs --version "$(VERSION_GENERIC)" build_nodejs:: NODE_VERSION := $(shell pulumictl convert-version --language javascript -v "$(VERSION_GENERIC)") build_nodejs:: @@ -94,7 +94,7 @@ generate_python: .pulumi/bin/pulumi rm -rf sdk/python mkdir sdk/python echo "module fake_python_module // Exclude this directory from Go tools\n\ngo 1.17" > 'sdk/python/go.mod' - .pulumi/bin/pulumi package gen-sdk provider/cmd/pulumi-resource-aws-native/schema.json --language python + .pulumi/bin/pulumi package gen-sdk provider/cmd/pulumi-resource-aws-native/schema.json --language python --version "$(VERSION_GENERIC)" build_python:: PYPI_VERSION := $(shell pulumictl convert-version --language python -v "$(VERSION_GENERIC)") build_python:: @@ -114,7 +114,7 @@ generate_dotnet: .pulumi/bin/pulumi rm -rf sdk/dotnet mkdir sdk/dotnet echo "module fake_dotnet_module // Exclude this directory from Go tools\n\ngo 1.17" > 'sdk/dotnet/go.mod' - .pulumi/bin/pulumi package gen-sdk provider/cmd/pulumi-resource-aws-native/schema.json --language dotnet + .pulumi/bin/pulumi package gen-sdk provider/cmd/pulumi-resource-aws-native/schema.json --language dotnet --version "$(VERSION_GENERIC)" build_dotnet:: DOTNET_VERSION := $(shell pulumictl convert-version --language dotnet -v "$(VERSION_GENERIC)") build_dotnet:: @@ -135,7 +135,7 @@ build_java:: generate_go: .pulumi/bin/pulumi rm -rf sdk/go && mkdir sdk/go - .pulumi/bin/pulumi package gen-sdk provider/cmd/pulumi-resource-aws-native/schema.json --language go + .pulumi/bin/pulumi package gen-sdk provider/cmd/pulumi-resource-aws-native/schema.json --language go --version "$(VERSION_GENERIC)" build_go:: cd sdk/ && go build github.com/pulumi/pulumi-aws-native/sdk/go/aws/... diff --git a/sdk/dotnet/Pulumi.AwsNative.csproj b/sdk/dotnet/Pulumi.AwsNative.csproj index ec94053bf8..282d1bf979 100644 --- a/sdk/dotnet/Pulumi.AwsNative.csproj +++ b/sdk/dotnet/Pulumi.AwsNative.csproj @@ -9,6 +9,7 @@ https://pulumi.com https://github.com/pulumi/pulumi-aws-native logo.png + 1.0.0-alpha.0+dev net6.0 enable diff --git a/sdk/dotnet/pulumi-plugin.json b/sdk/dotnet/pulumi-plugin.json index c59a708822..32f9c5cfa1 100644 --- a/sdk/dotnet/pulumi-plugin.json +++ b/sdk/dotnet/pulumi-plugin.json @@ -1,4 +1,5 @@ { "resource": true, - "name": "aws-native" + "name": "aws-native", + "version": "1.0.0-alpha.0+dev" } diff --git a/sdk/go/aws/internal/pulumiUtilities.go b/sdk/go/aws/internal/pulumiUtilities.go index 85cfd5ef1a..92c95c2966 100644 --- a/sdk/go/aws/internal/pulumiUtilities.go +++ b/sdk/go/aws/internal/pulumiUtilities.go @@ -165,7 +165,7 @@ func callPlainInner( func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { defaults := []pulumi.ResourceOption{} - version := SdkVersion + version := semver.MustParse("1.0.0-alpha.0+dev") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } @@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { defaults := []pulumi.InvokeOption{} - version := SdkVersion + version := semver.MustParse("1.0.0-alpha.0+dev") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } diff --git a/sdk/go/aws/pulumi-plugin.json b/sdk/go/aws/pulumi-plugin.json index c59a708822..32f9c5cfa1 100644 --- a/sdk/go/aws/pulumi-plugin.json +++ b/sdk/go/aws/pulumi-plugin.json @@ -1,4 +1,5 @@ { "resource": true, - "name": "aws-native" + "name": "aws-native", + "version": "1.0.0-alpha.0+dev" } diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json index e333ea0055..e4ca9ff380 100644 --- a/sdk/nodejs/package.json +++ b/sdk/nodejs/package.json @@ -1,6 +1,6 @@ { "name": "@pulumi/aws-native", - "version": "${VERSION}", + "version": "1.0.0-alpha.0+dev", "keywords": [ "pulumi", "aws", @@ -23,6 +23,7 @@ }, "pulumi": { "resource": true, - "name": "aws-native" + "name": "aws-native", + "version": "1.0.0-alpha.0+dev" } } diff --git a/sdk/python/pulumi_aws_native/pulumi-plugin.json b/sdk/python/pulumi_aws_native/pulumi-plugin.json index c59a708822..32f9c5cfa1 100644 --- a/sdk/python/pulumi_aws_native/pulumi-plugin.json +++ b/sdk/python/pulumi_aws_native/pulumi-plugin.json @@ -1,4 +1,5 @@ { "resource": true, - "name": "aws-native" + "name": "aws-native", + "version": "1.0.0-alpha.0+dev" } diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml index bac3d4e132..1925900a2b 100644 --- a/sdk/python/pyproject.toml +++ b/sdk/python/pyproject.toml @@ -5,7 +5,7 @@ keywords = ["pulumi", "aws", "aws-native", "category/cloud", "kind/native"] readme = "README.md" requires-python = ">=3.8" - version = "0.0.0" + version = "1.0.0a0+dev" [project.license] text = "Apache-2.0" [project.urls] From 6627f74d09843e84028a4acac8c0606ca5800e1c Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Thu, 16 May 2024 11:41:28 +0100 Subject: [PATCH 3/3] Tidy makefile - Remove manual updating of the version number for python and nodejs now the version number is already set. - Fix dotnet so the version.txt has the provider version *not* the dotnet SDK version. - Remove unneeded shell wrapping in bin/pulumi-java-gen target which actually causes the download to happen while make is calculating the target rather than when it runs the target. --- Makefile | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 6095a84bf7..644448ba61 100644 --- a/Makefile +++ b/Makefile @@ -82,13 +82,11 @@ generate_nodejs: .pulumi/bin/pulumi echo "module fake_nodejs_module // Exclude this directory from Go tools\n\ngo 1.17" > 'sdk/nodejs/go.mod' .pulumi/bin/pulumi package gen-sdk provider/cmd/pulumi-resource-aws-native/schema.json --language nodejs --version "$(VERSION_GENERIC)" -build_nodejs:: NODE_VERSION := $(shell pulumictl convert-version --language javascript -v "$(VERSION_GENERIC)") build_nodejs:: cd ${PACKDIR}/nodejs/ && \ yarn install && \ yarn run build && \ - cp ../../README.md ../../LICENSE package.json yarn.lock ./bin/ && \ - sed -i.bak -e "s/\$${VERSION}/$(NODE_VERSION)/g" ./bin/package.json + cp ../../README.md ../../LICENSE package.json yarn.lock ./bin/ generate_python: .pulumi/bin/pulumi rm -rf sdk/python @@ -96,15 +94,12 @@ generate_python: .pulumi/bin/pulumi echo "module fake_python_module // Exclude this directory from Go tools\n\ngo 1.17" > 'sdk/python/go.mod' .pulumi/bin/pulumi package gen-sdk provider/cmd/pulumi-resource-aws-native/schema.json --language python --version "$(VERSION_GENERIC)" -build_python:: PYPI_VERSION := $(shell pulumictl convert-version --language python -v "$(VERSION_GENERIC)") build_python:: # Delete files not tracked in Git cd sdk/python/ && git clean -fxd cd sdk/python/ && \ cp ../../README.md . && \ rm -rf ./bin/ ../python.bin/ && cp -R . ../python.bin && mv ../python.bin ./bin && \ - sed -i.bak -e 's/^ version = .*/ version = "$(PYPI_VERSION)"/g' ./bin/pyproject.toml && \ - rm ./bin/pyproject.toml.bak && \ python3 -m venv venv && \ ./venv/bin/python -m pip install build && \ cd ./bin && \ @@ -116,11 +111,10 @@ generate_dotnet: .pulumi/bin/pulumi echo "module fake_dotnet_module // Exclude this directory from Go tools\n\ngo 1.17" > 'sdk/dotnet/go.mod' .pulumi/bin/pulumi package gen-sdk provider/cmd/pulumi-resource-aws-native/schema.json --language dotnet --version "$(VERSION_GENERIC)" -build_dotnet:: DOTNET_VERSION := $(shell pulumictl convert-version --language dotnet -v "$(VERSION_GENERIC)") build_dotnet:: cd ${PACKDIR}/dotnet/ && \ - echo "${PACK}\n${DOTNET_VERSION}" >version.txt && \ - dotnet build /p:Version=${DOTNET_VERSION} + echo "${PACK}\n${VERSION_GENERIC}" > version.txt && \ + dotnet build generate_java:: bin/pulumi-java-gen rm -rf sdk/java @@ -141,7 +135,7 @@ build_go:: cd sdk/ && go build github.com/pulumi/pulumi-aws-native/sdk/go/aws/... bin/pulumi-java-gen:: - $(shell pulumictl download-binary -n pulumi-language-java -v $(JAVA_GEN_VERSION) -r pulumi/pulumi-java) + pulumictl download-binary -n pulumi-language-java -v $(JAVA_GEN_VERSION) -r pulumi/pulumi-java clean:: rm -rf sdk/nodejs && mkdir sdk/nodejs && echo "module fake_nodejs_module // Exclude this directory from Go tools\n\ngo 1.17" > 'sdk/nodejs/go.mod'