diff --git a/changelog/pending/20221122--sdk-python--bumps-grpcio-to-1-50.yaml b/changelog/pending/20221122--sdk-python--bumps-grpcio-to-1-50.yaml new file mode 100644 index 000000000000..f72a61383654 --- /dev/null +++ b/changelog/pending/20221122--sdk-python--bumps-grpcio-to-1-50.yaml @@ -0,0 +1,4 @@ +changes: +- type: chore + scope: sdk/python + description: Bumps grpcio to 1.50 diff --git a/pkg/codegen/go/gen.go b/pkg/codegen/go/gen.go index 029f2ef7e03f..2b230857575e 100644 --- a/pkg/codegen/go/gen.go +++ b/pkg/codegen/go/gen.go @@ -40,6 +40,11 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/common/util/contract" ) +// A signifier that the module is external, and will never match. +// +// This token is always an invalid module since ':' is not allowed within modules. +const ExternalModuleSig = ":always-external:" + type typeDetails struct { // Note: if any of {ptr,array,map}Input are set, input and the corresponding output field must also be set. The // mark* functions ensure that these invariants hold. @@ -242,10 +247,7 @@ func (pkg *pkgContext) resolveEnumType(t *schema.EnumType) string { } extPkgCtx, _ := pkg.contextForExternalReference(t) - enumType := extPkgCtx.tokenToEnum(t.Token) - if !strings.Contains(enumType, ".") { - enumType = fmt.Sprintf("%s.%s", extPkgCtx.pkg.Name, enumType) - } + enumType := extPkgCtx.typeString(t) return enumType } @@ -730,6 +732,7 @@ func (pkg *pkgContext) contextForExternalReference(t schema.Type) (*pkgContext, extPkgCtx.pkgImportAliases = pkgImportAliases extPkgCtx.externalPackages = pkg.externalPackages mod := tokenToPackage(extPkg, goInfo.ModuleToPackage, token) + extPkgCtx.mod = ExternalModuleSig return extPkgCtx, *maps[mod].detailsForType(t) } diff --git a/pkg/codegen/go/gen_program_expressions.go b/pkg/codegen/go/gen_program_expressions.go index 7214004b5d9e..b651afb06d22 100644 --- a/pkg/codegen/go/gen_program_expressions.go +++ b/pkg/codegen/go/gen_program_expressions.go @@ -168,8 +168,10 @@ func (g *generator) genSafeEnum(w io.Writer, to *model.EnumType) func(member *sc } memberTag, err := makeSafeEnumName(memberTag, enumName) contract.AssertNoErrorf(err, "Enum is invalid") - namespace := tokenToModule(to.Token) - g.Fgenf(w, "%s.%s", namespace, memberTag) + pkg, mod, _, _ := pcl.DecomposeToken(to.Token, to.SyntaxNode().Range()) + mod = g.getModOrAlias(pkg, mod, mod) + + g.Fgenf(w, "%s.%s", mod, memberTag) } } diff --git a/pkg/codegen/testing/test/program_driver.go b/pkg/codegen/testing/test/program_driver.go index 23645bc96ed4..7e086de4f576 100644 --- a/pkg/codegen/testing/test/program_driver.go +++ b/pkg/codegen/testing/test/program_driver.go @@ -113,8 +113,6 @@ var PulumiPulumiProgramTests = []ProgramTest{ { Directory: "aws-webserver", Description: "AWS Webserver", - SkipCompile: codegen.NewStringSet("go"), - // Blocked on go: TODO[pulumi/pulumi#8070] }, { Directory: "simple-range", diff --git a/pkg/codegen/testing/test/testdata/aws-webserver-pp/go/aws-webserver.go b/pkg/codegen/testing/test/testdata/aws-webserver-pp/go/aws-webserver.go index 1e27a98c5987..863264cfe555 100644 --- a/pkg/codegen/testing/test/testdata/aws-webserver-pp/go/aws-webserver.go +++ b/pkg/codegen/testing/test/testdata/aws-webserver-pp/go/aws-webserver.go @@ -25,9 +25,9 @@ func main() { if err != nil { return err } - ami, err := aws.GetAmi(ctx, &GetAmiArgs{ - Filters: []GetAmiFilter{ - GetAmiFilter{ + ami, err := aws.GetAmi(ctx, &aws.GetAmiArgs{ + Filters: []aws.GetAmiFilter{ + aws.GetAmiFilter{ Name: "name", Values: []string{ "amzn-ami-hvm-*-x86_64-ebs", diff --git a/proto/.checksum.txt b/proto/.checksum.txt index 781af4a284bd..eef406394b55 100644 --- a/proto/.checksum.txt +++ b/proto/.checksum.txt @@ -1,4 +1,4 @@ -283055245 2069 proto/build-container/Dockerfile +3850377987 2069 proto/build-container/Dockerfile 3003861496 625 proto/build-container/scripts/install-go.sh 853251015 873 proto/build-container/scripts/install-node.sh 2003827277 549 proto/build-container/scripts/install-packages.sh diff --git a/proto/build-container/Dockerfile b/proto/build-container/Dockerfile index 512648c03f3d..80fcc66de82d 100644 --- a/proto/build-container/Dockerfile +++ b/proto/build-container/Dockerfile @@ -54,6 +54,6 @@ RUN PROTOC_VERSION=3.20.1 \ PROTOC_GEN_GO_VERSION=1.5.2 \ NODEJS_GRPC_VERSION=1.24.2 \ NODEJS_GRPC_TOOLS_VERSION=1.8.1 \ - PYTHON_GRPCIO_VERSION=1.49.1 \ - PYTHON_GRPCIO_TOOLS_VERSION=1.49.1 \ + PYTHON_GRPCIO_VERSION=1.50.0 \ + PYTHON_GRPCIO_TOOLS_VERSION=1.50.0 \ /build-scripts/install-protobuf-tools.sh \ No newline at end of file diff --git a/sdk/python/lib/setup.py b/sdk/python/lib/setup.py index b6addde69127..1eefaa8dc752 100644 --- a/sdk/python/lib/setup.py +++ b/sdk/python/lib/setup.py @@ -45,7 +45,7 @@ def readme(): # Keep this list in sync with Pipfile install_requires=[ 'protobuf~=4.21', - 'grpcio==1.47', + 'grpcio==1.50', 'dill~=0.3', 'six~=1.12', 'semver~=2.8', diff --git a/sdk/python/requirements.txt b/sdk/python/requirements.txt index 4f0f7a6452a9..220e281cddfe 100644 --- a/sdk/python/requirements.txt +++ b/sdk/python/requirements.txt @@ -1,7 +1,7 @@ # Packages needed by the library. # Keep this list in sync with setup.py. protobuf~=4.21 -grpcio==1.47 +grpcio==1.50 dill~=0.3 six~=1.12 semver~=2.8