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.184.0` -> `3.208.0`](https://renovatebot.com/diffs/npm/@pulumi%2fpulumi/3.184.0/3.208.0) | | [github.com/pulumi/esc](https://redirect.github.com/pulumi/esc) | indirect | minor | `v0.17.0` -> `v0.20.0` | | [pulumi/esc-action](https://redirect.github.com/pulumi/esc-action) | action | minor | `v1.4.0` -> `v1.5.0` | --- ### Release Notes <details> <summary>pulumi/pulumi (@​pulumi/pulumi)</summary> ### [`v3.208.0`](https://redirect.github.com/pulumi/pulumi/releases/tag/v3.208.0) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.207.0...v3.208.0) #### 3.208.0 (2025-11-20) ##### Features - \[cli] Expose all command flags as env vars (e.g. --refresh can now be set with PULUMI_OPTION_REFRESH) [#​20868](https://redirect.github.com/pulumi/pulumi/pull/20868) - \[cli/install] Make `pulumi install` recurse into local packages [#​20945](https://redirect.github.com/pulumi/pulumi/pull/20945) - \[engine] Add a `replacement_trigger` resource option. Any change to this value between program runs will trigger a replace of the resource [#​20936](https://redirect.github.com/pulumi/pulumi/pull/20936) - \[engine] Add a new builtin `Stash` resource which can be used to save a value to state [#​20819](https://redirect.github.com/pulumi/pulumi/pull/20819) - \[protobuf] Add `Language.Template` RPC to protos [#​20948](https://redirect.github.com/pulumi/pulumi/pull/20948) - \[sdk/go] Add support for `replacement_trigger` in the Go SDK [#​20937](https://redirect.github.com/pulumi/pulumi/pull/20937) ##### Bug Fixes - \[engine] Fix duplicate resource snapshot integrity issue with aliases [#​20926](https://redirect.github.com/pulumi/pulumi/pull/20926) - \[engine] Allow resources marked as `Delete` to be targeted, and take them into account for dependency calculation [#​20962](https://redirect.github.com/pulumi/pulumi/pull/20962) - \[engine] Fix a panic when previewing and import of a resource that wants to delete and then replace due to diffs [#​20997](https://redirect.github.com/pulumi/pulumi/pull/20997) - \[pkg] Include invalid property names in bind errors [#​20989](https://redirect.github.com/pulumi/pulumi/pull/20989) - \[sdk/python] Don’t raise when looking up a stack reference output that does not exist [#​20938](https://redirect.github.com/pulumi/pulumi/pull/20938) - \[sdkgen/python] Ensure resource args accept typeddicts when no language info is specified [#​20982](https://redirect.github.com/pulumi/pulumi/pull/20982) ##### Miscellaneous - \[cli] Document the \[template|url] argument in `pulumi up` command help text [#​20996](https://redirect.github.com/pulumi/pulumi/pull/20996) ### [`v3.207.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32070-2025-11-12) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.206.0...v3.207.0) ##### Features - \[cli] Log gRPC requests before invoking them in gRPC debug interceptor [#​20817](https://redirect.github.com/pulumi/pulumi/pull/20817) - \[engine] Add `ReplaceWith` resource option to allow one resource's replace operations to trigger another's [#​20693](https://redirect.github.com/pulumi/pulumi/pull/20693) - \[sdkgen/python] Allow all PEP440 version specifiers to be used ##### Bug Fixes - \[cli/import] Return errors when an import fails [#​20904](https://redirect.github.com/pulumi/pulumi/pull/20904) - \[engine] Fix parenting of resources in some cases in `refresh --run-program` [#​20894](https://redirect.github.com/pulumi/pulumi/pull/20894) - \[engine] Fix StackReference secrets performance [#​20908](https://redirect.github.com/pulumi/pulumi/pull/20908) - \[programgen] Do not panic when re-writing type-invalid PCL [#​20770](https://redirect.github.com/pulumi/pulumi/pull/20770) - \[sdk/go] Fix import path in instructions when linking a package in Go [#​20888](https://redirect.github.com/pulumi/pulumi/pull/20888) - \[sdk/nodejs] Fix closure serialization on Node.js v25.2.0 [#​20913](https://redirect.github.com/pulumi/pulumi/pull/20913) - \[sdk/{nodejs,python}] Avoid cancellations due to do slow processing of requests - \[sdk/python] Avoid cancellations due to do slow processing of requests in the callbacks server [#​20917](https://redirect.github.com/pulumi/pulumi/pull/20917) ##### Miscellaneous - \[engine] Stop sending ConfigPropertyMap as part of RunRequest [#​20887](https://redirect.github.com/pulumi/pulumi/pull/20887) ### [`v3.206.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32060-2025-11-05) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.205.0...v3.206.0) ##### Features - \[protobuf] Pass a `preview` flag to invokes so they can tell if they're being called during a preview [#​20827](https://redirect.github.com/pulumi/pulumi/pull/20827) - \[cli/about] Include PULUMI_\* environment variables in the `pulumi about` output [#​20855](https://redirect.github.com/pulumi/pulumi/pull/20855) - \[auto/go] Get event log over gRPC instead of trying to read it from a text file [#​20822](https://redirect.github.com/pulumi/pulumi/pull/20822) - \[auto/nodejs] Get event log over gRPC instead of trying to read it from a text file [#​20824](https://redirect.github.com/pulumi/pulumi/pull/20824) - \[auto/python] Get event log over gRPC instead of trying to read it from a text file [#​20833](https://redirect.github.com/pulumi/pulumi/pull/20833) - \[cli/engine] Add environment variable to add --refresh to preview,update,destroy [#​20797](https://redirect.github.com/pulumi/pulumi/pull/20797) - \[sdk/nodejs] Add PULUMI_NODEJS_SKIP_COMPONENT_INPUTS environment variable to skip the new feature of sending component inputs to the engine for diffing and state storage [#​20842](https://redirect.github.com/pulumi/pulumi/pull/20842) ##### Bug Fixes - \[engine] Fix duplicate resource snapshot integrity issue, when running `pulumi up --refresh --run-program` and when a resource `PendingReplacement` exists in the snapshot [#​20812](https://redirect.github.com/pulumi/pulumi/pull/20812) - \[engine] Support floating point NaN and Inf values in resource state [#​20843](https://redirect.github.com/pulumi/pulumi/pull/20843) ##### Miscellaneous - \[sdk/go] Use Language.Link to link Go packages [#​20811](https://redirect.github.com/pulumi/pulumi/pull/20811) ### [`v3.205.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32050-2025-10-28) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.204.0...v3.205.0) ##### Bug Fixes - \[cli/display] Improve how the severity is displayed for policy violations [#​20805](https://redirect.github.com/pulumi/pulumi/pull/20805) - \[engine] Fix an issue where `refresh --run-program` could potentially run forever [#​20781](https://redirect.github.com/pulumi/pulumi/pull/20781) ### [`v3.204.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32040-2025-10-23) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.203.0...v3.204.0) ##### Features - \[cli] Print replace diffs when a resource tries to replace but is blocked by still having an import id set [#​20762](https://redirect.github.com/pulumi/pulumi/pull/20762) - \[engine] Support overriding policy severity on violations [#​20767](https://redirect.github.com/pulumi/pulumi/pull/20767) - \[backend/service] Send journal entries to the backend if it's supported [#​20343](https://redirect.github.com/pulumi/pulumi/pull/20343) ##### Bug Fixes - \[engine] Fix a potential snapshot integrity error when a resources dependency fails to be destroyed using `destroy --run-program` [#​20692](https://redirect.github.com/pulumi/pulumi/pull/20692) - \[engine] Fix import error to contain the import ID of non-existent resources [#​20753](https://redirect.github.com/pulumi/pulumi/pull/20753) - \[sdk/nodejs] Pass secret values as Output objects to resource hooks to properly maintain their secretness. Previously hooks received an internal representation for secret values. [#​20774](https://redirect.github.com/pulumi/pulumi/pull/20774) - \[sdk/python] Pass secret values as Output objects to resource hooks to properly maintain their secretness. Previously hooks received an internal representation for secret values. [#​20769](https://redirect.github.com/pulumi/pulumi/pull/20769) - \[sdkgen/go] Fix codegen of scalar return SDK functions [#​20754](https://redirect.github.com/pulumi/pulumi/pull/20754) - \[sdkgen/{nodejs,python}] Fix scalar return protocol to allow returning secret maps [#​20747](https://redirect.github.com/pulumi/pulumi/pull/20747) ##### Miscellaneous - \[sdk/nodejs] Use Language.Link to link Node.js packages [#​20715](https://redirect.github.com/pulumi/pulumi/pull/20715) ### [`v3.203.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32030-2025-10-15) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.202.0...v3.203.0) ##### Features - \[cli/display] Display policy severity for violations [#​20746](https://redirect.github.com/pulumi/pulumi/pull/20746) - \[cli/package] Show functions in `package info` [#​20733](https://redirect.github.com/pulumi/pulumi/pull/20733) ##### Bug Fixes - \[engine] Make sure errors from the journaler are not shown to the user [#​20740](https://redirect.github.com/pulumi/pulumi/pull/20740) - \[backend/diy] Fix casing of stack/latest when importing stacks [#​20727](https://redirect.github.com/pulumi/pulumi/pull/20727) - \[cli/package] Fix 'required' flag for resource inputs in `package info` [#​20731](https://redirect.github.com/pulumi/pulumi/pull/20731) - \[programgen] Revert [#​20345](https://redirect.github.com/pulumi/pulumi/issues/20345) [#​20714](https://redirect.github.com/pulumi/pulumi/pull/20714) - \[programgen/{dotnet,nodejs}] Propagate local dependencies for parameterized packages during convert down to GenerateProject [#​20706](https://redirect.github.com/pulumi/pulumi/pull/20706) - \[sdkgen/python] Fix python invokes for functions returning map types [#​20719](https://redirect.github.com/pulumi/pulumi/pull/20719) ##### Miscellaneous - \[sdk/python] Use Language.Link to link python packages [#​20612](https://redirect.github.com/pulumi/pulumi/pull/20612) ### [`v3.202.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32020-2025-10-10) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.201.0...v3.202.0) ##### Features - \[auto] Add SetAllConfigJson method to automation APIs [#​20709](https://redirect.github.com/pulumi/pulumi/pull/20709) - \[cli/config] Add `--json` input support to `pulumi config set-all` [#​19427](https://redirect.github.com/pulumi/pulumi/pull/19427) - \[cli/display] Add error summary at the end of Resource changes [#​20658](https://redirect.github.com/pulumi/pulumi/pull/20658) - \[components/{go,nodejs}] Send component inputs to be saved in state. This brings NodeJS and Go inline with Python behaviour [#​20357](https://redirect.github.com/pulumi/pulumi/pull/20357) - \[sdk/python] Add support for Python 3.14 [#​20433](https://redirect.github.com/pulumi/pulumi/pull/20433) - \[sdk/python] Add the `hide_diffs` resource option [#​20655](https://redirect.github.com/pulumi/pulumi/pull/20655) ##### Bug Fixes - \[engine] Fix assert when a resource that's not targeted on a destroy is marked as Delete [#​20684](https://redirect.github.com/pulumi/pulumi/pull/20684) - \[sdk/nodejs] Allow compiled local SDKs to be parameterized [#​20685](https://redirect.github.com/pulumi/pulumi/pull/20685) - \[sdk/nodejs] Handle RangeErrors from util.inspect stringifying error objects [#​20705](https://redirect.github.com/pulumi/pulumi/pull/20705) ### [`v3.201.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32010-2025-10-06) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.200.0...v3.201.0) ##### Features - \[sdkgen/go] Support non-object return types in functions [#​20646](https://redirect.github.com/pulumi/pulumi/pull/20646) ##### Bug Fixes - \[backend/service] Fix the --insecure flag in `pulumi login` ### [`v3.200.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32000-2025-10-03) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.199.0...v3.200.0) ##### Features - \[cli] Look for .cmd and .ps1 extensions as well on Windows when looking for executables [#​20637](https://redirect.github.com/pulumi/pulumi/pull/20637) - \[sdk/go] Add a new resource option: `HideDiffs` [#​20631](https://redirect.github.com/pulumi/pulumi/pull/20631) - \[sdk/nodejs] Add a new resource option: `hideDiffs` [#​20631](https://redirect.github.com/pulumi/pulumi/pull/20631) - \[sdkgen/python] Support non-object return types in functions [#​20624](https://redirect.github.com/pulumi/pulumi/pull/20624) ##### Bug Fixes - \[build] Use ruff to auto fix lints in python [#​20644](https://redirect.github.com/pulumi/pulumi/pull/20644) - \[sdk/nodejs] Make new arguments to `initialize` optional [#​20650](https://redirect.github.com/pulumi/pulumi/pull/20650) - \[sdkgen/nodejs] Generate a .gitignore file inside local SDKs [#​20643](https://redirect.github.com/pulumi/pulumi/pull/20643) - \[cli/state] Treat providers that are marked as parents in a move as providers still instead of as regular resources [#​20639](https://redirect.github.com/pulumi/pulumi/pull/20639) - \[cli/state] Exclude root stack correctly when moving resources and when --include-parents is passed ### [`v3.199.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31990-2025-10-01) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.198.0...v3.199.0) ##### Features - \[cli/about] Add `pulumi about env` to help [#​20633](https://redirect.github.com/pulumi/pulumi/pull/20633) - \[cli/{about,new}] Add environment variables to override template repository settings. The new PULUMI_TEMPLATE_GIT_REPOSITORY, PULUMI_TEMPLATE_BRANCH, PULUMI_POLICY_TEMPLATE_GIT_REPOSITORY, and PULUMI_POLICY_TEMPLATE_BRANCH environment variables allow runtime customization of template sources [#​20615](https://redirect.github.com/pulumi/pulumi/pull/20615) - \[cli/{install,package}] Add support for package references in plugins [#​20524](https://redirect.github.com/pulumi/pulumi/pull/20524) - \[sdk/nodejs] Pass options, name, and type to ComponentResources initialize methods [#​20618](https://redirect.github.com/pulumi/pulumi/pull/20618) - \[cli/policy] Send vcs metadata when publishing policy packs [#​20528](https://redirect.github.com/pulumi/pulumi/pull/20528) ##### Bug Fixes - \[cli/display] Always send diag events to stderr in the diff display [#​20632](https://redirect.github.com/pulumi/pulumi/pull/20632) - \[components] Stop including auth info in plugin name [#​20620](https://redirect.github.com/pulumi/pulumi/pull/20620) - \[engine] Support the import option in resource transforms [#​20586](https://redirect.github.com/pulumi/pulumi/pull/20586) - \[programgen] Fix panic in parseProxyApply when encoutering warning diagnostics [#​20583](https://redirect.github.com/pulumi/pulumi/pull/20583) - \[sdk/nodejs] Don't attempt to serialise function values for resource inputs/outputs [#​20621](https://redirect.github.com/pulumi/pulumi/pull/20621) ### [`v3.198.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31980-2025-09-26) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.197.0...v3.198.0) ##### Features - \[engine] Expand snapshot integrity check for resources [#​20519](https://redirect.github.com/pulumi/pulumi/pull/20519) - \[sdk/go] Refactor Go policy SDK to have access to a pulumi Context object [#​20570](https://redirect.github.com/pulumi/pulumi/pull/20570) - \[sdk/python] Allow registered resources to be retrieved from the mock monitor for test assertions [#​20540](https://redirect.github.com/pulumi/pulumi/pull/20540) ##### Bug Fixes - \[engine] Fix snapshot integrity error with `run-program --refresh`, when a provider has a dependency that isn't being created [#​20541](https://redirect.github.com/pulumi/pulumi/pull/20541) - \[engine] Remove unneeded data from policy summary events [#​20589](https://redirect.github.com/pulumi/pulumi/pull/20589) - \[sdk] Fix plugin killing during cancellation [#​20543](https://redirect.github.com/pulumi/pulumi/pull/20543) - \[sdk/go] Fix \[Unm/M]arshalProperties to return nil when given nil [#​20544](https://redirect.github.com/pulumi/pulumi/pull/20544) ##### Miscellaneous - \[protobuf] Add loader_target to LanguageRuntime.LinkRequest [#​20552](https://redirect.github.com/pulumi/pulumi/pull/20552) - \[cli/package] Move InstallPackage from cmd/packagecmd to cmd/packages [#​20550](https://redirect.github.com/pulumi/pulumi/pull/20550) - \[cli/package] Move stdout/stderr IO out of GenSDK and LinkPackage [#​20546](https://redirect.github.com/pulumi/pulumi/pull/20546) - \[sdk] Move PluginSpec.Install to pkg/workspace.InstallPluginContent [#​20537](https://redirect.github.com/pulumi/pulumi/pull/20537) - \[sdk/yaml] Bump pulumi-yaml to 1.23.2 [#​20588](https://redirect.github.com/pulumi/pulumi/pull/20588) ### [`v3.197.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31970-2025-09-17) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.196.0...v3.197.0) ##### Features - \[cli] Send new policy fields when publishing a policy pack - \[sdk/dotnet] Update dotnet to v3.88 [#​20512](https://redirect.github.com/pulumi/pulumi/pull/20512) ##### Bug Fixes - \[engine] Fix a panic in preview, that could happen in some cases when default providers get updated [#​20511](https://redirect.github.com/pulumi/pulumi/pull/20511) - \[components/python] Fix parenting of python components [#​20508](https://redirect.github.com/pulumi/pulumi/pull/20508) - \[sdk/python] Fix hang when shutting down in certain error conditions [#​20484](https://redirect.github.com/pulumi/pulumi/pull/20484) - \[sdk/python] Fix license-files entry for python package [#​20506](https://redirect.github.com/pulumi/pulumi/pull/20506) ### [`v3.196.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31960-2025-09-12) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.195.0...v3.196.0) ##### Miscellaneous - \[sdk] Add policy summary events apitypes [#​20443](https://redirect.github.com/pulumi/pulumi/pull/20443) - \[sdk] Add new policy fields apitypes [#​20491](https://redirect.github.com/pulumi/pulumi/pull/20491) - \[protobuf] Add support for indicating "not applicable" policies [#​20492](https://redirect.github.com/pulumi/pulumi/pull/20492) - \[protobuf] Add new analyzer policy fields [#​20494](https://redirect.github.com/pulumi/pulumi/pull/20494) ### [`v3.195.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31950-2025-09-10) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.194.0...v3.195.0) ##### Features - \[engine] Add support for capturing program stack traces as part of resource registration [#​20430](https://redirect.github.com/pulumi/pulumi/pull/20430) - \[sdk/go] Registered resources can now be retrieved from the mock monitor for test assertions [#​20472](https://redirect.github.com/pulumi/pulumi/pull/20472) - \[sdk/go] The current exports map is now available for unit testing through `GetCurrentExportMap` [#​20471](https://redirect.github.com/pulumi/pulumi/pull/20471) ##### Bug Fixes - \[pkg/go] Fix an issue where v3.194.0 of the `github.com/pulumi/pulumi/pkg/v3` module depends on APIs from `github.com/pulumi/pulumi/sdk/v3` that haven't been released [#​20487](https://redirect.github.com/pulumi/pulumi/issues/20487) ### [`v3.194.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31940-2025-09-08) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.193.0...v3.194.0) ##### Features - \[cli] Log diagnostics to stderr instead of stdout [#​20461](https://redirect.github.com/pulumi/pulumi/pull/20461) - \[cli/display] Change the default for --show-full-output from true to false [#​20467](https://redirect.github.com/pulumi/pulumi/pull/20467) - \[cli/display] Fix the --show-full-output the flag [#​20464](https://redirect.github.com/pulumi/pulumi/pull/20464) - \[sdk/go] Show a message that the Go program is being compiled [#​20460](https://redirect.github.com/pulumi/pulumi/pull/20460) ##### Bug Fixes - \[engine] Make ignoreChanges work better for arrays [#​20465](https://redirect.github.com/pulumi/pulumi/pull/20465) - \[programgen] Fix panic in RewriteApplies when encountering warning diagnostics [#​20453](https://redirect.github.com/pulumi/pulumi/pull/20453) ##### Miscellaneous - \[cli] No longer require the `PULUMI_EXPERIMENTAL` flag for Private Registry template operations (`pulumi template publish`, registry-based template resolution in `pulumi new`), while registry-backed template resolution in `pulumi new` may still be disabled using `PULUMI_DISABLE_REGISTRY_RESOLVE=true pulumi new` [#​20458](https://redirect.github.com/pulumi/pulumi/pull/20458) - \[sdk/yaml] Bump pulumi-yaml to 1.23.1 ### [`v3.193.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31930-2025-09-04) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.192.0...v3.193.0) ##### Bug Fixes - \[cli] Use "Private Registry", not cloud or Pulumi registry, in CLI output [#​20436](https://redirect.github.com/pulumi/pulumi/pull/20436) - \[cli/display] Avoid printing a double new line when showing secrets in the outputs [#​20435](https://redirect.github.com/pulumi/pulumi/pull/20435) - \[cli/display] Fix coloring of cobra error messages on windows - \[cli/{install,package}] Fix local package resolution when PULUMI_EXPERIMENTAL=true by including local packages in registry fallback logic [#​20413](https://redirect.github.com/pulumi/pulumi/pull/20413) - \[cli/new] Fail when running with --language without --ai in non-interactive mode [#​20415](https://redirect.github.com/pulumi/pulumi/pull/20415) - \[cli/package] Fix not using already-installed package in 'pulumi package add' when PULUMI_EXPERIMENTAL=1 ##### Miscellaneous - \[cli] Start the pprof server when receving SIGUSR1 [#​20392](https://redirect.github.com/pulumi/pulumi/pull/20392) - \[cli/display] Replace ijc/Gotty terminfo package with xo/terminfo [#​20446](https://redirect.github.com/pulumi/pulumi/pull/20446) - \[cli/display] Use the passed through writer in ShowProgressOutput instead of loading a new terminfo ### [`v3.192.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31920-2025-08-29) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.191.0...v3.192.0) ##### Features - \[cli/state] Add pulumi state taint/untaint commands to force replacement of resources upon next update [#​20380](https://redirect.github.com/pulumi/pulumi/pull/20380) - \[sdk/nodejs] Add `previewDestroy` to allow dry-runs of `destroy` commands [#​20371](https://redirect.github.com/pulumi/pulumi/pull/20371) ##### Bug Fixes - \[engine] Fix a bug causing hooks to never pass correctly to remote Go components [#​20390](https://redirect.github.com/pulumi/pulumi/pull/20390) - \[sdk/go] Fix source position information [#​20351](https://redirect.github.com/pulumi/pulumi/pull/20351) - \[sdk/nodejs] Fix function serialisation that contains minified classes [#​19345](https://redirect.github.com/pulumi/pulumi/pull/19345) - \[sdkgen/nodejs] Limit [@​types](https://redirect.github.com/types) packages used during local SDK generation [#​20387](https://redirect.github.com/pulumi/pulumi/pull/20387) - \[sdk/python] Set ThreadPoolExecutor max_workers to parallelism \* 4 [#​20362](https://redirect.github.com/pulumi/pulumi/pull/20362) - \[sdk/python] Handle `-v` flag passed to policy packs [#​20373](https://redirect.github.com/pulumi/pulumi/pull/20373) - \[sdk/python] Forward errors raised in callbacks to the caller [#​20381](https://redirect.github.com/pulumi/pulumi/pull/20381) ##### Miscellaneous - \[cli] Log stack trace when interrupted when using verbose logging [#​20364](https://redirect.github.com/pulumi/pulumi/pull/20364) - \[cli] Print the location of the log file when running with the verbose flag [#​20365](https://redirect.github.com/pulumi/pulumi/pull/20365) - \[sdk/python] Remove custom typing stubs [#​20384](https://redirect.github.com/pulumi/pulumi/pull/20384) ### [`v3.191.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31910-2025-08-21) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.190.0...v3.191.0) ##### Features - \[cli] Document the `PULUMI_ENABLE_STREAMING_JSON_PREVIEW` envvar. [#​20328](https://redirect.github.com/pulumi/pulumi/pull/20328) ##### Bug Fixes - \[engine] Check providers returning 'version' or '\__internal' in their inputs [#​20313](https://redirect.github.com/pulumi/pulumi/pull/20313) - \[engine] Fix a panic with `refresh --run-program` [#​20337](https://redirect.github.com/pulumi/pulumi/pull/20337) - \[engine] Fix an infinite loop from passing unordered resources to the dependency system when using --refresh - \[programgen] Emit warnings instead of errors in non-strict mode when binding resource blocks [#​20347](https://redirect.github.com/pulumi/pulumi/pull/20347) - \[programgen] Simplify range value types when it is derived from object of objects and warn on unknown properties [#​20345](https://redirect.github.com/pulumi/pulumi/pull/20345) - \[programgen] Warn instead of erroring out when traversing a NoneType in PCL [#​20342](https://redirect.github.com/pulumi/pulumi/pull/20342) - \[cli/display] Escape non-graphic characters in URNs [#​20295](https://redirect.github.com/pulumi/pulumi/pull/20295) - \[cli/import] Disambiguate duplicate resource names by their types when importing [#​20348](https://redirect.github.com/pulumi/pulumi/pull/20348) - \[cli/new] Don't prompt for ai or template when passing --yes [#​20256](https://redirect.github.com/pulumi/pulumi/pull/20256) ##### Miscellaneous - \[cli] Log version and CLI metadata [#​20334](https://redirect.github.com/pulumi/pulumi/pull/20334) - \[cli/package] Pass ParameterizeParameters to SchemaFromSchemaSource [#​20324](https://redirect.github.com/pulumi/pulumi/pull/20324) ### [`v3.190.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31900-2025-08-15) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.189.0...v3.190.0) ##### Features - \[engine] Don't error on `ignoreChanges` paths that are missing old data, there is nothing to ignore in those cases and we just use the new data [#​20278](https://redirect.github.com/pulumi/pulumi/pull/20278) ##### Bug Fixes - \[cli] Fix `destroy --exclude-protected --remove` returning an error for empty stacks that could safely be removed [#​20283](https://redirect.github.com/pulumi/pulumi/pull/20283) - \[cli] Fix `pulumi template publish` failing with relative paths by normalizing to absolute paths before archive creation [#​20301](https://redirect.github.com/pulumi/pulumi/pull/20301) - \[cli/import] Use mapped name instead of logical name for resource references during import code generation [#​20300](https://redirect.github.com/pulumi/pulumi/pull/20300) - \[pkg] Make TypeScript code generation use 'declare' keyword instead of definite assertion operator, to avoid setting all fields to undefined when targeting environments new enough [#​20261](https://redirect.github.com/pulumi/pulumi/pull/20261) - \[sdkgen/nodejs] Make TypeScript a full dependency of local SDKs [#​20272](https://redirect.github.com/pulumi/pulumi/pull/20272) ##### Miscellaneous - \[build] Updates protobuf and grpc to v5, bumping dependencies in the Go, Node.js, and Python SDKs [#​19588](https://redirect.github.com/pulumi/pulumi/pull/19588) - \[build] Update latest Go version to 1.25 [#​20284](https://redirect.github.com/pulumi/pulumi/pull/20284) - \[sdkgen/nodejs] Target ES2020 for generated SDKs [#​20276](https://redirect.github.com/pulumi/pulumi/pull/20276) ### [`v3.189.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31890-2025-08-12) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.188.0...v3.189.0) ##### Features - \[sdk] Remove CacheMS from CLIVersionResponse [#​20264](https://redirect.github.com/pulumi/pulumi/pull/20264) - \[sdk/go] Calculate PluginInfo.Size on demand [#​20241](https://redirect.github.com/pulumi/pulumi/pull/20241) - \[auto/python] Surface `json` option to `pulumi preview` calls in Python when using the `pulumi.automation` package. [#​20233](https://redirect.github.com/pulumi/pulumi/pull/20233) ##### Bug Fixes - \[cli/package] Fix incorrect console URLs being displayed after publishing a policy [#​20255](https://redirect.github.com/pulumi/pulumi/pull/20255) - \[engine] Fix race when reading plugin stdout [#​20242](https://redirect.github.com/pulumi/pulumi/pull/20242) - \[sdk/nodejs] Fix component providers when using pnpm [#​20253](https://redirect.github.com/pulumi/pulumi/pull/20253) ##### Miscellaneous - \[pkg] Make TypeScript code generation use nullish coalesce operator for required property checks, as well as state and args accessing whenever sensible - \[sdk/nodejs] Fix swapped stderr/stdout callback comments in PreviewOptions interface [#​20250](https://redirect.github.com/pulumi/pulumi/pull/20250) - \[sdkgen] Don’t create empty maps for language specific overrides [#​20237](https://redirect.github.com/pulumi/pulumi/pull/20237) ### [`v3.188.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31880-2025-08-07) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.187.0...v3.188.0) ##### Features - \[cli] Add `--remove-backups` flag to `pulumi stack rm` for DIY backends [#​20203](https://redirect.github.com/pulumi/pulumi/pull/20203) ##### Bug Fixes - \[cli] Fix cancellation when running via some CLI wrapper tools [#​20195](https://redirect.github.com/pulumi/pulumi/pull/20195) - \[cli] Fix concurrent read/write during plugin downloads [#​20223](https://redirect.github.com/pulumi/pulumi/pull/20223) - \[cli] Restore terminal mode on panic [#​20224](https://redirect.github.com/pulumi/pulumi/pull/20224) - \[engine] Fix panic in refreshes due to concurrent map writes [#​20206](https://redirect.github.com/pulumi/pulumi/pull/20206) - \[sdkgen] Warn about refs of the form "#/resources/pulumi:providers:<pkg>" [#​20192](https://redirect.github.com/pulumi/pulumi/pull/20192) - \[cli/display] Show changed outputs in preview [#​20161](https://redirect.github.com/pulumi/pulumi/pull/20161) - \[cli/engine] Make `--exclude` correctly handle wildcards in all cases [#​20158](https://redirect.github.com/pulumi/pulumi/pull/20158) - \[sdk/go] Fix running against old CLI versions without SignalAndWaitForShutdown [#​20212](https://redirect.github.com/pulumi/pulumi/pull/20212) - \[sdk/python] Fix dependency installation in uv workspaces [#​20218](https://redirect.github.com/pulumi/pulumi/pull/20218) ##### Miscellaneous - \[cli] Update pulumi-dotnet to 3.87.0 [#​20222](https://redirect.github.com/pulumi/pulumi/pull/20222) - \[cli/env] Bump esc to v0.17.0 [#​20197](https://redirect.github.com/pulumi/pulumi/pull/20197) ### [`v3.187.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31870-2025-07-31) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.186.0...v3.187.0) ##### Features - \[cli] Support for writing v4 checkpoints/deployments [#​20159](https://redirect.github.com/pulumi/pulumi/pull/20159) - \[cli] Add support for qualified registry template names in `pulumi new` [#​20138](https://redirect.github.com/pulumi/pulumi/pull/20138) - \[cli/import] Enable `pulumi import` to always `--generate-resources` when converting `--from` state files [#​20178](https://redirect.github.com/pulumi/pulumi/pull/20178) - \[yaml] Allow config values to be parsed with type `object` [#​20132](https://redirect.github.com/pulumi/pulumi/pull/20132) - \[auto/python] Allow for `on_error` callbacks in commands to capture stderr incrementally [#​20019](https://redirect.github.com/pulumi/pulumi/pull/20019) - \[sdk/nodejs] Add option of Bun as a package manager [#​18412](https://redirect.github.com/pulumi/pulumi/pull/18412) - \[sdk/nodejs] Copy `getRootDirectory` to the pulumi module [#​20173](https://redirect.github.com/pulumi/pulumi/pull/20173) - \[sdk/python] Copy `get_root_directory` to the pulumi module [#​20172](https://redirect.github.com/pulumi/pulumi/pull/20172) ##### Bug Fixes - \[cli] Fix un-taring registry-backed templates which come in .tar.gz format [#​20135](https://redirect.github.com/pulumi/pulumi/pull/20135) - \[cli] Stop passing Accept: application/x-tar to registry template download URLs to avoid signature mismatch [#​20133](https://redirect.github.com/pulumi/pulumi/pull/20133) - \[engine] Fix a panic with `up --refresh --run-program` and resource replacements [#​20147](https://redirect.github.com/pulumi/pulumi/pull/20147) - \[engine] Untargeted resources in `destroy` now correctly register as same steps [#​20061](https://redirect.github.com/pulumi/pulumi/pull/20061) - \[cli/engine] Fix hang when waiting for program that would never complete [#​20153](https://redirect.github.com/pulumi/pulumi/pull/20153) - \[sdk/nodejs] Fix delete hooks in inline automation API programs [#​20143](https://redirect.github.com/pulumi/pulumi/pull/20143) - \[sdk/python] Set features inside construct [#​20141](https://redirect.github.com/pulumi/pulumi/pull/20141) ##### Miscellaneous - \[sdk/nodejs] Bump TypeScript target to ES2020 for plugins and policy packs [#​20148](https://redirect.github.com/pulumi/pulumi/pull/20148) ### [`v3.186.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31860-2025-07-25) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.185.0...v3.186.0) ##### Features - \[engine] Send `Cancel` message to language runtime plugins on engine shutdown [#​20007](https://redirect.github.com/pulumi/pulumi/pull/20007) - \[engine] Pass stack tags to policy plugins on startup [#​20084](https://redirect.github.com/pulumi/pulumi/pull/20084) - \[yaml] Expose `object` as a possible config type in preparation for `pulumi-yaml` support [#​20129](https://redirect.github.com/pulumi/pulumi/pull/20129) ##### Bug Fixes - \[cli/engine] --exclude and --exclude-protected flags now work together correctly for `destroy` commands [#​20120](https://redirect.github.com/pulumi/pulumi/pull/20120) - \[engine] Fix a datarace in the engine event system [#​20105](https://redirect.github.com/pulumi/pulumi/pull/20105) - \[engine] Fix a panic in the engine when running `up --refresh --run-program` and finding a deleted resource - \[sdk/nodejs] Avoid "Cannot convert object to primitive value" error when running into type errors [#​20092](https://redirect.github.com/pulumi/pulumi/pull/20092) - \[sdk/nodejs] Don’t use automatic ESM mode when `—import` or `—require` is set [#​20091](https://redirect.github.com/pulumi/pulumi/pull/20091) - \[sdk/nodejs] Fix callback server hang & delete hooks in Node.js [#​20109](https://redirect.github.com/pulumi/pulumi/pull/20109) - \[sdk/nodejs] Don’t report leaked promises when we exit abnormally [#​20128](https://redirect.github.com/pulumi/pulumi/pull/20128) - \[cli/package] Force new style Go modules to be written out when using `package add` [#​20011](https://redirect.github.com/pulumi/pulumi/pull/20011) - \[sdk/python] Run uv sync on uv command [#​20117](https://redirect.github.com/pulumi/pulumi/pull/20117) ##### Miscellaneous - \[yaml] Update yaml to 1.21.3 [#​20118](https://redirect.github.com/pulumi/pulumi/pull/20118) ### [`v3.185.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#31850-2025-07-21) [Compare Source](https://redirect.github.com/pulumi/pulumi/compare/v3.184.0...v3.185.0) ##### Features - \[cli/{install,package}] Allow using `pulumi package add` with registry identifiers [#​19928](https://redirect.github.com/pulumi/pulumi/pull/19928) ##### Bug Fixes - \[engine] Fix a snapshot integrity issue with `destroy --run-program` and resource reads [#​20078](https://redirect.github.com/pulumi/pulumi/pull/20078) - \[sdkgen/python] Remove unnecessary `import copy` [#​20089](https://redirect.github.com/pulumi/pulumi/pull/20089) - \[sdkgen/python] Support properties named "builtins" [#​20085](https://redirect.github.com/pulumi/pulumi/pull/20085) </details> <details> <summary>pulumi/esc (github.com/pulumi/esc)</summary> ### [`v0.20.0`](https://redirect.github.com/pulumi/esc/releases/tag/v0.20.0) [Compare Source](https://redirect.github.com/pulumi/esc/compare/v0.19.0...v0.20.0) ##### Improvements - Added deletion protection for environments: - Use `esc env settings set [<org-name>/][<project-name>/]<environment-name> deletion-protected true` to enable deletion protection - Use `esc env settings get [<org-name>/][<project-name>/]<environment-name> [deletion-protected]` to check the current status - When enabled, environments cannot be deleted until protection is disabled - Deletion protection is disabled by default for new environments ##### Bug Fixes - Environment declarations are now returned even in the face of syntax errors. ##### Breaking changes ### [`v0.19.0`](https://redirect.github.com/pulumi/esc/releases/tag/v0.19.0) [Compare Source](https://redirect.github.com/pulumi/esc/compare/v0.18.0...v0.19.0) ##### Improvements - Added support for Open Approvals [#​592](https://redirect.github.com/pulumi/esc/pull/592) ##### Bug Fixes ##### Breaking changes ### [`v0.18.0`](https://redirect.github.com/pulumi/esc/releases/tag/v0.18.0) [Compare Source](https://redirect.github.com/pulumi/esc/compare/v0.17.0...v0.18.0) ##### Improvements - Added support for `fn::concat` built-in function to concatenate arrays. [#​582](https://redirect.github.com/pulumi/esc/pull/582) ##### Bug Fixes ##### Breaking changes </details> <details> <summary>pulumi/esc-action (pulumi/esc-action)</summary> ### [`v1.5.0`](https://redirect.github.com/pulumi/esc-action/releases/tag/v1.5.0) [Compare Source](https://redirect.github.com/pulumi/esc-action/compare/v1.4.0...v1.5.0) - Fix line parsing when "=" is present [https://github.com/pulumi/esc-action/pull/30](https://redirect.github.com/pulumi/esc-action/pull/30) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - Monday through Friday ( * * * * 1-5 ) (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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMjY0LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsImltcGFjdC9uby1jaGFuZ2Vsb2ctcmVxdWlyZWQiXX0=--> --------- Co-authored-by: pulumi-renovate[bot] <189166143+pulumi-renovate[bot]@users.noreply.github.com> Co-authored-by: pulumi-bot <bot@pulumi.com>
674 lines
25 KiB
YAML
674 lines
25 KiB
YAML
# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt
|
|
|
|
name: prerelease
|
|
on:
|
|
push:
|
|
tags:
|
|
- v*.*.*-**
|
|
env:
|
|
PROVIDER: docker-build
|
|
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
|
TRAVIS_OS_NAME: linux
|
|
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
|
GOVERSION: "1.21.x"
|
|
NODEVERSION: "20.x"
|
|
PYTHONVERSION: "3.11.8"
|
|
DOTNETVERSION: "8.0.x"
|
|
JAVAVERSION: "11"
|
|
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
|
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
|
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
|
AWS_REGION: us-west-2
|
|
AZURE_LOCATION: westus
|
|
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
|
|
IS_PRERELEASE: true
|
|
|
|
jobs:
|
|
prerequisites:
|
|
runs-on: ubuntu-latest
|
|
name: prerequisites
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
lfs: true
|
|
- env:
|
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
|
ESC_ACTION_OIDC_AUTH: "true"
|
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
|
id: esc-secrets
|
|
name: Fetch secrets from ESC
|
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Setup Tools
|
|
uses: ./.github/actions/setup-tools
|
|
with:
|
|
cache: 'true'
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
- if: github.event_name == 'pull_request'
|
|
name: Install Schema Tools
|
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.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';
|
|
|
|
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json;
|
|
|
|
echo 'EOF';
|
|
} >> "$GITHUB_ENV"
|
|
env:
|
|
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.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/*.*.csproj
|
|
sdk/dotnet/version.txt
|
|
sdk/go/**/pulumiUtilities.go
|
|
sdk/nodejs/package.json
|
|
sdk/python/pyproject.toml
|
|
sdk/java/build.gradle
|
|
**/mise.lock
|
|
**/.config/mise.lock
|
|
**/mise.*.lock
|
|
**/.config/mise.*.lock
|
|
- name: Commit 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/*.*.csproj \
|
|
sdk/dotnet/version.txt \
|
|
sdk/go/*/pulumi-plugin.json \
|
|
sdk/go/*/internal/pulumiUtilities.go \
|
|
sdk/nodejs/package.json
|
|
|
|
git commit -m 'Commit 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:${{ steps.esc-secrets.outputs.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@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
|
path: ${{ github.workspace }}/bin/provider.tar.gz
|
|
- name: Test Provider Library
|
|
run: make test_provider
|
|
env:
|
|
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
|
|
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
|
|
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Upload coverage reports to Codecov
|
|
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
|
|
env:
|
|
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }}
|
|
- if: failure() && github.event_name == 'push'
|
|
name: Notify Slack
|
|
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
|
with:
|
|
author_name: Failure in building provider prerequisites
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
env:
|
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
|
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
|
|
permissions:
|
|
pull-requests: write # For Renovate SDK updates.
|
|
id-token: write # For ESC secrets.
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
lfs: true
|
|
- env:
|
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
|
ESC_ACTION_OIDC_AUTH: "true"
|
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
|
id: esc-secrets
|
|
name: Fetch secrets from ESC
|
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Setup Tools
|
|
uses: ./.github/actions/setup-tools
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Download Provider Binary
|
|
uses: ./.github/actions/download-provider
|
|
- 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/*.*.csproj
|
|
sdk/dotnet/version.txt
|
|
sdk/go/**/pulumiUtilities.go
|
|
sdk/nodejs/package.json
|
|
sdk/python/pyproject.toml
|
|
sdk/java/build.gradle
|
|
**/mise.lock
|
|
**/.config/mise.lock
|
|
**/mise.*.lock
|
|
**/.config/mise.*.lock
|
|
- 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/*.*.csproj \
|
|
sdk/dotnet/version.txt \
|
|
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:${{ steps.esc-secrets.outputs.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@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
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@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
|
with:
|
|
author_name: Failure while building SDKs
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
env:
|
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
|
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 # For ESC secrets and Pulumi access token OIDC.
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
lfs: true
|
|
- env:
|
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
|
ESC_ACTION_OIDC_AUTH: "true"
|
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
|
id: esc-secrets
|
|
name: Fetch secrets from ESC
|
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Setup Tools
|
|
uses: ./.github/actions/setup-tools
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Download Provider Binary
|
|
uses: ./.github/actions/download-provider
|
|
- name: Download SDK
|
|
if: ${{ matrix.language != 'yaml' }}
|
|
uses: ./.github/actions/download-sdk
|
|
with:
|
|
language: ${{ 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@6cf9520e68354d86f81c455e8d43eabd58f5c9f5 # v1.5.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@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
|
|
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@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1
|
|
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 .
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- if: failure() && github.event_name == 'push'
|
|
name: Notify Slack
|
|
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
|
with:
|
|
author_name: Failure in SDK tests
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
env:
|
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
needs: test
|
|
name: publish
|
|
permissions:
|
|
contents: read
|
|
id-token: write # For ESC secrets.
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
lfs: true
|
|
- env:
|
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
|
ESC_ACTION_OIDC_AUTH: "true"
|
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
|
id: esc-secrets
|
|
name: Fetch secrets from ESC
|
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Setup Tools
|
|
uses: ./.github/actions/setup-tools
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
- 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: Configure AWS Credentials
|
|
uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0
|
|
with:
|
|
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }}
|
|
aws-region: us-east-2
|
|
aws-secret-access-key: ${{ steps.esc-secrets.outputs.AWS_SECRET_ACCESS_KEY }}
|
|
role-duration-seconds: 7200
|
|
role-session-name: ${{ env.PROVIDER }}@githubActions
|
|
role-external-id: upload-pulumi-release
|
|
role-to-assume: ${{ steps.esc-secrets.outputs.AWS_UPLOAD_ROLE_ARN }}
|
|
- name: Run GoReleaser
|
|
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
|
|
env:
|
|
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
|
AZURE_SIGNING_CLIENT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID }}
|
|
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }}
|
|
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }}
|
|
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }}
|
|
SKIP_SIGNING: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET == '' && steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI == '' }}
|
|
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
|
with:
|
|
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
|
version: latest
|
|
- if: failure() && github.event_name == 'push'
|
|
name: Notify Slack
|
|
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
|
with:
|
|
author_name: Failure in publishing binaries
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
env:
|
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
|
publish_sdk:
|
|
runs-on: ubuntu-latest
|
|
needs: publish
|
|
name: publish_sdk
|
|
permissions:
|
|
contents: read
|
|
id-token: write # For ESC secrets.
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
lfs: true
|
|
- env:
|
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
|
ESC_ACTION_OIDC_AUTH: "true"
|
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
|
id: esc-secrets
|
|
name: Fetch secrets from ESC
|
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Checkout Scripts Repo
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
path: ci-scripts
|
|
repository: pulumi/scripts
|
|
- run: echo "ci-scripts" >> .git/info/exclude
|
|
- name: Setup Tools
|
|
uses: ./.github/actions/setup-tools
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Download python SDK
|
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
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:
|
|
NUGET_PUBLISH_KEY: ${{ steps.esc-secrets.outputs.NUGET_PUBLISH_KEY }}
|
|
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }}
|
|
PYPI_PUBLISH_ARTIFACTS: all
|
|
PYPI_USERNAME: __token__
|
|
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.PYPI_API_TOKEN }}
|
|
- if: failure() && github.event_name == 'push'
|
|
name: Notify Slack
|
|
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
|
with:
|
|
author_name: Failure in publishing SDK
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
env:
|
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
|
publish_java_sdk:
|
|
runs-on: ubuntu-latest
|
|
continue-on-error: true
|
|
needs: publish
|
|
name: publish_java_sdk
|
|
permissions:
|
|
contents: read
|
|
id-token: write # For ESC secrets.
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
lfs: true
|
|
- env:
|
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
|
ESC_ACTION_OIDC_AUTH: "true"
|
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
|
id: esc-secrets
|
|
name: Fetch secrets from ESC
|
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Setup Tools
|
|
uses: ./.github/actions/setup-tools
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Download java SDK
|
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
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: Setup Gradle
|
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
|
with:
|
|
gradle-version: "7.6"
|
|
- name: Publish Java SDK
|
|
run: gradle -p ./sdk/java publishToSonatype closeAndReleaseSonatypeStagingRepository
|
|
env:
|
|
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
|
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }}
|
|
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }}
|
|
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }}
|
|
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.OSSRH_PASSWORD }}
|
|
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }}
|
|
publish_go_sdk:
|
|
runs-on: ubuntu-latest
|
|
name: publish-go-sdk
|
|
needs: publish_sdk
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
lfs: true
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Download go SDK
|
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
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: "**"
|