This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@pulumi/pulumi](https://redirect.github.com/pulumi/pulumi) ([source](https://redirect.github.com/pulumi/pulumi/tree/HEAD/sdk/nodejs)) | dependencies | minor | [`3.144.1` -> `3.165.0`](https://renovatebot.com/diffs/npm/@pulumi%2fpulumi/3.144.1/3.165.0) | | [@pulumi/pulumi](https://redirect.github.com/pulumi/pulumi) ([source](https://redirect.github.com/pulumi/pulumi/tree/HEAD/sdk/nodejs)) | dependencies | minor | [`3.128.0` -> `3.165.0`](https://renovatebot.com/diffs/npm/@pulumi%2fpulumi/3.128.0/3.165.0) | | [github.com/pulumi/providertest](https://redirect.github.com/pulumi/providertest) | require | minor | `v0.1.3` -> `v0.3.1` | | [github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild](https://redirect.github.com/pulumi/pulumi-docker-build) | require | patch | `v0.0.8` -> `v0.0.11` | | [github.com/pulumi/pulumi-java/pkg](https://redirect.github.com/pulumi/pulumi-java) | require | minor | `v1.9.0` -> `v1.10.0` | | [github.com/pulumi/pulumi-yaml](https://redirect.github.com/pulumi/pulumi-yaml) | require | minor | `v1.15.1` -> `v1.17.0` | | [github.com/pulumi/pulumi/pkg/v3](https://redirect.github.com/pulumi/pulumi) | require | minor | `v3.163.0` -> `v3.165.0` | | [github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3](https://redirect.github.com/pulumi/pulumi) | require | minor | `v3.0.0-20250417154401-0ff190607702` -> `v3.165.0` | | [github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3](https://redirect.github.com/pulumi/pulumi) | require | minor | `v3.0.0-20250417154401-0ff190607702` -> `v3.165.0` | | [github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3](https://redirect.github.com/pulumi/pulumi) | require | minor | `v3.0.0-20250417154401-0ff190607702` -> `v3.165.0` | | [github.com/pulumi/pulumi/sdk/v3](https://redirect.github.com/pulumi/pulumi) | require | minor | `v3.163.0` -> `v3.165.0` | | [github.com/pulumi/pulumi/sdk/v3](https://redirect.github.com/pulumi/pulumi) | require | minor | `v3.153.1` -> `v3.165.0` | | [pulumi/esc-action](https://redirect.github.com/pulumi/esc-action) | action | minor | `v1.3.0` -> `v1.4.0` | --- ### Release Notes <details> <summary>pulumi/pulumi (@​pulumi/pulumi)</summary> ### [`v3.165.0`](https://redirect.github.com/pulumi/pulumi/releases/tag/v3.165.0) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.163.0...v3.165.0) ##### 3.165.0 (2025-04-25) ##### Features - \[cli] Add PULUMI_RUN_PROGRAM environment variable to globally set --run-program [#​19293](https://redirect.github.com/pulumi/pulumi/pull/19293) - \[auto/{go,nodejs,python}] Add --run-program to automation api for destroy and refresh [#​19218](https://redirect.github.com/pulumi/pulumi/pull/19218) - \[auto/nodejs] Add the ability to configure a remote executor image [#​19286](https://redirect.github.com/pulumi/pulumi/pull/19286) - \[programgen] Support provider resources in generatehcl2definition [#​19192](https://redirect.github.com/pulumi/pulumi/pull/19192) - \[sdk/dotnet] Update dotnet to v3.79.0 [#​19302](https://redirect.github.com/pulumi/pulumi/pull/19302) - \[cli/package] Change default registry source to private - \[sdk/nodejs] Add resourceName and resourceType to get the runtime name and type token for resources [#​18842](https://redirect.github.com/pulumi/pulumi/pull/18842) - \[sdk/nodejs] Add `--exclude` and `--exclude-dependents` to the NodeJS Automation API [#​19270](https://redirect.github.com/pulumi/pulumi/pull/19270) - \[sdk/python] Add bootstrap-less mode for Python component providers [#​19198](https://redirect.github.com/pulumi/pulumi/pull/19198) - \[sdk/python] Add pulumi.type_token decorator [#​19309](https://redirect.github.com/pulumi/pulumi/pull/19309) ##### Bug Fixes - \[engine] Fix ImportID being lost from state during update operations [#​19314](https://redirect.github.com/pulumi/pulumi/pull/19314) - \[pkg] Update Dependencies in the JSON schema [#​19282](https://redirect.github.com/pulumi/pulumi/pull/19282) - \[cli/import] Fix an error when importing a resource that already exists with the matching ID [#​19290](https://redirect.github.com/pulumi/pulumi/pull/19290) - \[cli/install] Handle local plugin paths with a version number [#​19254](https://redirect.github.com/pulumi/pulumi/pull/19254) - \[cli/package] Detect readme in subdir for package publishing [#​19298](https://redirect.github.com/pulumi/pulumi/pull/19298) - \[programgen] Fix generation of ImportID when building programs from state [#​19237](https://redirect.github.com/pulumi/pulumi/pull/19237) - \[sdk/go] Make log message for "Hiding logs" less visible [#​19261](https://redirect.github.com/pulumi/pulumi/pull/19261) - \[sdk/go] Improve output when plugin crashes [#​19305](https://redirect.github.com/pulumi/pulumi/pull/19305) - \[components/nodejs] Fix component construct when the there's a namespace in the `name` field in \`package.json [#​19242](https://redirect.github.com/pulumi/pulumi/pull/19242) - \[sdk/nodejs] Don't discard non-outputty component outputs [#​19228](https://redirect.github.com/pulumi/pulumi/pull/19228) - \[sdk/nodejs] Use PackageSpec.Dependencies for component provider dependencies [#​19236](https://redirect.github.com/pulumi/pulumi/pull/19236) ##### Miscellaneous - \[sdk/{nodejs,python}] Don’t install python/nodejs runtimes during make build [#​19250](https://redirect.github.com/pulumi/pulumi/pull/19250) ### [`v3.163.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31630-2025-04-16) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.162.0...v3.163.0) ##### Features - \[cli/display] Display \[unknown] rather than output<T> in diffs [#​19204](https://redirect.github.com/pulumi/pulumi/pull/19204) - \[programgen] Add import to HCL2 serialization as well as other missing functions [#​19163](https://redirect.github.com/pulumi/pulumi/pull/19163) - \[programgen/{dotnet,go,nodejs,python}] Utilize resource option import in codegen for go, nodejs, python, dotnet [#​19177](https://redirect.github.com/pulumi/pulumi/pull/19177) - \[cli/package] Save package source to `packages` in Pulumi.yaml on `package add` [#​19157](https://redirect.github.com/pulumi/pulumi/pull/19157) - \[sdk/python] Add static pulumi_type property to resource classes [#​19221](https://redirect.github.com/pulumi/pulumi/pull/19221) ##### Bug Fixes - \[cli/new] Don't require to be logged in to retrieve templates [#​19196](https://redirect.github.com/pulumi/pulumi/pull/19196) - \[engine] Fix ReplaceOnChanges being respected during deleteBeforeReplace checks [#​19188](https://redirect.github.com/pulumi/pulumi/pull/19188) - \[programgen/go] Fix handling of build metadata in provider versions [#​19149](https://redirect.github.com/pulumi/pulumi/pull/19149) - \[sdk/python] Support optional types using 3.10 union syntax [#​19207](https://redirect.github.com/pulumi/pulumi/pull/19207) ##### Miscellaneous - \[sdk/nodejs] Target ES2020 instead of ES2016 [#​19191](https://redirect.github.com/pulumi/pulumi/pull/19191) ### [`v3.162.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31620-2025-04-09) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.161.0...v3.162.0) ##### Bug Fixes - \[sdk/nodejs] Add back the @​pulumi/pulumi/queryable module used by [@​pulumi/policy](https://redirect.github.com/pulumi/policy) [#​19172](https://redirect.github.com/pulumi/pulumi/pull/19172) ### [`v3.161.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31610-2025-04-09) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.160.0...v3.161.0) ##### Features - \[yaml] Upgrade yaml to 1.16.0 [#​19148](https://redirect.github.com/pulumi/pulumi/pull/19148) [#​19143](https://redirect.github.com/pulumi/pulumi/pull/19143) - \[sdk/dotnet] Upgrade dotnet to v3.78.0 [#​19148](https://redirect.github.com/pulumi/pulumi/pull/19148) - \[sdk/go] Add `property.Path` and associated functions. [#​17500](https://redirect.github.com/pulumi/pulumi/pull/17500) - \[sdk/go] Make `property.Value` immutable [#​17500](https://redirect.github.com/pulumi/pulumi/pull/17500) - \[sdk/java] Upgrade Java to 1.9.0 [#​19148](https://redirect.github.com/pulumi/pulumi/pull/19148) - \[sdk/python] Add enum support for Python component schema inference [#​19072](https://redirect.github.com/pulumi/pulumi/pull/19072) ##### Bug Fixes - \[cli/new] Avoid creating a main.py file when chosing the uv toolchain [#​19154](https://redirect.github.com/pulumi/pulumi/pull/19154) - \[cli/package] Fix schema versioning when explicit package version is given - \[components/nodejs] Fix schema inference for optional boolean properties [#​19133](https://redirect.github.com/pulumi/pulumi/pull/19133) - \[cli/plugin] Fix slowness of workspace.DetectProjectFromPath affecting pulumi convert timings [#​19082](https://redirect.github.com/pulumi/pulumi/pull/19082) - \[sdk/python] Serialize component description to the JSON schema [#​19093](https://redirect.github.com/pulumi/pulumi/pull/19093) - \[sdk/python] Return an InputPropertyError for invalid enum values [#​19116](https://redirect.github.com/pulumi/pulumi/pull/19116) - \[sdk/python] Properties used in component outputs are never plain [#​19135](https://redirect.github.com/pulumi/pulumi/pull/19135) ##### Miscellaneous - \[protobuf] Remove StreamInvoke from the Provider service [#​19129](https://redirect.github.com/pulumi/pulumi/pull/19129) ### [`v3.160.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31600-2025-04-01) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.159.0...v3.160.0) ##### Features - \[cli] Add `--run-program` support to `pulumi destroy` [#​19044](https://redirect.github.com/pulumi/pulumi/pull/19044) - \[cli] Improve the usability and expressiveness of the pulumi watch command. [#​19083](https://redirect.github.com/pulumi/pulumi/pull/19083) - \[programgen/go] Generated Go programs now target Go 1.23 [#​19026](https://redirect.github.com/pulumi/pulumi/pull/19026) ##### Bug Fixes - \[sdk/nodejs] Fix names in type references in components [#​19066](https://redirect.github.com/pulumi/pulumi/pull/19066) - \[sdk/nodejs] Fix SDK generation for components that use resource references and are namespaced ##### Miscellaneous - \[cli] Update pulumi-language-dotnet to 3.77.0 [#​19053](https://redirect.github.com/pulumi/pulumi/pull/19053) - \[cli] Update moby/moby to 26.1.5 [#​19081](https://redirect.github.com/pulumi/pulumi/pull/19081) - \[cli/package] Update `package add` command format string to show that file paths to packages can also be used [#​19003](https://redirect.github.com/pulumi/pulumi/pull/19003) ### [`v3.159.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31590-2025-03-27) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.158.0...v3.159.0) ##### Features - \[auto/nodejs] Add the `--preview-only` option for `destroy` in the NodeJS Automation API [#​19030](https://redirect.github.com/pulumi/pulumi/pull/19030) - \[auto/python] Add `--preview-only` option for `destroy` in the Python Automation API [#​19028](https://redirect.github.com/pulumi/pulumi/pull/19028) - \[cli/new] Allow `pulumi new` to use templates defined in the Pulumi Cloud [#​18627](https://redirect.github.com/pulumi/pulumi/pull/18627) - \[components/nodejs] Construct components based on explicit component classes [#​18996](https://redirect.github.com/pulumi/pulumi/pull/18996) - \[cli/package] Support GITHUB_TOKEN and GITLAB_TOKEN in `pulumi package add` for Git packages [#​18991](https://redirect.github.com/pulumi/pulumi/pull/18991) - \[cli/package] Stop allowing overriding namespace in PulumiPlugin.yaml, start inferring it for Git plugins [#​19016](https://redirect.github.com/pulumi/pulumi/pull/19016) - \[programgen/nodejs] Add canOutput code generation and conformance tests [#​18897](https://redirect.github.com/pulumi/pulumi/pull/18897) - \[sdk/nodejs] Allow namespace for components to be set in PulumiPlugin.yaml [#​18982](https://redirect.github.com/pulumi/pulumi/pull/18982) - \[sdk/nodejs] Run componentProviderHost automatically in RunPlugin if any Components are exported [#​18984](https://redirect.github.com/pulumi/pulumi/pull/18984) - \[sdk/python] Avoid error messages due to missing a missing implementation of `GetRequiredPackages` in the Python Automation API server [#​19020](https://redirect.github.com/pulumi/pulumi/pull/19020) - \[sdk/python] Pass list of components to component_provider_host [#​19021](https://redirect.github.com/pulumi/pulumi/pull/19021) ##### Bug Fixes - \[programgen] Fix plugin resolution in convert [#​19040](https://redirect.github.com/pulumi/pulumi/pull/19040) - \[programgen/nodejs] Fix references to variables that were renamed due to keyword overlap etc in resource attributes [#​19041](https://redirect.github.com/pulumi/pulumi/pull/19041) - \[cli/package] Use correct local path for Git based components with a version tag [#​19023](https://redirect.github.com/pulumi/pulumi/pull/19023) - \[sdk/python] Set name and namespace via component_provider_host [#​18985](https://redirect.github.com/pulumi/pulumi/pull/18985) ##### Miscellaneous - \[cli] Update language plugins to java@1.8.0 and yaml@1.15.1 ### [`v3.158.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31580-2025-03-24) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.157.0...v3.158.0) ##### Features - \[sdkgen] Aliases in provider schemas can now be set with just an array of strings for the aliased types [#​18925](https://redirect.github.com/pulumi/pulumi/pull/18925) - \[cli/engine] Allow targets to be excluded with the `--exclude` flag. `--exclude-dependents` can also be used to exclude all children of an excluded target as well [#​18828](https://redirect.github.com/pulumi/pulumi/pull/18828) - \[sdk/{go,python}] Add pulumiResourceName and pulumiResourceType to get the runtime name and type token for resources [#​18959](https://redirect.github.com/pulumi/pulumi/pull/18959) - \[cli/{install,package}] Install package SDKs on `pulumi install` [#​18940](https://redirect.github.com/pulumi/pulumi/pull/18940) - \[programgen/nodejs] Add tryOutput generation to nodejs [#​18852](https://redirect.github.com/pulumi/pulumi/pull/18852) - \[sdk/{nodejs,python}] Report an error when no components are found [#​18988](https://redirect.github.com/pulumi/pulumi/pull/18988) - \[cli/package] Add experimental package publishing command [#​18818](https://redirect.github.com/pulumi/pulumi/pull/18818) - \[cli/package] Allow overriding name and namespace of plugins in PulumiPlugin.yaml [#​18990](https://redirect.github.com/pulumi/pulumi/pull/18990) - \[sdk/yaml] Upgrade pulumi-yaml to 1.15.0 [#​19002](https://redirect.github.com/pulumi/pulumi/pull/19002) ##### Bug Fixes - \[cli/display] Don't print "same" outputs in `--refresh` [#​18943](https://redirect.github.com/pulumi/pulumi/pull/18943) - \[engine sdk/go] Allow retain on delete to be overridden back to false by child resources that inherit it [#​18956](https://redirect.github.com/pulumi/pulumi/pull/18956) - \[cli/{install,package}] Avoid duplicate packages in requirements.txt [#​18972](https://redirect.github.com/pulumi/pulumi/pull/18972) - \[cli/state] State rename no longer overly strictly validates resources names [#​18938](https://redirect.github.com/pulumi/pulumi/pull/18938) - \[pkg] The `refresh` command now respects `TargetDependents` [#​18905](https://redirect.github.com/pulumi/pulumi/pull/18905) - \[sdk/python] Report better error messages for various error cases [#​18983](https://redirect.github.com/pulumi/pulumi/pull/18983) - \[sdk/python] Remove the dev dependency on `pytest-watch` [#​19008](https://redirect.github.com/pulumi/pulumi/pull/19008) ### [`v3.157.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31570-2025-03-18) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.156.0...v3.157.0) ##### Features - \[engine] Allow protect to be overridden back to false by child resources that inherit it - \[engine] Add an envvar PULUMI_PARALLEL_DIFF to run diff calculations in parallel [#​18872](https://redirect.github.com/pulumi/pulumi/pull/18872) - \[yaml] Introduce the packages section in Pulumi.yaml [#​18917](https://redirect.github.com/pulumi/pulumi/pull/18917) - \[sdk/go] Add a Parent option to AnalyzerResourceOptions [#​18927](https://redirect.github.com/pulumi/pulumi/pull/18927) - \[sdk/nodejs] Add support for resource referenced in component provider [#​18885](https://redirect.github.com/pulumi/pulumi/pull/18885) - \[sdkgen/nodejs] Change Node.js code generation to use [@​types/node](https://redirect.github.com/types/node) of version 18 instead of 14 [#​18922](https://redirect.github.com/pulumi/pulumi/pull/18922) - \[cli/package] Disambiguate packages with a different namespace than "pulumi" [#​18418](https://redirect.github.com/pulumi/pulumi/pull/18418) - \[cli] Add parallel stack fetching for DIY backends (AWS S3, Azure Blob, GCP Storage) to improve performance when selecting stacks. Configure with PULUMI_DIY_BACKEND_PARALLEL environment variable. [#​18909](https://redirect.github.com/pulumi/pulumi/pull/18909) ##### Bug Fixes - \[cli/package] Fix explicitly named package names in NodeJS [#​18933](https://redirect.github.com/pulumi/pulumi/pull/18933) - \[sdkgen/dotnet] Support parameterization in generated remote component resources for .NET [#​18699](https://redirect.github.com/pulumi/pulumi/pull/18699) ##### Miscellaneous - \[cli] Remove `query` command [#​18891](https://redirect.github.com/pulumi/pulumi/pull/18891) ### [`v3.156.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31560-2025-03-13) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.155.0...v3.156.0) ##### Bug Fixes - \[sdk/go] Fix overriding protect in child resources - \[sdk/python] Fix mapping input names in Construct recursively in component providers [#​18864](https://redirect.github.com/pulumi/pulumi/pull/18864) ### [`v3.155.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31550-2025-03-12) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.154.0...v3.155.0) ##### Features - \[engine] Add batch encryption for snapshot serialization to increase performance working with many secrets [#​18743](https://redirect.github.com/pulumi/pulumi/pull/18743) - \[sdk/dotnet] Upgrade pulumi dotnet to 3.76.1 [#​18853](https://redirect.github.com/pulumi/pulumi/pull/18853) ##### Bug Fixes - \[cli/display] Fix a timestamp inconsistency between the JSON display and the engine event log [#​18838](https://redirect.github.com/pulumi/pulumi/pull/18838) - \[engine] Engine will respect cgroup limits for --parallel [#​18815](https://redirect.github.com/pulumi/pulumi/pull/18815) - \[engine] Return an error on malformed provider references rather than ignoring them [#​18854](https://redirect.github.com/pulumi/pulumi/pull/18854) ##### Miscellaneous - \[ci] Run CI with Go 1.23 and 1.24 [#​18841](https://redirect.github.com/pulumi/pulumi/pull/18841) ### [`v3.154.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31540-2025-03-07) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.153.1...v3.154.0) ##### Features - \[cli] Set the --parallel flag with PULUMI_PARALLEL environment variable [#​18782](https://redirect.github.com/pulumi/pulumi/pull/18782) - \[engine] Pass URN and ID to providers Configure method [#​18807](https://redirect.github.com/pulumi/pulumi/pull/18807) - \[yaml] Upgrade pulumi-yaml to 1.14.1 [#​18819](https://redirect.github.com/pulumi/pulumi/pull/18819) - \[cli/{config,state}] Support a PULUMI_STACK environment variable for selecting your stack [#​18717](https://redirect.github.com/pulumi/pulumi/pull/18717) - \[auto/go] Add the ability to rename the given stack to the Go Automation API [#​18723](https://redirect.github.com/pulumi/pulumi/pull/18723) - \[auto/go] Automation API for Go now permits setting --diff flag on refresh [#​18792](https://redirect.github.com/pulumi/pulumi/pull/18792) - \[cli/install] Correctly marshal PluginSpec in GetRequiredPackages, so pulumi install can install git plugins [#​18786](https://redirect.github.com/pulumi/pulumi/pull/18786) - \[auto/nodejs] Add `stack rename` to the NodeJS Automation API [#​18696](https://redirect.github.com/pulumi/pulumi/pull/18696) - \[auto/python] Add the ability to rename the given stack to the Python Automation API [#​18712](https://redirect.github.com/pulumi/pulumi/pull/18712) - \[sdk/python] Log a warning when trying to convert outputs to strings now logs a warning [#​18790](https://redirect.github.com/pulumi/pulumi/pull/18790) ##### Bug Fixes - \[cli] Stack selections will now always be saved as if `stack select` had been used [#​14519](https://redirect.github.com/pulumi/pulumi/pull/14519) - \[cli/plugin] Fix plugin "exited prematurely" false positives [#​18793](https://redirect.github.com/pulumi/pulumi/pull/18793) ### [`v3.153.1`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31531-2025-02-28) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.153.0...v3.153.1) ##### Bug Fixes - \[programgen] Fix concurrent map write panics in the caching mapper [#​18746](https://redirect.github.com/pulumi/pulumi/pull/18746) - \[sdk/python] Fix `get_organization` returning `None` from older SDKs [#​18769](https://redirect.github.com/pulumi/pulumi/pull/18769) ### [`v3.153.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31530-2025-02-27) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.152.0...v3.153.0) ##### Features - \[sdkgen/dotnet] Update pulumi-dotnet to v3.75.2 - \[auto/python] Add `--preview-only` to the `refresh` command in the Python Automation API [#​18674](https://redirect.github.com/pulumi/pulumi/pull/18674) - \[sdk/{dotnet,go,java,nodejs,python,yaml}] Add the ability to lookup project root from sdks, equivalent to path.root in Terraform [#​18595](https://redirect.github.com/pulumi/pulumi/pull/18595) ##### Bug Fixes - \[cli] Make policy rm and stack rm non-interactive when requested [#​18708](https://redirect.github.com/pulumi/pulumi/pull/18708) - \[engine] Fix a panic when importing a stack reference [#​18704](https://redirect.github.com/pulumi/pulumi/pull/18704) - \[cli/new] Report all errors from git clone for multiple refs. [#​18702](https://redirect.github.com/pulumi/pulumi/pull/18702) - \[cli/package] Correctly deal with subdirs in package add when no version number is specified [#​18605](https://redirect.github.com/pulumi/pulumi/pull/18605) - \[cli/package] Improve disambiguation for package loading when a name is passed in [#​18709](https://redirect.github.com/pulumi/pulumi/pull/18709) - \[programgen/dotnet] Fix generating SDKs for .NET projects when using pulumi convert [#​18510](https://redirect.github.com/pulumi/pulumi/pull/18510) - \[sdkgen/dotnet] Revert provider SDKs to target net6 [#​18729](https://redirect.github.com/pulumi/pulumi/pull/18729) - \[sdk/{go,nodejs,python}] Exclude resource references from property dependencies for packaged components [#​18620](https://redirect.github.com/pulumi/pulumi/pull/18620) - \[sdk/nodejs] Fix incorrect dependencies due to missing await [#​17629](https://redirect.github.com/pulumi/pulumi/pull/17629) - \[sdk/nodejs] Fix searching for pulumi packages past junction points on Windows [#​18715](https://redirect.github.com/pulumi/pulumi/pull/18715) ##### Miscellaneous - \[sdk/python] Fix merge method typing for ResourceOptions and Invoke\*Options [#​18061](https://redirect.github.com/pulumi/pulumi/pull/18061) ### [`v3.152.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31520-2025-02-21) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.151.0...v3.152.0) ##### Bug Fixes - \[auto] Fix `up` with nested secret in config file [#​18676](https://redirect.github.com/pulumi/pulumi/pull/18676) - \[cli] Fix mapping in the presence of hardcoded entries [#​18680](https://redirect.github.com/pulumi/pulumi/pull/18680) ### [`v3.151.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31510-2025-02-21) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.150.0...v3.151.0) ##### Features - \[engine] Changes to source position metadata will be batched in the snapshot system [#​18579](https://redirect.github.com/pulumi/pulumi/pull/18579) - \[cli/display] Add --show-secrets args to pulumi up and pulumi preview, showing secrets in the CLI output. Fixing [#​9830](https://redirect.github.com/pulumi/pulumi/issues/9830) [#​18503](https://redirect.github.com/pulumi/pulumi/pull/18503) - \[auto/go] Include stderr when InstallPulumiCommand fails [#​18549](https://redirect.github.com/pulumi/pulumi/pull/18549) - \[auto/nodejs] Add the `--preview-only` flag to the `refresh` command in the NodeJS Automation API [#​18662](https://redirect.github.com/pulumi/pulumi/pull/18662) - \[auto/nodejs] Support `--clear-pending-creates` for the `refresh` command in the NodeJS automation API [#​18653](https://redirect.github.com/pulumi/pulumi/pull/18653) - \[cli/package] Support parameterizing providers when calling `get-mapping` - \[auto/python] Add `--clear-pending-creates` to the `refresh` command in the Python Automation API [#​18658](https://redirect.github.com/pulumi/pulumi/pull/18658) - \[backend/service] Don't send "gitHub:owner" and "gitHub:repo" tags to the service. [#​18489](https://redirect.github.com/pulumi/pulumi/pull/18489) - \[backend/service] Add bulk encrypte service types [#​18588](https://redirect.github.com/pulumi/pulumi/pull/18588) - \[programgen] Add conformance test for dynamic lists and returns [#​18424](https://redirect.github.com/pulumi/pulumi/pull/18424) - \[programgen] Implement a first version of `try` in PCL [#​18454](https://redirect.github.com/pulumi/pulumi/pull/18454) - \[programgen] Implement a version of can in PCL [#​18571](https://redirect.github.com/pulumi/pulumi/pull/18571) - \[programgen] Support parameterized mapping from source ecosystems (e.g. Terraform) to Pulumi when converting programs - \[sdk/nodejs] \[Experimental/Components] Add infrastructure for component discovery and schema inference [#​18580](https://redirect.github.com/pulumi/pulumi/pull/18580) - \[sdk/nodejs] \[Experimental/Components] Infer simple inputs/outputs and optionality [#​18590](https://redirect.github.com/pulumi/pulumi/pull/18590) - \[sdk/nodejs] \[Experimental/Components] Instantiate components [#​18583](https://redirect.github.com/pulumi/pulumi/pull/18583) - \[sdk/nodejs] \[Experimental/Components]: Handle ComplexType [#​18602](https://redirect.github.com/pulumi/pulumi/pull/18602) - \[sdk/nodejs] \[Experimental/Components] Hook up inputs & outputs in the provider [#​18600](https://redirect.github.com/pulumi/pulumi/pull/18600) - \[sdk/nodejs] \[Experimental/Components] Infer input types [#​18597](https://redirect.github.com/pulumi/pulumi/pull/18597) - \[sdk/python] \[Experimental/Components] Handle Assets and Archives [#​18513](https://redirect.github.com/pulumi/pulumi/pull/18513) - \[sdk/python] \[Experimental/Components]: Infer type and property descriptions [#​18540](https://redirect.github.com/pulumi/pulumi/pull/18540) ##### Bug Fixes - \[cli] Fix nesting directories when generating multiple sdks [#​18332](https://redirect.github.com/pulumi/pulumi/pull/18332) - \[cli] Fix a panic in `help new` when local templates weren't present [#​18661](https://redirect.github.com/pulumi/pulumi/pull/18661) - \[engine] Send parent URN to resource transforms [#​18642](https://redirect.github.com/pulumi/pulumi/pull/18642) - \[engine] The engine will now call DiffConfig on explict providers to decide replace semantics, this matches the behaviour for default providers [#​18509](https://redirect.github.com/pulumi/pulumi/pull/18509) - \[engine] Don't overwrite schema versions if they exist [#​18672](https://redirect.github.com/pulumi/pulumi/pull/18672) - \[pkg] Do not cache schema if we never read it back [#​18618](https://redirect.github.com/pulumi/pulumi/pull/18618) - \[cli/config] Fix reading YAML config with uint64 sized numbers [#​18582](https://redirect.github.com/pulumi/pulumi/pull/18582) - \[sdk/nodejs] Improve type inference for `output` and `Unwrap` when used on tuples [#​18652](https://redirect.github.com/pulumi/pulumi/pull/18652) - \[cli/package] Avoid panic'ing when the project file is invalid [#​18537](https://redirect.github.com/pulumi/pulumi/pull/18537) - \[sdk/python] \[Experimental/Components] Detect more map and array types [#​18546](https://redirect.github.com/pulumi/pulumi/pull/18546) - \[sdk/python] \[Experimental/Components] Return Python stack trace on error [#​18558](https://redirect.github.com/pulumi/pulumi/pull/18558) - \[sdk/python] Fix source position information to point to user code, not provider SDKs [#​18575](https://redirect.github.com/pulumi/pulumi/pull/18575) ##### Miscellaneous - \[sdk/dotnet] Update dotnet to 8.0 LTS [#​18619](https://redirect.github.com/pulumi/pulumi/pull/18619) ### [`v3.150.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31500-2025-02-11) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.149.0...v3.150.0) ##### Features - \[cli/state] Add `--all` to `state delete` [#​18502](https://redirect.github.com/pulumi/pulumi/pull/18502) - \[sdk/python] \[Experimental/Components] Check for required inputs [#​18487](https://redirect.github.com/pulumi/pulumi/pull/18487) - \[sdk/python] \[Experimental/Components] Infer plain types [#​18483](https://redirect.github.com/pulumi/pulumi/pull/18483) ##### Bug Fixes - \[engine] Fix a potential panic for corrupted secret values [#​18501](https://redirect.github.com/pulumi/pulumi/pull/18501) - \[engine] Apply autonaming strategy only to custom resources, not components [#​18523](https://redirect.github.com/pulumi/pulumi/pull/18523) - \[sdk/python] \[Experimental/Components] Throw an error when encountring resource references [#​18485](https://redirect.github.com/pulumi/pulumi/pull/18485) ##### Miscellaneous - \[pkg] Change BulkDecrypt to return list instead of map [#​18486](https://redirect.github.com/pulumi/pulumi/pull/18486) ### [`v3.149.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31490-2025-02-07) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.148.0...v3.149.0) ##### Features - \[cli] Update `pulumi-java` to 1.2.0 - \[cli/display] Always print resource summaries in preview, even after errors [#​18465](https://redirect.github.com/pulumi/pulumi/pull/18465) - \[cli/plugin] Improve the warning when using plugins from PATH [#​18476](https://redirect.github.com/pulumi/pulumi/pull/18476) - \[engine] Deployments continue past delete errors due to protect [#​18396](https://redirect.github.com/pulumi/pulumi/pull/18396) - \[sdk/python] \[Experimental/Components] Add infrastructure to bootstrap providers from component resources [#​18403](https://redirect.github.com/pulumi/pulumi/pull/18403) [#​18401](https://redirect.github.com/pulumi/pulumi/pull/18401) - \[sdk/python] \[Experimental/Components] Analyze ComponentResource properties [#​18403](https://redirect.github.com/pulumi/pulumi/pull/18403) - \[sdk/python] \[Experimental/Components] Infer ComplexTypes for ComponentResources [#​18405](https://redirect.github.com/pulumi/pulumi/pull/18405) - \[sdk/python] \[Experimental/Components] Handle complex types in inputs and outputs [#​18419](https://redirect.github.com/pulumi/pulumi/pull/18419) - \[sdk/python] \[Experimental/Components] Support array types in component schema inference [#​18469](https://redirect.github.com/pulumi/pulumi/pull/18469) - \[sdk/python] \[Experimental/Components] Support dict types in component schema inference [#​18472](https://redirect.github.com/pulumi/pulumi/pull/18472) ##### Bug Fixes - \[engine] Filter \__internal keys when calling providers DiffConfig [#​18440](https://redirect.github.com/pulumi/pulumi/pull/18440) - \[engine] The engine will correctly use old state for provider config with no reported differences [#​18411](https://redirect.github.com/pulumi/pulumi/pull/18411) - \[cli/config] Fix setting indexed top-level config keys [#​18444](https://redirect.github.com/pulumi/pulumi/pull/18444) - \[cli/import] Fix the declaration of parameterized providers in import JSON files [#​18450](https://redirect.github.com/pulumi/pulumi/pull/18450) - \[sdk/go] Provide a better error message when a Go program can't be run [#​18383](https://redirect.github.com/pulumi/pulumi/pull/18383) - \[cli/package] Allow https:// prefixes for Git repository URLs [#​18380](https://redirect.github.com/pulumi/pulumi/pull/18380) - \[cli/package] Fix package add and code generation when package name contains dashes in Go [#​18457](https://redirect.github.com/pulumi/pulumi/pull/18457) - \[sdk/python] \[Experimental/Components] Handle inputs and outputs [#​18408](https://redirect.github.com/pulumi/pulumi/pull/18408) ### [`v3.148.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31480-2025-01-31) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.147.0...v3.148.0) ##### Features - \[cli/config] Introduce `--type` flag for `config set` [#​18287](https://redirect.github.com/pulumi/pulumi/pull/18287) - \[cli/new] Improve docs for disambiguating repositories on hosts where the URL is ambiguous [#​18379](https://redirect.github.com/pulumi/pulumi/pull/18379) - \[cli/package] Automatically get latest version for git based plugins if none is specified [#​18215](https://redirect.github.com/pulumi/pulumi/pull/18215) - \[cli/package] Allow plugins from git sources to live in subdirectories in the repository [#​18322](https://redirect.github.com/pulumi/pulumi/pull/18322) - \[sdk/python] Support commits in prerelease versions of generated Python SDKs [#​18289](https://redirect.github.com/pulumi/pulumi/pull/18289) ##### Bug Fixes - \[cli/config] Fix parsing of config keys with paths and colons in path segments [#​18378](https://redirect.github.com/pulumi/pulumi/pull/18378) - \[engine] Fix some plugin context leaks, which could leave plugin processes running on exit [#​18373](https://redirect.github.com/pulumi/pulumi/pull/18373) - \[cli/package] Respect virtualenv option in package add/link [#​18319](https://redirect.github.com/pulumi/pulumi/pull/18319) - \[programgen/nodejs] Handle keyword overlap of "this" keyword for local variables [#​18177](https://redirect.github.com/pulumi/pulumi/pull/18177) - \[sdk/nodejs] Fix debug strings triggering the Output toString error [#​18016](https://redirect.github.com/pulumi/pulumi/pull/18016) - \[sdk/nodejs] Use the corepack executable from dev dependencies [#​18393](https://redirect.github.com/pulumi/pulumi/pull/18393) - \[sdk/python] Allow Pip 25 [#​18343](https://redirect.github.com/pulumi/pulumi/pull/18343) - \[sdk/python] Make RunPlugin default to using a virtualenv [#​18371](https://redirect.github.com/pulumi/pulumi/pull/18371) ##### Miscellaneous - \[sdk/{dotnet,java}] Update Java to 1.1.0 and Dotnet to 3.72.0 [#​18394](https://redirect.github.com/pulumi/pulumi/pull/18394) - \[sdkgen] Align pulumi.json and schema.go [#​18334](https://redirect.github.com/pulumi/pulumi/pull/18334) ### [`v3.147.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31470-2025-01-21) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.146.0...v3.147.0) ##### Features - \[cli] Update go.mod to require go1.22 [#​18274](https://redirect.github.com/pulumi/pulumi/pull/18274) - \[cli/config] Improve documentation for pulumi config set [#​18285](https://redirect.github.com/pulumi/pulumi/pull/18285) - \[cli/package] Allow short hashes as versions in package add [#​18277](https://redirect.github.com/pulumi/pulumi/pull/18277) - \[cli/{package,plugin}] Support getting plugins from remote git sources [#​17827](https://redirect.github.com/pulumi/pulumi/pull/17827) ##### Bug Fixes - \[engine] Skip acquiring program packages during refresh when running inline automation programs [#​18283](https://redirect.github.com/pulumi/pulumi/pull/18283) - \[sdk/nodejs] Avoid unnecessary Node.js installations [#​18293](https://redirect.github.com/pulumi/pulumi/pull/18293) - \[sdk/{nodejs,python}] Fix handling of DependencyResource when checking invoke deps [#​18275](https://redirect.github.com/pulumi/pulumi/pull/18275) - \[sdk/{nodejs,python}] Permit output arguments in plain invokes for backwards compatibility [#​18304](https://redirect.github.com/pulumi/pulumi/pull/18304) ##### Miscellaneous - \[sdk/python] Manage the publish dependencies in pyproject.toml [#​18261](https://redirect.github.com/pulumi/pulumi/pull/18261) ### [`v3.146.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31460-2025-01-15) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.145.0...v3.146.0) ##### Features - \[cli] Allow specifying a version with `pulumi convert --from=<plugin>@​<version>` [#​18220](https://redirect.github.com/pulumi/pulumi/pull/18220) - \[cli] Enable Autonaming Configuration in non-experimental mode [#​18228](https://redirect.github.com/pulumi/pulumi/pull/18228) - \[cli] Retrieve Git metadata from the environment if not running in a repository [#​12871](https://redirect.github.com/pulumi/pulumi/pull/12871) - \[pkg] Add a `call` intrinsic to PCL [#​18206](https://redirect.github.com/pulumi/pulumi/pull/18206) - \[auto/go] Add `Color` option to `optdestroy`, `optpreview`, `optrefresh`, and `optup` packages to allow explicit configuration of output color. [#​18184](https://redirect.github.com/pulumi/pulumi/pull/18184) - \[cli/import] Add support for parameterized packages to `pulumi import` [#​18038](https://redirect.github.com/pulumi/pulumi/pull/18038) - \[cli/import] Import can now import resources from parameterized providers [#​18039](https://redirect.github.com/pulumi/pulumi/pull/18039) - \[cli/new] Add support for Copilot templates [#​16825](https://redirect.github.com/pulumi/pulumi/pull/16825) ##### Bug Fixes - \[auto/go] Fix rejection of `nil` inline programs in the Go automation API [#​18214](https://redirect.github.com/pulumi/pulumi/pull/18214) - \[sdk/go] Improve error messages for wrong stack output types [#​18245](https://redirect.github.com/pulumi/pulumi/pull/18245) - \[sdk/{nodejs,python}] Wait for resource in the input property dependencies [#​18204](https://redirect.github.com/pulumi/pulumi/pull/18204) - \[cli/plugin] Show plugin kind in plugin rm correctly. Also show the usage string if the plugin type is incorrect [#​18179](https://redirect.github.com/pulumi/pulumi/pull/18179) - \[cli/plugin] Passthrough unstructured logs from dynamic providers [#​18253](https://redirect.github.com/pulumi/pulumi/pull/18253) - \[sdk/python] Fix callbackserver shutdown [#​18190](https://redirect.github.com/pulumi/pulumi/pull/18190) ### [`v3.145.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31450-2025-01-07) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.144.1...v3.145.0) ##### Features - \[auto/go] Support --clear-pending-creates for refresh command in Go Automation API for preview refresh and refresh operations. [#​18101](https://redirect.github.com/pulumi/pulumi/pull/18101) - \[programgen/{java,sdkgen/java}] Only use gRPC to communicate with the Java host [#​18138](https://redirect.github.com/pulumi/pulumi/pull/18138) - \[cli/package] Support bridging to terraform providers automatically in pulumi convert [#​17992](https://redirect.github.com/pulumi/pulumi/pull/17992) - \[sdk/go] Implement deferred output for the Go SDK and program-gen [#​17885](https://redirect.github.com/pulumi/pulumi/pull/17885) ##### Bug Fixes - \[cli] Fix TestPackageAddGoParameterized to utilize version path [#​18150](https://redirect.github.com/pulumi/pulumi/pull/18150) - \[cli/engine] Clarify the usage string for the --expect-no-changes flag [#​18105](https://redirect.github.com/pulumi/pulumi/pull/18105) - \[auto/go] Return error if no inline program specified [#​18086](https://redirect.github.com/pulumi/pulumi/pull/18086) - \[auto/go] Interrupt programs gracefully when the context is canceled [#​18124](https://redirect.github.com/pulumi/pulumi/pull/18124) - \[cli/new] Provide a better error message when pulumi new --ai generates a program with errors [#​18091](https://redirect.github.com/pulumi/pulumi/pull/18091) - \[cli/new] Provide a more meaningful message for the --language flag [#​18092](https://redirect.github.com/pulumi/pulumi/pull/18092) - \[engine] Enable `pulumi:pulumi:getResource` to hydrate `Read` resources [#​18070](https://redirect.github.com/pulumi/pulumi/pull/18070) - \[programgen] Allow for case-insensitive terraform convert source [#​18111](https://redirect.github.com/pulumi/pulumi/pull/18111) - \[programgen/go] Fix importing module names in Go programs that aren't lower-case [#​18113](https://redirect.github.com/pulumi/pulumi/pull/18113) - \[sdk/go] Fix panic when diffing computed property values [#​18104](https://redirect.github.com/pulumi/pulumi/pull/18104) - \[sdk/go] Avoid calling invokes with dependencies on unknown resources [#​18133](https://redirect.github.com/pulumi/pulumi/pull/18133) - \[sdk/nodejs] Fix source maps when using jest [#​18108](https://redirect.github.com/pulumi/pulumi/pull/18108) - \[sdk/nodejs] Avoid calling invokes with dependencies on unknown resources [#​18152](https://redirect.github.com/pulumi/pulumi/pull/18152) - \[sdk/python] Fix reading pulumi-plugin.json when using the uv toolchain [#​18107](https://redirect.github.com/pulumi/pulumi/pull/18107) - \[sdk/python] Fix ListPackages when using uv [#​18121](https://redirect.github.com/pulumi/pulumi/pull/18121) - \[sdk/python] Fix dynamic providers when using Poetry or uv [#​18126](https://redirect.github.com/pulumi/pulumi/pull/18126) - \[sdk/python] Fix prerelease version [#​18125](https://redirect.github.com/pulumi/pulumi/pull/18125) - \[sdk/python] Avoid calling invokes with dependencies on unknown resources [#​18141](https://redirect.github.com/pulumi/pulumi/pull/18141) ##### Miscellaneous - \[programgen/java] Bump Java SDK dependency version so that `package gen-sdk` emits buildable code [#​18130](https://redirect.github.com/pulumi/pulumi/pull/18130) - \[sdk/python] Switch to pyproject.toml + uv [#​18081](https://redirect.github.com/pulumi/pulumi/pull/18081) - \[sdk/python] Move mypy configuration into pyproject.toml [#​18118](https://redirect.github.com/pulumi/pulumi/pull/18118) - \[sdk/python] Move pyright configuration into pyproject.toml [#​18116](https://redirect.github.com/pulumi/pulumi/pull/18116) - \[sdk/python] Move ruff configuration into pyproject.toml [#​18117](https://redirect.github.com/pulumi/pulumi/pull/18117) </details> <details> <summary>pulumi/providertest (github.com/pulumi/providertest)</summary> ### [`v0.3.1`](https://redirect.github.com/pulumi/providertest/releases/tag/v0.3.1) [Compare Source](https://redirect.github.com/pulumi/providertest/compare/v0.3.0...v0.3.1) #### What's Changed - feat: fixing login support on windows by [@​rshade](https://redirect.github.com/rshade) in [https://github.com/pulumi/providertest/pull/137](https://redirect.github.com/pulumi/providertest/pull/137) #### New Contributors - [@​rshade](https://redirect.github.com/rshade) made their first contribution in [https://github.com/pulumi/providertest/pull/137](https://redirect.github.com/pulumi/providertest/pull/137) **Full Changelog**: https://github.com/pulumi/providertest/compare/v0.3.0...v0.3.1 ### [`v0.3.0`](https://redirect.github.com/pulumi/providertest/compare/v0.2.0...v0.3.0) [Compare Source](https://redirect.github.com/pulumi/providertest/compare/v0.2.0...v0.3.0) ### [`v0.2.0`](https://redirect.github.com/pulumi/providertest/releases/tag/v0.2.0) [Compare Source](https://redirect.github.com/pulumi/providertest/compare/v0.1.7...v0.2.0) ##### What's Changed - BREAKING CHANGE: Remove ProviderTest abstraction by [@​danielrbradley](https://redirect.github.com/danielrbradley) in [https://github.com/pulumi/providertest/pull/133](https://redirect.github.com/pulumi/providertest/pull/133) **Full Changelog**: https://github.com/pulumi/providertest/compare/v0.1.7...v0.2.0 ### [`v0.1.7`](https://redirect.github.com/pulumi/providertest/releases/tag/v0.1.7) [Compare Source](https://redirect.github.com/pulumi/providertest/compare/v0.1.6...v0.1.7) ##### What's Changed - Improve convert by [@​danielrbradley](https://redirect.github.com/danielrbradley) in [https://github.com/pulumi/providertest/pull/130](https://redirect.github.com/pulumi/providertest/pull/130) - Docs & variable tidy up by [@​danielrbradley](https://redirect.github.com/danielrbradley) in [https://github.com/pulumi/providertest/pull/131](https://redirect.github.com/pulumi/providertest/pull/131) **Full Changelog**: https://github.com/pulumi/providertest/compare/v0.1.6...v0.1.7 ### [`v0.1.6`](https://redirect.github.com/pulumi/providertest/releases/tag/v0.1.6) [Compare Source](https://redirect.github.com/pulumi/providertest/compare/v0.1.5...v0.1.6) ##### What's Changed - Update README.md to steer toward pulumitest by [@​mjeffryes](https://redirect.github.com/mjeffryes) in [https://github.com/pulumi/providertest/pull/123](https://redirect.github.com/pulumi/providertest/pull/123) - Add support for custom temp directory by [@​danielrbradley](https://redirect.github.com/danielrbradley) in [https://github.com/pulumi/providertest/pull/125](https://redirect.github.com/pulumi/providertest/pull/125) - Fix retention & location of temp dir via env vars by [@​danielrbradley](https://redirect.github.com/danielrbradley) in [https://github.com/pulumi/providertest/pull/126](https://redirect.github.com/pulumi/providertest/pull/126) - Deprecate ProviderTest by [@​danielrbradley](https://redirect.github.com/danielrbradley) in [https://github.com/pulumi/providertest/pull/128](https://redirect.github.com/pulumi/providertest/pull/128) - Further docs updates from feedback by [@​danielrbradley](https://redirect.github.com/danielrbradley) in [https://github.com/pulumi/providertest/pull/129](https://redirect.github.com/pulumi/providertest/pull/129) **Full Changelog**: https://github.com/pulumi/providertest/compare/v0.1.5...v0.1.6 ### [`v0.1.5`](https://redirect.github.com/pulumi/providertest/releases/tag/v0.1.5) [Compare Source](https://redirect.github.com/pulumi/providertest/compare/v0.1.4...v0.1.5) ##### What's Changed - Add handshake GRPC method replay by [@​VenelinMartinov](https://redirect.github.com/VenelinMartinov) in [https://github.com/pulumi/providertest/pull/118](https://redirect.github.com/pulumi/providertest/pull/118) - Fix secret identification by [@​danielrbradley](https://redirect.github.com/danielrbradley) in [https://github.com/pulumi/providertest/pull/121](https://redirect.github.com/pulumi/providertest/pull/121) - Show diffs for all previews by [@​thomas11](https://redirect.github.com/thomas11) in [https://github.com/pulumi/providertest/pull/120](https://redirect.github.com/pulumi/providertest/pull/120) **Full Changelog**: https://github.com/pulumi/providertest/compare/v0.1.4...v0.1.5 ### [`v0.1.4`](https://redirect.github.com/pulumi/providertest/releases/tag/v0.1.4) [Compare Source](https://redirect.github.com/pulumi/providertest/compare/v0.1.3...v0.1.4) ##### What's Changed - Clean up failed tests by default by [@​danielrbradley](https://redirect.github.com/danielrbradley) in [https://github.com/pulumi/providertest/pull/112](https://redirect.github.com/pulumi/providertest/pull/112) - Fix tool install by [@​danielrbradley](https://redirect.github.com/danielrbradley) in [https://github.com/pulumi/providertest/pull/115](https://redirect.github.com/pulumi/providertest/pull/115) - Failed test cleanup usability improvements by [@​danielrbradley](https://redirect.github.com/danielrbradley) in [https://github.com/pulumi/providertest/pull/114](https://redirect.github.com/pulumi/providertest/pull/114) - Fix secret sanitizing for non string values by [@​danielrbradley](https://redirect.github.com/danielrbradley) in [https://github.com/pulumi/providertest/pull/113](https://redirect.github.com/pulumi/providertest/pull/113) - Bump minimum pulumi requirement by [@​blampe](https://redirect.github.com/blampe) in [https://github.com/pulumi/providertest/pull/119](https://redirect.github.com/pulumi/providertest/pull/119) **Full Changelog**: https://github.com/pulumi/providertest/compare/v0.1.3...v0.1.4 </details> <details> <summary>pulumi/pulumi-docker-build (github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild)</summary> ### [`v0.0.11`](https://redirect.github.com/pulumi/pulumi-docker-build/compare/v0.0.10...v0.0.11) [Compare Source](https://redirect.github.com/pulumi/pulumi-docker-build/compare/v0.0.10...v0.0.11) ### [`v0.0.10`](https://redirect.github.com/pulumi/pulumi-docker-build/compare/v0.0.9...v0.0.10) [Compare Source](https://redirect.github.com/pulumi/pulumi-docker-build/compare/v0.0.9...v0.0.10) ### [`v0.0.9`](https://redirect.github.com/pulumi/pulumi-docker-build/compare/v0.0.8...v0.0.9) [Compare Source](https://redirect.github.com/pulumi/pulumi-docker-build/compare/v0.0.8...v0.0.9) </details> <details> <summary>pulumi/pulumi-java (github.com/pulumi/pulumi-java/pkg)</summary> ### [`v1.10.0`](https://redirect.github.com/pulumi/pulumi-java/releases/tag/v1.10.0) [Compare Source](https://redirect.github.com/pulumi/pulumi-java/compare/v1.9.0...v1.10.0) ##### Improvements - Support generating programs using the `import` resource option ##### Bug Fixes </details> <details> <summary>pulumi/pulumi-yaml (github.com/pulumi/pulumi-yaml)</summary> ### [`v1.17.0`](https://redirect.github.com/pulumi/pulumi-yaml/blob/HEAD/CHANGELOG.md#v1170---2025-04-24) [Compare Source](https://redirect.github.com/pulumi/pulumi-yaml/compare/v1.16.0...v1.17.0) ##### Improvements - \[runtime] Make setting resource properties using an object variables possible [#​779](https://redirect.github.com/pulumi/pulumi-yaml/pull/779) ##### Bug Fixes - \[runtime] Use PluginDownloadURL resource option correctly when loading plugins [#​776](https://redirect.github.com/pulumi/pulumi-yaml/pull/776) ### [`v1.16.0`](https://redirect.github.com/pulumi/pulumi-yaml/blob/HEAD/CHANGELOG.md#v1160---2025-04-08) [Compare Source](https://redirect.github.com/pulumi/pulumi-yaml/compare/v1.15.2...v1.16.0) ##### Improvements - \[runtime] Update pulumi/pulumi to 3.160.0 [#​773](https://redirect.github.com/pulumi/pulumi-yaml/pull/773) ### [`v1.15.2`](https://redirect.github.com/pulumi/pulumi-yaml/blob/HEAD/CHANGELOG.md#v1152---2025-04-08) [Compare Source](https://redirect.github.com/pulumi/pulumi-yaml/compare/v1.15.1...v1.15.2) ##### Bug Fixes - \[runtime] Allow default values for integer config [#​771](https://redirect.github.com/pulumi/pulumi-yaml/pull/771) </details> <details> <summary>pulumi/esc-action (pulumi/esc-action)</summary> ### [`v1.4.0`](https://redirect.github.com/pulumi/esc-action/compare/v1.3.0...v1.4.0) [Compare Source](https://redirect.github.com/pulumi/esc-action/compare/v1.3.0...v1.4.0) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - "every weekday" (UTC). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwiaW1wYWN0L25vLWNoYW5nZWxvZy1yZXF1aXJlZCJdfQ==--> --------- Co-authored-by: pulumi-renovate[bot] <189166143+pulumi-renovate[bot]@users.noreply.github.com> Co-authored-by: Bryce Lampe <bryce@pulumi.com>
704 lines
27 KiB
YAML
704 lines
27 KiB
YAML
# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt
|
|
|
|
name: release
|
|
on:
|
|
push:
|
|
tags:
|
|
- v*.*.*
|
|
- "!v*.*.*-**"
|
|
env:
|
|
AZURE_SIGNING_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
|
|
AZURE_SIGNING_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
|
|
AZURE_SIGNING_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
|
|
AZURE_SIGNING_KEY_VAULT_URI: ${{ secrets.AZURE_SIGNING_KEY_VAULT_URI }}
|
|
SKIP_SIGNING: ${{ secrets.AZURE_SIGNING_CLIENT_ID == '' &&
|
|
secrets.AZURE_SIGNING_CLIENT_SECRET == '' && secrets.AZURE_SIGNING_TENANT_ID
|
|
== '' && secrets.AZURE_SIGNING_KEY_VAULT_URI == '' }}
|
|
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
PROVIDER: docker-build
|
|
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
|
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
|
PYPI_USERNAME: __token__
|
|
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
TRAVIS_OS_NAME: linux
|
|
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
|
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
|
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
|
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
|
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
|
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
|
GOVERSION: 1.21.x
|
|
NODEVERSION: 20.x
|
|
PYTHONVERSION: "3.11"
|
|
DOTNETVERSION: 8.0.x
|
|
JAVAVERSION: "11"
|
|
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
|
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
|
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
|
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
|
AWS_REGION: us-west-2
|
|
AZURE_LOCATION: westus
|
|
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
|
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
|
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
|
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
|
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
|
GOOGLE_PROJECT_NUMBER: "895284651812"
|
|
GOOGLE_REGION: us-central1
|
|
GOOGLE_ZONE: us-central1-a
|
|
PULUMI_API: https://api.pulumi-staging.io
|
|
jobs:
|
|
prerequisites:
|
|
runs-on: ubuntu-latest
|
|
name: prerequisites
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
lfs: true
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
- name: Install Go
|
|
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
|
|
with:
|
|
go-version: ${{ env.GOVERSION }}
|
|
cache-dependency-path: "**/*.sum"
|
|
- name: Install pulumictl
|
|
uses: jaxxstorm/action-install-gh-release@4304621e8c48d66093a8a214af5d5b5bc3b3d943 # v2.0.0
|
|
with:
|
|
repo: pulumi/pulumictl
|
|
- name: Install Pulumi CLI
|
|
uses: pulumi/actions@9519177da243fd32cab35cdbf19cce1ab7472fcc # v6.2.0
|
|
- if: github.event_name == 'pull_request'
|
|
name: Install Schema Tools
|
|
uses: jaxxstorm/action-install-gh-release@4304621e8c48d66093a8a214af5d5b5bc3b3d943 # v2.0.0
|
|
with:
|
|
repo: pulumi/schema-tools
|
|
- name: Build codegen binaries
|
|
run: make codegen
|
|
- name: Build Schema
|
|
run: make generate_schema
|
|
- if: github.event_name == 'pull_request'
|
|
name: Check Schema is Valid
|
|
run: >-
|
|
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV
|
|
|
|
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV
|
|
|
|
echo 'EOF' >> $GITHUB_ENV
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
|
|
name: Comment on PR with Details of Schema Check
|
|
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
|
with:
|
|
message: |
|
|
${{ env.SCHEMA_CHANGES }}
|
|
comment-tag: schemaCheck
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
|
github.actor == 'pulumi-bot'
|
|
name: Add label if no breaking changes
|
|
uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3
|
|
with:
|
|
labels: impact/no-changelog-required
|
|
number: ${{ github.event.issue.number }}
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Build Provider
|
|
run: make provider
|
|
- name: Check worktree clean
|
|
id: worktreeClean
|
|
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
|
with:
|
|
allowed-changes: |-
|
|
sdk/**/pulumi-plugin.json
|
|
sdk/dotnet/Pulumi.*.csproj
|
|
sdk/go/**/pulumiUtilities.go
|
|
sdk/nodejs/package.json
|
|
sdk/python/pyproject.toml
|
|
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
|
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
|
contains(github.actor, 'renovate') && github.event_name ==
|
|
'pull_request'
|
|
shell: bash
|
|
run: >
|
|
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
|
|
|
git config --global user.email "bot@pulumi.com"
|
|
|
|
git config --global user.name "pulumi-bot"
|
|
|
|
# Stash local changes and check out the PR's branch directly.
|
|
|
|
git stash
|
|
|
|
git fetch
|
|
|
|
git checkout "origin/$HEAD_REF"
|
|
|
|
|
|
# Apply and add our changes, but don't commit any files we expect to
|
|
|
|
# always change due to versioning.
|
|
|
|
git stash pop
|
|
|
|
git add sdk
|
|
|
|
git reset sdk/python/*/pulumi-plugin.json sdk/python/pyproject.toml sdk/dotnet/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/pulumi-plugin.json sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json
|
|
|
|
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
|
|
|
|
|
# Push with pulumi-bot credentials to trigger a re-run of the
|
|
|
|
# workflow. https://github.com/orgs/community/discussions/25702
|
|
|
|
git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
|
env:
|
|
HEAD_REF: ${{ github.head_ref }}
|
|
- run: git status --porcelain
|
|
- name: Tar provider binaries
|
|
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
|
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
|
pulumi-gen-${{ env.PROVIDER}}
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
|
path: ${{ github.workspace }}/bin/provider.tar.gz
|
|
- name: Test Provider Library
|
|
run: make test_provider
|
|
- name: Upload coverage reports to Codecov
|
|
uses: codecov/codecov-action@ad3126e916f78f00edff4ed0317cf185271ccc2d # v5.4.2
|
|
env:
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
- if: failure() && github.event_name == 'push'
|
|
name: Notify Slack
|
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
|
with:
|
|
author_name: Failure in building provider prerequisites
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
build_sdks:
|
|
needs: prerequisites
|
|
runs-on: pulumi-ubuntu-8core
|
|
strategy:
|
|
fail-fast: ${{ ! contains(github.actor, 'renovate') }}
|
|
matrix:
|
|
language:
|
|
- nodejs
|
|
- python
|
|
- dotnet
|
|
- go
|
|
- java
|
|
name: build_sdks
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
lfs: true
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
- name: Install Go
|
|
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
|
|
with:
|
|
go-version: ${{ env.GOVERSION }}
|
|
cache-dependency-path: "**/*.sum"
|
|
- name: Install pulumictl
|
|
uses: jaxxstorm/action-install-gh-release@4304621e8c48d66093a8a214af5d5b5bc3b3d943 # v2.0.0
|
|
with:
|
|
repo: pulumi/pulumictl
|
|
- name: Install Pulumi CLI
|
|
uses: pulumi/actions@9519177da243fd32cab35cdbf19cce1ab7472fcc # v6.2.0
|
|
- name: Setup Node
|
|
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
|
with:
|
|
node-version: ${{ env.NODEVERSION }}
|
|
registry-url: https://registry.npmjs.org
|
|
- name: Setup DotNet
|
|
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
|
with:
|
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
|
- name: Setup Python
|
|
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
|
|
with:
|
|
python-version: ${{ env.PYTHONVERSION }}
|
|
- name: Setup Java
|
|
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
|
with:
|
|
java-version: ${{ env.JAVAVERSION }}
|
|
distribution: temurin
|
|
cache: gradle
|
|
- name: Setup Gradle
|
|
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
|
with:
|
|
gradle-version: "7.6"
|
|
- name: Download provider
|
|
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
|
|
with:
|
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
|
path: ${{ github.workspace }}/bin
|
|
- name: UnTar provider binaries
|
|
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
|
github.workspace}}/bin
|
|
- name: Restore Binary Permissions
|
|
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
|
-exec chmod +x {} \;
|
|
- name: Generate SDK
|
|
run: make generate_${{ matrix.language }}
|
|
- name: Build SDK
|
|
run: make build_${{ matrix.language }}
|
|
- name: Check worktree clean
|
|
id: worktreeClean
|
|
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
|
with:
|
|
allowed-changes: |-
|
|
sdk/**/pulumi-plugin.json
|
|
sdk/dotnet/Pulumi.*.csproj
|
|
sdk/go/**/pulumiUtilities.go
|
|
sdk/nodejs/package.json
|
|
sdk/python/pyproject.toml
|
|
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
|
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
|
contains(github.actor, 'renovate') && github.event_name ==
|
|
'pull_request'
|
|
shell: bash
|
|
run: >
|
|
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
|
|
|
git config --global user.email "bot@pulumi.com"
|
|
|
|
git config --global user.name "pulumi-bot"
|
|
|
|
# Stash local changes and check out the PR's branch directly.
|
|
|
|
git stash
|
|
|
|
git fetch
|
|
|
|
git checkout "origin/$HEAD_REF"
|
|
|
|
|
|
# Apply and add our changes, but don't commit any files we expect to
|
|
|
|
# always change due to versioning.
|
|
|
|
git stash pop
|
|
|
|
git add sdk
|
|
|
|
git reset sdk/python/*/pulumi-plugin.json sdk/python/pyproject.toml sdk/dotnet/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/pulumi-plugin.json sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json
|
|
|
|
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
|
|
|
|
|
# Push with pulumi-bot credentials to trigger a re-run of the
|
|
|
|
# workflow. https://github.com/orgs/community/discussions/25702
|
|
|
|
git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
|
env:
|
|
HEAD_REF: ${{ github.head_ref }}
|
|
- run: git status --porcelain
|
|
- name: Tar SDK folder
|
|
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
name: ${{ matrix.language }}-sdk.tar.gz
|
|
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
|
- if: failure() && github.event_name == 'push'
|
|
name: Notify Slack
|
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
|
with:
|
|
author_name: Failure while building SDKs
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
test:
|
|
runs-on: pulumi-ubuntu-8core
|
|
needs:
|
|
- build_sdks
|
|
strategy:
|
|
fail-fast: true
|
|
matrix:
|
|
language:
|
|
- nodejs
|
|
- python
|
|
- dotnet
|
|
- go
|
|
- java
|
|
- yaml
|
|
name: test
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
lfs: true
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
- name: Install Go
|
|
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
|
|
with:
|
|
go-version: ${{ env.GOVERSION }}
|
|
cache-dependency-path: "**/*.sum"
|
|
- name: Install pulumictl
|
|
uses: jaxxstorm/action-install-gh-release@4304621e8c48d66093a8a214af5d5b5bc3b3d943 # v2.0.0
|
|
with:
|
|
repo: pulumi/pulumictl
|
|
- name: Install Pulumi CLI
|
|
uses: pulumi/actions@9519177da243fd32cab35cdbf19cce1ab7472fcc # v6.2.0
|
|
- name: Setup Node
|
|
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
|
with:
|
|
node-version: ${{ env.NODEVERSION }}
|
|
registry-url: https://registry.npmjs.org
|
|
- name: Setup DotNet
|
|
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
|
with:
|
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
|
- name: Setup Python
|
|
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
|
|
with:
|
|
python-version: ${{ env.PYTHONVERSION }}
|
|
- name: Setup Java
|
|
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
|
with:
|
|
java-version: ${{ env.JAVAVERSION }}
|
|
distribution: temurin
|
|
cache: gradle
|
|
- name: Setup Gradle
|
|
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
|
with:
|
|
gradle-version: "7.6"
|
|
- name: Download provider
|
|
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
|
|
with:
|
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
|
path: ${{ github.workspace }}/bin
|
|
- name: UnTar provider binaries
|
|
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
|
github.workspace}}/bin
|
|
- name: Restore Binary Permissions
|
|
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
|
-exec chmod +x {} \;
|
|
- name: Download SDK
|
|
if: ${{ matrix.language != 'yaml' }}
|
|
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
|
|
with:
|
|
name: ${{ matrix.language }}-sdk.tar.gz
|
|
path: ${{ github.workspace}}/sdk/
|
|
- name: UnTar SDK folder
|
|
if: ${{ matrix.language != 'yaml' }}
|
|
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
|
github.workspace}}/sdk/${{ matrix.language}}
|
|
- name: Update path
|
|
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
|
- name: Install Node dependencies
|
|
run: yarn global add typescript
|
|
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
|
- name: Install Python deps
|
|
run: |-
|
|
pip3 install virtualenv==20.0.23
|
|
pip3 install pipenv
|
|
- name: Install dependencies
|
|
if: ${{ matrix.language != 'yaml' }}
|
|
run: make install_${{ matrix.language}}_sdk
|
|
- name: Generate Pulumi Access Token
|
|
id: generate_pulumi_token
|
|
uses: pulumi/auth-actions@1c89817aab0c66407723cdef72b05266e7376640 # v1.0.1
|
|
with:
|
|
organization: pulumi
|
|
requested-token-type: urn:pulumi:token-type:access_token:organization
|
|
export-environment-variables: false
|
|
- name: Export AWS Credentials
|
|
uses: pulumi/esc-action@efb0bc8946938f0dfbfa00e829196ec95f0d0ea7 # v1.4.0
|
|
env:
|
|
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
|
|
with:
|
|
environment: logins/pulumi-ci
|
|
- name: Authenticate to Google Cloud
|
|
uses: google-github-actions/auth@71f986410dfbc7added4569d411d040a91dc6935 # v2.1.8
|
|
with:
|
|
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
|
}}/locations/global/workloadIdentityPools/${{
|
|
env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{
|
|
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
|
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
|
- name: Setup gcloud auth
|
|
uses: google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # v2.1.4
|
|
with:
|
|
install_components: gke-gcloud-auth-plugin
|
|
- name: Install gotestfmt
|
|
uses: GoTestTools/gotestfmt-action@v2
|
|
with:
|
|
version: v2.5.0
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Run tests
|
|
run: >-
|
|
set -euo pipefail
|
|
|
|
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
|
- if: failure() && github.event_name == 'push'
|
|
name: Notify Slack
|
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
|
with:
|
|
author_name: Failure in SDK tests
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
needs: test
|
|
name: publish
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
lfs: true
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
- name: Install Go
|
|
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
|
|
with:
|
|
go-version: ${{ env.GOVERSION }}
|
|
cache-dependency-path: "**/*.sum"
|
|
- name: Clear GitHub Actions Ubuntu runner disk space
|
|
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
|
with:
|
|
tool-cache: false
|
|
dotnet: false
|
|
android: true
|
|
haskell: true
|
|
swap-storage: true
|
|
large-packages: false
|
|
- name: Install pulumictl
|
|
uses: jaxxstorm/action-install-gh-release@4304621e8c48d66093a8a214af5d5b5bc3b3d943 # v2.0.0
|
|
with:
|
|
repo: pulumi/pulumictl
|
|
- name: Install Pulumi CLI
|
|
uses: pulumi/actions@9519177da243fd32cab35cdbf19cce1ab7472fcc # v6.2.0
|
|
- name: Configure AWS Credentials
|
|
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
|
|
with:
|
|
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
aws-region: us-east-2
|
|
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
role-duration-seconds: 7200
|
|
role-session-name: ${{ env.PROVIDER }}@githubActions
|
|
role-external-id: upload-pulumi-release
|
|
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
|
- name: Run GoReleaser
|
|
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
|
|
env:
|
|
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
|
with:
|
|
args: -p 3 release --clean --timeout 60m0s
|
|
version: latest
|
|
- if: failure() && github.event_name == 'push'
|
|
name: Notify Slack
|
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
|
with:
|
|
author_name: Failure in publishing binaries
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
publish_sdk:
|
|
runs-on: ubuntu-latest
|
|
needs: publish
|
|
name: publish_sdks
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
lfs: true
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
- name: Checkout Scripts Repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
path: ci-scripts
|
|
repository: pulumi/scripts
|
|
- run: echo "ci-scripts" >> .git/info/exclude
|
|
- name: Install Go
|
|
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
|
|
with:
|
|
go-version: ${{ env.GOVERSION }}
|
|
cache-dependency-path: "**/*.sum"
|
|
- name: Install pulumictl
|
|
uses: jaxxstorm/action-install-gh-release@4304621e8c48d66093a8a214af5d5b5bc3b3d943 # v2.0.0
|
|
with:
|
|
repo: pulumi/pulumictl
|
|
- name: Install Pulumi CLI
|
|
uses: pulumi/actions@9519177da243fd32cab35cdbf19cce1ab7472fcc # v6.2.0
|
|
- name: Setup Node
|
|
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
|
with:
|
|
node-version: ${{ env.NODEVERSION }}
|
|
registry-url: https://registry.npmjs.org
|
|
- name: Setup DotNet
|
|
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
|
with:
|
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
|
- name: Setup Python
|
|
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
|
|
with:
|
|
python-version: ${{ env.PYTHONVERSION }}
|
|
- name: Download python SDK
|
|
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
|
|
with:
|
|
name: python-sdk.tar.gz
|
|
path: ${{ github.workspace}}/sdk/
|
|
- name: Uncompress python SDK
|
|
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
|
${{github.workspace}}/sdk/python
|
|
- name: Download dotnet SDK
|
|
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
|
|
with:
|
|
name: dotnet-sdk.tar.gz
|
|
path: ${{ github.workspace}}/sdk/
|
|
- name: Uncompress dotnet SDK
|
|
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
|
${{github.workspace}}/sdk/dotnet
|
|
- name: Download nodejs SDK
|
|
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
|
|
with:
|
|
name: nodejs-sdk.tar.gz
|
|
path: ${{ github.workspace}}/sdk/
|
|
- name: Uncompress nodejs SDK
|
|
run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C
|
|
${{github.workspace}}/sdk/nodejs
|
|
- name: Install Twine
|
|
run: python -m pip install twine==5.0.0
|
|
- name: Publish SDKs
|
|
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
PYPI_PUBLISH_ARTIFACTS: all
|
|
- if: failure() && github.event_name == 'push'
|
|
name: Notify Slack
|
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
|
with:
|
|
author_name: Failure in publishing SDK
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
publish_java_sdk:
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: true
|
|
needs: publish
|
|
name: publish_java_sdk
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
lfs: true
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
- name: Install Go
|
|
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
|
|
with:
|
|
go-version: ${{ env.GOVERSION }}
|
|
cache-dependency-path: "**/*.sum"
|
|
- name: Install pulumictl
|
|
uses: jaxxstorm/action-install-gh-release@4304621e8c48d66093a8a214af5d5b5bc3b3d943 # v2.0.0
|
|
with:
|
|
repo: pulumi/pulumictl
|
|
- name: Install Pulumi CLI
|
|
uses: pulumi/actions@9519177da243fd32cab35cdbf19cce1ab7472fcc # v6.2.0
|
|
- name: Setup Java
|
|
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
|
with:
|
|
java-version: ${{ env.JAVAVERSION }}
|
|
distribution: temurin
|
|
cache: gradle
|
|
- name: Setup Gradle
|
|
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
|
with:
|
|
gradle-version: "7.6"
|
|
- name: Download java SDK
|
|
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
|
|
with:
|
|
name: java-sdk.tar.gz
|
|
path: ${{ github.workspace}}/sdk/
|
|
- name: Uncompress java SDK
|
|
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
|
${{github.workspace}}/sdk/java
|
|
- name: Publish Java SDK
|
|
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
|
env:
|
|
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
|
with:
|
|
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
|
build-root-directory: ./sdk/java
|
|
gradle-version: 7.4.1
|
|
publish_go_sdk:
|
|
runs-on: ubuntu-latest
|
|
name: publish-go-sdk
|
|
needs: publish_sdk
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
lfs: true
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
- name: Download go SDK
|
|
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
|
|
with:
|
|
name: go-sdk.tar.gz
|
|
path: ${{ github.workspace}}/sdk/
|
|
- name: Uncompress go SDK
|
|
run: tar -zxf ${{github.workspace}}/sdk/go.tar.gz -C
|
|
${{github.workspace}}/sdk/go
|
|
- name: Publish Go SDK
|
|
uses: pulumi/publish-go-sdk-action@v1
|
|
with:
|
|
repository: ${{ github.repository }}
|
|
base-ref: ${{ github.sha }}
|
|
source: sdk/go/dockerbuild
|
|
path: sdk/go/dockerbuild
|
|
version: ${{ steps.version.outputs.version }}
|
|
additive: false
|
|
files: "**"
|
|
dispatch_docs_build:
|
|
runs-on: ubuntu-latest
|
|
needs: publish_go_sdk
|
|
steps:
|
|
- name: Install pulumictl
|
|
uses: jaxxstorm/action-install-gh-release@4304621e8c48d66093a8a214af5d5b5bc3b3d943 # v2.0.0
|
|
with:
|
|
repo: pulumi/pulumictl
|
|
- name: Dispatch Event
|
|
run: pulumictl create docs-build pulumi-${{ env.PROVIDER }}
|
|
${GITHUB_REF#refs/tags/}
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
name: dispatch_docs_build
|