Backport for CLI v1.8.3 (monthly public/latest) - #1185
Conversation
## What changed? Supersedes #1094, whose contributor is no longer responding. This branch replays Nanook’s two authored commits unchanged so their contribution remains credited, then adds a small maintainer follow-up to restore the successful `client.Dial` guard and preserve the accepted cleanup/logging review suggestions. ## Validation - `go test ./internal/temporalcli -run '^TestServer_StartDev_ConcurrentStarts$' -count=1` ## Notes The original PR remains open and untouched. --------- Co-authored-by: Nanook <nanookclaw@users.noreply.github.com> (cherry picked from commit b646628)
…-role-and-external-id (#1140) ## What changed? ### Why `create-version` and `update-version-compute-config` currently require `--aws-lambda-assume-role-arn` and `--aws-lambda-assume-role-external-id` whenever `--aws-lambda-function-arn` is set. The Temporal server governs whether these are actually mandatory via the global `require_role_and_external_id` setting (default `true`), so a role-less config is valid against servers where that setting is disabled — e.g. local dev against LocalStack. CLI's validation needs to be relaxed to allow role less config creation. ### How This PR allows the role less config by adding a new CLI parameter `--aws-lambda-skip-role-and-external-id`. By default the CLI keeps requiring both(role and id) fields and fails fast with an actionable client-side error that names the missing flag. Passing the flag specifically opts out of the client-side check and defers entirely to the server's policy. ### Testing With flag set as default true ``` mani@manis-MacBook-Pro temporal-cli % ./temporal worker deployment create-version --address 127.0.0.1:7333 --deployment-name test-deploy --build-id b-noRole \ --aws-lambda-function-arn arn:aws:lambda:us-east-1:123456789012:function:MyExampleFunction:1 Error: missing required AWS Lambda provider detail: role mani@manis-MacBook-Pro temporal-cli % ./temporal worker deployment create-version --address 127.0.0.1:7333 --deployment-name test-deploy --build-id b-noEid \ --aws-lambda-function-arn arn:aws:lambda:us-east-1:123456789012:function:MyExampleFunction:1 \ --aws-lambda-assume-role-arn arn:aws:iam::123456789012:role/MyServiceRole Error: missing required AWS Lambda provider detail: role_external_id mani@manis-MacBook-Pro temporal-cli % ./temporal worker deployment create-version --address 127.0.0.1:7333 --deployment-name test-deploy --build-id b-skipRole \ --aws-lambda-function-arn arn:aws:lambda:us-east-1:123456789012:function:MyExampleFunction:1 \ --aws-lambda-assume-role-arn arn:aws:iam::123456789012:role/MyServiceRole \ --aws-lambda-skip-role-and-external-id Error: AWS Lambda provider detail "role" must not be set when --aws-lambda-skip-role-and-external-id is passed mani@manis-MacBook-Pro temporal-cli % ./temporal worker deployment create-version --address 127.0.0.1:7333 --deployment-name test-deploy --build-id b-skipOnly \ --aws-lambda-function-arn arn:aws:lambda:us-east-1:123456789012:function:MyExampleFunction:1 \ --aws-lambda-skip-role-and-external-id Error: error creating worker deployment version: no Worker Deployment found with name 'test-deploy'; does your Worker Deployment have pollers? mani@manis-MacBook-Pro temporal-cli % ./temporal worker deployment create-version --address 127.0.0.1:7333 --deployment-name test-deploy --build-id b-skipEid \ --aws-lambda-function-arn arn:aws:lambda:us-east-1:123456789012:function:MyExampleFunction:1 \ --aws-lambda-assume-role-external-id external-id \ --aws-lambda-skip-role-and-external-id Error: AWS Lambda provider detail "role_external_id" must not be set when --aws-lambda-skip-role-and-external-id is passed mani@manis-MacBook-Pro temporal-cli % ./temporal worker deployment update-version-compute-config --address 127.0.0.1:7333 --deployment-name test-deploy --build-id b-skipRole \ --aws-lambda-function-arn arn:aws:lambda:us-east-1:123456789012:function:MyExampleFunction:1 \ --aws-lambda-assume-role-arn arn:aws:iam::123456789012:role/MyServiceRole \ --aws-lambda-skip-role-and-external-id Error: AWS Lambda provider detail "role" must not be set when --aws-lambda-skip-role-and-external-id is passed mani@manis-MacBook-Pro temporal-cli % ./temporal worker deployment update-version-compute-config --address 127.0.0.1:7333 --deployment-name test-deploy --build-id b-skipOnly \ --aws-lambda-function-arn arn:aws:lambda:us-east-1:123456789012:function:MyExampleFunction:1 \ --aws-lambda-skip-role-and-external-id Error: error updating worker deployment version compute config: build ID 'b-skipOnly' not found in Worker Deployment 'test-deploy' mani@manis-MacBook-Pro temporal-cli % ``` for when the local server's require_role_and_external_id flag is set to false ``` mani@manis-MacBook-Pro temporal-cli % ./temporal worker deployment create-version --address 127.0.0.1:7333 --deployment-name skip-demo --build-id skip-test-1 \ --aws-lambda-function-arn arn:aws:lambda:us-east-1:123456789012:function:MyExampleFunction:1 \ --aws-lambda-skip-role-and-external-id Error: error creating worker deployment version: no Worker Deployment found with name 'skip-demo'; does your Worker Deployment have pollers? mani@manis-MacBook-Pro temporal-cli % ./temporal worker deployment create-version --address 127.0.0.1:7333 --deployment-name skip-demo --build-id role-test-1 \ --aws-lambda-function-arn arn:aws:lambda:us-east-1:123456789012:function:MyExampleFunction:1 \ --aws-lambda-assume-role-arn arn:aws:iam::123456789012:role/MyServiceRole \ --aws-lambda-assume-role-external-id external-id Error: error creating worker deployment version: no Worker Deployment found with name 'skip-demo'; does your Worker Deployment have pollers? mani@manis-MacBook-Pro temporal-cli % ./temporal worker deployment create-version --address 127.0.0.1:7333 --deployment-name skip-demo --build-id skip-neg-1 \ --aws-lambda-function-arn arn:aws:lambda:us-east-1:123456789012:function:MyExampleFunction:1 \ --aws-lambda-assume-role-arn arn:aws:iam::123456789012:role/MyServiceRole \ --aws-lambda-skip-role-and-external-id Error: AWS Lambda provider detail "role" must not be set when --aws-lambda-skip-role-and-external-id is passed mani@manis-MacBook-Pro temporal-cli % ./temporal worker deployment update-version-compute-config --address 127.0.0.1:7333 --deployment-name skip-demo --build-id poller-build --aws-lambda-function-arn arn:aws:lambda:us-east-1:123456789012:function:MyExampleFunction:1 --aws-lambda-skip-role-and-external-id Error: error updating worker deployment version compute config: default: lambda GetFunction failed: operation error Lambda: GetFunction, get identity: get credentials: failed to refresh cached credentials, no EC2 IMDS role found, operation error ec2imds: GetMetadata, request canceled, context deadline exceeded mani@manis-MacBook-Pro temporal-cli % ``` --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> (cherry picked from commit 6e3ae1e)
Shell completion always sets __complete as the first argument, so to delegate to extensions, `temporal __complete cloud n` needs to be rewritten as `temporal-cloud __complete n`. `help` can be invoked the same way ## Related issues CLDDX-150 ## What changed? * `tryExecuteExtension` delegates `help` and shell completion to extensions that match the remaining arguments * extensions are registered during shell completion, so "temporal <TAB>" will show them ## Checklist **Design** * [x] This feature does not depend on Cloud-only APIs or behavior (it works against an OSS server) **Tests** * [x] Added unit test(s) (`func TestXxx`) where applicable ## Manual tests **Setup** Install at least one extension, like the [cloud cli](https://github.com/temporalio/cloud-cli#quick-install) (`brew install temporalio/prerelease/temporal-cloud` on Mac or Linux with homebrew installed) **Happy path** ``` $ temporal <TAB> activity -- Operate on Activity Executions batch -- Manage running batch jobs cloud -- An extension command located at /opt/homebrew/bin/temporal-cloud completion -- Generate the autocompletion script for the specified shell config -- Manage config files (EXPERIMENTAL) env -- Manage environments help -- Help about any command nexus -- Start, list, and operate on Nexus Operations operator -- Manage Temporal deployments schedule -- Perform operations on Schedules server -- Run Temporal Server task-queue -- Manage Task Queues worker -- Read or update Worker state workflow -- Start, list, and operate on Workflows $ temporal cl<TAB> temporal cloud $ temporal cloud <TAB> account -- Manage Temporal Cloud account apikey -- Manage Temporal Cloud API keys async-operation -- Manage async operations connectivity -- Manage Temporal Cloud connectivity rules custom-role -- [Experimental] Manage Temporal Cloud custom roles help -- Help about any command login -- Authenticate with Temporal Cloud logout -- Clear Temporal Cloud authentication credentials namespace -- Manage Temporal Cloud namespaces nexus -- Manage Temporal Cloud Nexus Operations region -- Manage Temporal Cloud regions service-account -- Manage Temporal Cloud service accounts user -- Manage Temporal Cloud users user-group -- Manage Temporal Cloud user groups whoami -- Display the current authenticated identity ``` ``` $ temporal help --all ... Available Commands: activity Operate on Activity Executions batch Manage running batch jobs cloud An extension command located at /opt/homebrew/bin/temporal-cloud completion Generate the autocompletion script for the specified shell config Manage config files (EXPERIMENTAL) env Manage environments help Help about any command nexus Start, list, and operate on Nexus Operations operator Manage Temporal deployments schedule Perform operations on Schedules server Run Temporal Server task-queue Manage Task Queues worker Read or update Worker state workflow Start, list, and operate on Workflows ... temporal help cloud The Temporal Cloud CLI provides commands for managing and operating Temporal Cloud resources, including namespaces, users, and account settings. Example: temporal cloud namespace get --namespace my-namespace.my-account Usage: temporal cloud [command] Available Commands: account Manage Temporal Cloud account apikey Manage Temporal Cloud API keys async-operation Manage async operations connectivity Manage Temporal Cloud connectivity rules custom-role [Experimental] Manage Temporal Cloud custom roles help Help about any command login Authenticate with Temporal Cloud logout Clear Temporal Cloud authentication credentials namespace Manage Temporal Cloud namespaces nexus Manage Temporal Cloud Nexus Operations region Manage Temporal Cloud regions service-account Manage Temporal Cloud service accounts user Manage Temporal Cloud users user-group Manage Temporal Cloud user groups whoami Display the current authenticated identity ``` **Error case** ``` temporal z<TAB> ``` (no completions shown) Behavior remains unchanged when an unknown argument is passed to `temporal help`: ``` $ temporal help zzz The Temporal CLI manages, monitors, and debugs Temporal apps. It lets you run a local Temporal Service, start Workflow Executions, pass messages to running Workflows, inspect state, and more. ... ``` --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> (cherry picked from commit ba78f94)
## Related issues <!-- Closes #123 --> Closes: https://temporalio.atlassian.net/browse/COM-241 ## What changed? <!-- Describe what this PR does at a high level. --> Adds `--gcp-cloud-run-scale-down-stabilization-duration` to `temporal worker deployment create-version` and `temporal worker deployment update-version-compute-config`. **UX difference:** the GCP Cloud Run scaler's scale-down stabilization window was previously hard-coded to 90s, so a worker pool running long or bursty activities could be scaled down out from under in-flight work. Users can now configure it: ``` # before: not settable — always 90s # after: temporal worker deployment create-version ... \ --gcp-cloud-run-scale-down-stabilization-duration 10m # hold capacity 10m after demand ``` Details: - The flag is a **duration** (`90s`, `5m`, `10m`), matching the CLI's convention for time-valued flags (`cliext.FlagDuration`, like `--schedule-to-close-timeout`, `--retention`). It joins the existing all-or-none GCP Cloud Run scaler group, so `--gcp-cloud-run-min-instances`, `--gcp-cloud-run-max-instances`, `--gcp-cloud-run-initial-instances`, `--gcp-cloud-run-utilization-target`, and `--gcp-cloud-run-scale-down-stabilization-duration` must all be set together. - Behavior: after the scaler last saw unmet task demand, it waits this long before it may scale the pool down. Defaults to `90s` when unset; `0s` disables the wait. - The CLI converts the duration to milliseconds and sends it under the rate-based scaler's existing `no_sync_quiet_ms` config key, which the server (WCI) already validates and applies — **no server-side change is required**. - `describe-version` surfaces the value as a duration string (JSON `scaleDownStabilization`, e.g. `"5m 0s"`, formatted the same way as schedule durations; the text summary shows the same). ## Checklist <!-- Your PR should satisfy all these requirements. However, feel free to remove items that don't apply to the PR. Consider giving this checklist to an AI agent before opening your PR. --> **Stability** - [x] Breaking changes are marked with 💥 in the PR title and release notes — *no breaking changes; the flag joins an as-yet-unreleased flag group* - [x] Changes to JSON output (`-o json` / `-o jsonl`) are treated as breaking changes — *`describe-version` gains an additive `scaleDownStabilizationMs` field; the GCP scaler JSON block is not in a tagged release yet, so no released output changes* **Design** - [x] This feature does not depend on Cloud-only APIs or behavior (it works against an OSS server) - [x] New commands follow `temporal <noun> <verb>` structure — *no new commands; flag added to existing commands* - [x] New flags are named after the API concept, not the implementation mechanism — *`scale-down-stabilization-duration` names the behavior (cf. k8s HPA "stabilization window"), not the internal `no_sync_quiet_ms` key* - [x] New flags don't duplicate an existing flag that serves the same purpose - [x] New flags do not have short aliases without strong justification — *no alias* - [x] Experimental features are marked with `(Experimental)` in `commands.yaml` — *both commands already carry a "This is an experimental feature" note* **Help text** (see style guide at the top of `commands.yaml`) - [x] All flags shown in help text and examples are implemented and functional — *the GCP examples include all five flags so they stay copy-pasteable* - [x] Summaries use sentence case and have no trailing period — *no new command summaries* - [x] Long descriptions end with a period and include at least one example invocation - [x] Examples use long flags (`--namespace`, not `-n`), one flag per line - [x] Placeholder values use `YourXxx` form (`YourWorkflowId`, `YourNamespace`) **Behavior** - [x] Results go to stdout; errors and warnings go to stderr - [x] Error messages are lowercase with no trailing punctuation **Tests** - [x] Added functional test(s) (`SharedServerSuite`) — group/negative/sub-millisecond/wrong-provider cases in `TestCreateWorkerDeploymentVersion_Errors`; carried in `...UpdateModes` - [x] Added unit test(s) (`func TestXxx`) — `TestGCPCloudRunScalerDetails`, `TestFormatComputeConfigProto_ScalerBounds` ## Manual tests <!-- Edit the code samples below to provide setup and happy-path and error-path testing instructions. --> **Setup** ``` temporal server start-dev --headless ``` > A full `--gcp-cloud-run-*` create also needs a real Cloud Run worker pool + > service account (the server validates the provider). The error-path checks > below run entirely against the dev server (they fail client-side, before the > RPC). The runtime effect was verified separately via an in-process WCI > integration test. **Happy path** ``` $ temporal worker deployment create-version \ --deployment-name YourDeployment \ --build-id YourBuildId \ --gcp-cloud-run-project YourGcpProject \ --gcp-cloud-run-region us-central1 \ --gcp-cloud-run-worker-pool YourWorkerPool \ --gcp-cloud-run-service-account YourServiceAccount@YourGcpProject.iam.gserviceaccount.com \ --gcp-cloud-run-min-instances 0 \ --gcp-cloud-run-max-instances 10 \ --gcp-cloud-run-initial-instances 2 \ --gcp-cloud-run-utilization-target 0.8 \ --gcp-cloud-run-scale-down-stabilization-duration 5m Successfully created worker deployment version $ temporal worker deployment describe-version \ --deployment-name YourDeployment \ --build-id YourBuildId # summary: gcp-cloud-run (min 0, initial 2, max 10, utilization 0.8, scale-down-stabilization 5m 0s) # --output json includes "scaleDownStabilization": "5m 0s" on the scaler ``` **Error case** ``` # incomplete group (all five must be set together): $ temporal worker deployment create-version \ --deployment-name YourDeployment --build-id YourBuildId \ --gcp-cloud-run-project YourGcpProject --gcp-cloud-run-region us-central1 \ --gcp-cloud-run-worker-pool YourWorkerPool \ --gcp-cloud-run-service-account YourServiceAccount@YourGcpProject.iam.gserviceaccount.com \ --gcp-cloud-run-scale-down-stabilization-duration 5m Error: --gcp-cloud-run-min-instances, --gcp-cloud-run-max-instances, --gcp-cloud-run-initial-instances, --gcp-cloud-run-utilization-target, and --gcp-cloud-run-scale-down-stabilization-duration must be set together $ echo $? 1 # negative (incl. sub-millisecond, which must not silently truncate to 0): $ temporal worker deployment create-version \ --deployment-name YourDeployment --build-id YourBuildId \ --gcp-cloud-run-project YourGcpProject --gcp-cloud-run-region us-central1 \ --gcp-cloud-run-worker-pool YourWorkerPool \ --gcp-cloud-run-service-account YourServiceAccount@YourGcpProject.iam.gserviceaccount.com \ --gcp-cloud-run-min-instances 0 --gcp-cloud-run-max-instances 10 \ --gcp-cloud-run-initial-instances 2 --gcp-cloud-run-utilization-target 0.8 \ --gcp-cloud-run-scale-down-stabilization-duration=-1us Error: --gcp-cloud-run-scale-down-stabilization-duration cannot be negative # sub-millisecond precision is rejected rather than silently rounded: $ temporal worker deployment create-version ... \ --gcp-cloud-run-scale-down-stabilization-duration 500us Error: --gcp-cloud-run-scale-down-stabilization-duration must be a whole number of milliseconds # on a non-GCP provider: $ temporal worker deployment create-version \ --deployment-name YourDeployment --build-id YourBuildId \ --aws-lambda-function-arn YourFunctionArn \ --aws-lambda-skip-role-and-external-id \ --gcp-cloud-run-scale-down-stabilization-duration 5m Error: the Cloud Run scaling flags are only valid with --gcp-cloud-run-worker-pool ``` **Composition** <!-- How might a user combine this with existing commands? e.g. using the output of one command as input to another --> ``` # Raise the stabilization window on an existing version (all five flags are # re-supplied, since they are one all-or-none group), then confirm via describe. $ temporal worker deployment update-version-compute-config \ --deployment-name YourDeployment --build-id YourBuildId \ --gcp-cloud-run-worker-pool YourWorkerPool \ --gcp-cloud-run-min-instances 0 --gcp-cloud-run-max-instances 10 \ --gcp-cloud-run-initial-instances 2 --gcp-cloud-run-utilization-target 0.8 \ --gcp-cloud-run-scale-down-stabilization-duration 10m Successfully updated worker deployment version compute config $ temporal worker deployment describe-version \ --deployment-name YourDeployment --build-id YourBuildId --output json # scaler now shows "scaleDownStabilization": "10m 0s" ``` Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> (cherry picked from commit fb00858)
## Related issues None directly, it came up while I was looking at adding structure to some of the auth failures in the client I couldn't find anywhere that the cliext tests were getting executed, and attempting to build `cliext` by itself fails with ``` ./client.go:137:11: profile.Authority undefined (type "go.temporal.io/sdk/contrib/envconfig".ClientConfigProfile has no field or method Authority) ./config.oauth.go:144:20: assignment mismatch: 1 variable but envconfig.DefaultConfigFilePath returns 2 values ``` ## What changed * Added cliext tests to CI workflow (causes the above failures to surface in the CI workflow) * Updated `cliext/go.mod` to use the same versions (as applicable) of packages as are used in the main `go.mod` (fixes the failures) * Added `test` as a Makefile target (convenience when making changes across `cliext` and the main package) (cherry picked from commit bbd111c)
Bumps the github-actions group with 3 updates: [actions/checkout](https://github.com/actions/checkout), [actions/setup-go](https://github.com/actions/setup-go) and [actions/setup-python](https://github.com/actions/setup-python). Updates `actions/checkout` from 7.0.0 to 7.0.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p> <blockquote> <h2>v7.0.1</h2> <h2>What's Changed</h2> <ul> <li>skip running unsafe pr check if input is default by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2518">actions/checkout#2518</a></li> <li>trim only ascii whitespace for branch by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2521">actions/checkout#2521</a></li> <li>escape values passed to --unset by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2530">actions/checkout#2530</a></li> <li>Various dependency updates</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v7...v7.0.1">https://github.com/actions/checkout/compare/v7...v7.0.1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <h2>v7.0.1</h2> <ul> <li>Skip running unsafe pr check if input is default by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2518">actions/checkout#2518</a></li> <li>Trim only ascii whitespace for branch by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2521">actions/checkout#2521</a></li> <li>Escape values passed to --unset by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2530">actions/checkout#2530</a></li> <li>Various dependency updates</li> </ul> <h2>v7.0.0</h2> <ul> <li>Block checking out fork PR for pull_request_target and workflow_run by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li> <li>Various dependency updates</li> </ul> <h2>v6.0.3</h2> <ul> <li>Fix checkout init for SHA-256 repositories by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2439">actions/checkout#2439</a></li> <li>fix: expand merge commit SHA regex and add SHA-256 test cases by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li> </ul> <h2>v6.0.2</h2> <ul> <li>Fix tag handling: preserve annotations and explicit fetch-tags by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li> </ul> <h2>v6.0.1</h2> <ul> <li>Add worktree support for persist-credentials includeIf by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li> </ul> <h2>v6.0.0</h2> <ul> <li>Persist creds to a separate file by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li> <li>Update README to include Node.js 24 support details and requirements by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li> </ul> <h2>v5.0.1</h2> <ul> <li>Port v6 cleanup to v5 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li> </ul> <h2>v5.0.0</h2> <ul> <li>Update actions checkout to use node 24 by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li> </ul> <h2>v4.3.1</h2> <ul> <li>Port v6 cleanup to v4 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li> </ul> <h2>v4.3.0</h2> <ul> <li>docs: update README.md by <a href="https://github.com/motss"><code>@motss</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li> <li>Add internal repos for checking out multiple repositories by <a href="https://github.com/mouismail"><code>@mouismail</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li> <li>Documentation update - add recommended permissions to Readme by <a href="https://github.com/benwells"><code>@benwells</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li> <li>Adjust positioning of user email note and permissions heading by <a href="https://github.com/joshmgross"><code>@joshmgross</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li> <li>Update README.md by <a href="https://github.com/nebuk89"><code>@nebuk89</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li> <li>Update CODEOWNERS for actions by <a href="https://github.com/TingluoHuang"><code>@TingluoHuang</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li> <li>Update package dependencies by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li> </ul> <h2>v4.2.2</h2> <ul> <li><code>url-helper.ts</code> now leverages well-known environment variables by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li> <li>Expand unit test coverage for <code>isGhes</code> by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li> </ul> <h2>v4.2.1</h2> <ul> <li>Check out other refs/* by commit if provided, fall back to ref by <a href="https://github.com/orhantoy"><code>@orhantoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/checkout/commit/3d3c42e5aac5ba805825da76410c181273ba90b1"><code>3d3c42e</code></a> prep v7.0.1 release (<a href="https://redirect.github.com/actions/checkout/issues/2531">#2531</a>)</li> <li><a href="https://github.com/actions/checkout/commit/28802689a136bfcdb721715abd713740beecbe07"><code>2880268</code></a> escape values passed to --unset (<a href="https://redirect.github.com/actions/checkout/issues/2530">#2530</a>)</li> <li><a href="https://github.com/actions/checkout/commit/12cd2235efa0937479335606d7c3ac9f6c0973b1"><code>12cd223</code></a> trim only ascii whitespace for branch (<a href="https://redirect.github.com/actions/checkout/issues/2521">#2521</a>)</li> <li><a href="https://github.com/actions/checkout/commit/62661c4e71a304b2823ed026347b8d34c3eac541"><code>62661c4</code></a> skip running unsafe pr check if input is default (<a href="https://redirect.github.com/actions/checkout/issues/2518">#2518</a>)</li> <li><a href="https://github.com/actions/checkout/commit/e8d4307400f9427dba7cb98e488d6ab85f1cec5f"><code>e8d4307</code></a> Bump the minor-actions-dependencies group with 2 updates (<a href="https://redirect.github.com/actions/checkout/issues/2499">#2499</a>)</li> <li><a href="https://github.com/actions/checkout/commit/631c942040754b6e095e929c1677c07e10ed4f87"><code>631c942</code></a> eslint 9 (<a href="https://redirect.github.com/actions/checkout/issues/2474">#2474</a>)</li> <li><a href="https://github.com/actions/checkout/commit/4f1f4aec02e41874fa0262ea8ff5172d7978ad1e"><code>4f1f4ae</code></a> Bump actions/upload-artifact from 4 to 7 (<a href="https://redirect.github.com/actions/checkout/issues/2476">#2476</a>)</li> <li><a href="https://github.com/actions/checkout/commit/ba097532fb203f7e88c9c3c0b899b49469908a92"><code>ba09753</code></a> Bump actions/checkout from 6 to 7 (<a href="https://redirect.github.com/actions/checkout/issues/2488">#2488</a>)</li> <li><a href="https://github.com/actions/checkout/commit/b9e0990d219a03df7633c93f6f005a8fecbcab22"><code>b9e0990</code></a> Bump docker/login-action from 3.3.0 to 4.2.0 (<a href="https://redirect.github.com/actions/checkout/issues/2479">#2479</a>)</li> <li><a href="https://github.com/actions/checkout/commit/e8cb398be4a550817e382abf69e4c12c76fce1f2"><code>e8cb398</code></a> Bump docker/build-push-action from 6.5.0 to 7.2.0 (<a href="https://redirect.github.com/actions/checkout/issues/2478">#2478</a>)</li> <li>Additional commits viewable in <a href="https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1">compare view</a></li> </ul> </details> <br /> Updates `actions/setup-go` from 6.5.0 to 7.0.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/setup-go/releases">actions/setup-go's releases</a>.</em></p> <blockquote> <h2>v7.0.0</h2> <h2>What's Changed</h2> <ul> <li>Migrate to ESM and upgrade dependencies by <a href="https://github.com/priyagupta108"><code>@priyagupta108</code></a> in <a href="https://redirect.github.com/actions/setup-go/pull/763">actions/setup-go#763</a></li> <li>chore(deps): bump <code>@actions/cache</code> to 6.2.0 by <a href="https://github.com/philip-gai"><code>@philip-gai</code></a> in <a href="https://redirect.github.com/actions/setup-go/pull/771">actions/setup-go#771</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/philip-gai"><code>@philip-gai</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-go/pull/771">actions/setup-go#771</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-go/compare/v6...v7.0.0">https://github.com/actions/setup-go/compare/v6...v7.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/setup-go/commit/b7ad1dad31e06c5925ef5d2fc7ad053ef454303e"><code>b7ad1da</code></a> chore(deps): bump <code>@actions/cache</code> to 6.2.0 (<a href="https://redirect.github.com/actions/setup-go/issues/771">#771</a>)</li> <li><a href="https://github.com/actions/setup-go/commit/0778a10ce47b5d450cf60fb94fafad4330008a35"><code>0778a10</code></a> Migrate to ESM and upgrade dependencies (<a href="https://redirect.github.com/actions/setup-go/issues/763">#763</a>)</li> <li>See full diff in <a href="https://github.com/actions/setup-go/compare/924ae3a1cded613372ab5595356fb5720e22ba16...b7ad1dad31e06c5925ef5d2fc7ad053ef454303e">compare view</a></li> </ul> </details> <br /> Updates `actions/setup-python` from 6.3.0 to 7.0.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/setup-python/releases">actions/setup-python's releases</a>.</em></p> <blockquote> <h2>v7.0.0</h2> <h2>What's Changed</h2> <h3>Enhancements</h3> <ul> <li>Migrate to ESM and upgrade dependencies by <a href="https://github.com/priyagupta108"><code>@priyagupta108</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1330">actions/setup-python#1330</a></li> <li>Pin SHA commits and update docs with latest versions by <a href="https://github.com/HarithaVattikuti"><code>@HarithaVattikuti</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1338">actions/setup-python#1338</a></li> <li>Remove the pip-install input by <a href="https://github.com/gowridurgad"><code>@gowridurgad</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1336">actions/setup-python#1336</a></li> </ul> <h3>Bug Fix</h3> <ul> <li>Fix to Classify stderr warning messages as warnings instead of errors in annotations by <a href="https://github.com/lmvysakh"><code>@lmvysakh</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1335">actions/setup-python#1335</a></li> <li>Validate and retry manifest fetch to prevent silent failures by <a href="https://github.com/priyagupta108"><code>@priyagupta108</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1332">actions/setup-python#1332</a></li> </ul> <h3>Dependency Upgrade</h3> <ul> <li>Bump certifi from 2020.6.20 to 2024.7.4 in /<strong>tests</strong>/data by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1328">actions/setup-python#1328</a></li> <li>Remove EOL Python versions and Bumps numpy text fixture by <a href="https://github.com/priya-kinthali"><code>@priya-kinthali</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1333">actions/setup-python#1333</a></li> <li>Upgrade <code>@actions/cache</code> to 6.2.0 by <a href="https://github.com/philip-gai"><code>@philip-gai</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1337">actions/setup-python#1337</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/lmvysakh"><code>@lmvysakh</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/1335">actions/setup-python#1335</a></li> <li><a href="https://github.com/philip-gai"><code>@philip-gai</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/1337">actions/setup-python#1337</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v6...v7.0.0">https://github.com/actions/setup-python/compare/v6...v7.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/setup-python/commit/5fda3b95a4ea91299a34e894583c3862153e4b97"><code>5fda3b9</code></a> Pin SHA commits and update docs with latest versions (<a href="https://redirect.github.com/actions/setup-python/issues/1338">#1338</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/4ab7e95f05e168b4356aebde89dd84f59c283d8e"><code>4ab7e95</code></a> Merge pull request <a href="https://redirect.github.com/actions/setup-python/issues/1337">#1337</a> from actions/philip-gai/bump-actions-cache-6-2-0</li> <li><a href="https://github.com/actions/setup-python/commit/0f3a009f475dbea83c0371cd85d099690fee8c5c"><code>0f3a009</code></a> Remove the pip-install input (<a href="https://redirect.github.com/actions/setup-python/issues/1336">#1336</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/f8cf4291c8b8e273ddd26e569454615c7315d932"><code>f8cf429</code></a> Migrate to ESM and upgrade dependencies (<a href="https://redirect.github.com/actions/setup-python/issues/1330">#1330</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/54baeea5b34417d10a7479663a23cca53ea209b5"><code>54baeea</code></a> Validate and retry manifest fetch to prevent silent failures (<a href="https://redirect.github.com/actions/setup-python/issues/1332">#1332</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/c7092773a316760f4ecfe498e4af668a4dafeac5"><code>c709277</code></a> Annotation code fix (<a href="https://redirect.github.com/actions/setup-python/issues/1335">#1335</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/6849080452e69b330395e8a6d23cf90f56d76a1a"><code>6849080</code></a> remove EOL Python versions and Bumps numpy text fixture (<a href="https://redirect.github.com/actions/setup-python/issues/1333">#1333</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/0903b469fbf4441aadfe4f4b249dc5b1fba3a73e"><code>0903b46</code></a> Bump certifi from 2020.6.20 to 2024.7.4 in /<strong>tests</strong>/data (<a href="https://redirect.github.com/actions/setup-python/issues/1328">#1328</a>)</li> <li>See full diff in <a href="https://github.com/actions/setup-python/compare/ece7cb06caefa5fff74198d8649806c4678c61a1...5fda3b95a4ea91299a34e894583c3862153e4b97">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (cherry picked from commit 9fcadd6)
…ub-actions group (#1162) Bumps the github-actions group with 1 update: [docker/login-action](https://github.com/docker/login-action). Updates `docker/login-action` from 4.4.0 to 4.5.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/docker/login-action/releases">docker/login-action's releases</a>.</em></p> <blockquote> <h2>v4.5.2</h2> <ul> <li>Surface Docker Hub OIDC error responses by <a href="https://github.com/crazy-max"><code>@crazy-max</code></a> in <a href="https://redirect.github.com/docker/login-action/pull/1058">docker/login-action#1058</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/docker/login-action/compare/v4.5.1...v4.5.2">https://github.com/docker/login-action/compare/v4.5.1...v4.5.2</a></p> <h2>v4.5.1</h2> <ul> <li>Support <code>dhi.io</code> as Docker Hub OIDC registry by <a href="https://github.com/crazy-max"><code>@crazy-max</code></a> in <a href="https://redirect.github.com/docker/login-action/pull/1054">docker/login-action#1054</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/docker/login-action/compare/v4.5.0...v4.5.1">https://github.com/docker/login-action/compare/v4.5.0...v4.5.1</a></p> <h2>v4.5.0</h2> <ul> <li><a href="https://github.com/docker/login-action#docker-hub">Docker Hub OIDC</a> login support by <a href="https://github.com/crazy-max"><code>@crazy-max</code></a> in <a href="https://redirect.github.com/docker/login-action/pull/1048">docker/login-action#1048</a></li> <li>Bump <code>@aws-sdk/client-ecr</code> and <code>@aws-sdk/client-ecr-public</code> to 3.1091.0 in <a href="https://redirect.github.com/docker/login-action/pull/1037">docker/login-action#1037</a></li> <li>Bump <code>@docker/actions-toolkit</code> from 0.92.0 to 0.94.0 in <a href="https://redirect.github.com/docker/login-action/pull/1044">docker/login-action#1044</a> <a href="https://redirect.github.com/docker/login-action/pull/1050">docker/login-action#1050</a></li> <li>Bump brace-expansion from 1.1.13 to 1.1.16 in <a href="https://redirect.github.com/docker/login-action/pull/1046">docker/login-action#1046</a></li> <li>Bump js-yaml from 5.2.0 to 5.2.1 in <a href="https://redirect.github.com/docker/login-action/pull/1038">docker/login-action#1038</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/docker/login-action/compare/v4.4.0...v4.5.0">https://github.com/docker/login-action/compare/v4.4.0...v4.5.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/docker/login-action/commit/371161bbe7024a29a25c5e19bfcbc0804fe9ad2c"><code>371161b</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1058">#1058</a> from crazy-max/fix-dockerhub-oidc-error-handling</li> <li><a href="https://github.com/docker/login-action/commit/5dc73df38ebcfa6f96479901e253d172c3e35849"><code>5dc73df</code></a> chore: update generated content</li> <li><a href="https://github.com/docker/login-action/commit/2aa1edee0b06c23880529064a4f7d7d3d2f9bc87"><code>2aa1ede</code></a> surface Docker Hub OIDC error responses</li> <li><a href="https://github.com/docker/login-action/commit/abd2ef45e78c5afb21d64d4ca52ee8550d9572c7"><code>abd2ef4</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1055">#1055</a> from crazy-max/test-registry-auth-oidc</li> <li><a href="https://github.com/docker/login-action/commit/d49d3a9839fef51322fa44989a44fdc43fccfc22"><code>d49d3a9</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1054">#1054</a> from crazy-max/oidc-missing-dhi</li> <li><a href="https://github.com/docker/login-action/commit/b58b17c30b4db92a4ed049b213cae512b12e460b"><code>b58b17c</code></a> test: cover Docker Hub OIDC with registry-auth</li> <li><a href="https://github.com/docker/login-action/commit/be646c21cec26cea303e29290d5f6ba6fde8e606"><code>be646c2</code></a> chore: update generated content</li> <li><a href="https://github.com/docker/login-action/commit/d77c059cb9956cedaa427dc022d89f39acba678f"><code>d77c059</code></a> support dhi.io as Docker Hub OIDC registry</li> <li><a href="https://github.com/docker/login-action/commit/06fb636fac595d6fb4b28a5dfcb21a6f5091859c"><code>06fb636</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1037">#1037</a> from docker/dependabot/npm_and_yarn/aws-sdk-dependen...</li> <li><a href="https://github.com/docker/login-action/commit/a8bc9539118a762b0e5788b53a50907977cc1b8d"><code>a8bc953</code></a> [dependabot skip] chore: update generated content</li> <li>Additional commits viewable in <a href="https://github.com/docker/login-action/compare/af1e73f918a031802d376d3c8bbc3fe56130a9b0...371161bbe7024a29a25c5e19bfcbc0804fe9ad2c">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (cherry picked from commit cf93128)
…ub-actions group (#1166) Bumps the github-actions group with 1 update: [docker/login-action](https://github.com/docker/login-action). Updates `docker/login-action` from 4.5.2 to 4.6.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/docker/login-action/releases">docker/login-action's releases</a>.</em></p> <blockquote> <h2>v4.6.0</h2> <ul> <li>Harden buildx scoped config path handling by <a href="https://github.com/crazy-max"><code>@crazy-max</code></a> in <a href="https://redirect.github.com/docker/login-action/pull/1059">docker/login-action#1059</a></li> <li>Bump <code>@aws-sdk/client-ecr</code> and <code>@aws-sdk/client-ecr-public</code> to 3.1095.0 in <a href="https://redirect.github.com/docker/login-action/pull/1051">docker/login-action#1051</a></li> <li>Bump js-yaml from 5.2.1 to 5.2.2 in <a href="https://redirect.github.com/docker/login-action/pull/1057">docker/login-action#1057</a></li> <li>Bump postcss from 8.5.10 to 8.5.22 in <a href="https://redirect.github.com/docker/login-action/pull/1056">docker/login-action#1056</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/docker/login-action/compare/v4.5.2...v4.6.0">https://github.com/docker/login-action/compare/v4.5.2...v4.6.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/docker/login-action/commit/dbcb813823bdd20940b903addbd779551569679f"><code>dbcb813</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1051">#1051</a> from docker/dependabot/npm_and_yarn/aws-sdk-dependen...</li> <li><a href="https://github.com/docker/login-action/commit/5bcb015ee6ec720ecdeaef2dc1164122e9b209fc"><code>5bcb015</code></a> [dependabot skip] chore: update generated content</li> <li><a href="https://github.com/docker/login-action/commit/b30b2f2d3196c1714318ba0c3c3bec211d949752"><code>b30b2f2</code></a> build(deps): bump the aws-sdk-dependencies group across 1 directory with 2 up...</li> <li><a href="https://github.com/docker/login-action/commit/9087f1e6d666fe0292409e3c819680c18526e108"><code>9087f1e</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1057">#1057</a> from docker/dependabot/npm_and_yarn/js-yaml-5.2.2</li> <li><a href="https://github.com/docker/login-action/commit/0009830ea169ca16c24c0ea4cac1c325bfa3aee4"><code>0009830</code></a> [dependabot skip] chore: update generated content</li> <li><a href="https://github.com/docker/login-action/commit/23255232d3e43c8f0052d9a0dba82a515a88ce92"><code>2325523</code></a> build(deps): bump js-yaml from 5.2.1 to 5.2.2</li> <li><a href="https://github.com/docker/login-action/commit/4ec1d4a769e8b05a89a7396551dc38b329211688"><code>4ec1d4a</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1056">#1056</a> from docker/dependabot/npm_and_yarn/postcss-8.5.22</li> <li><a href="https://github.com/docker/login-action/commit/5fc99ba47bca274c5a499688f71c7ea79c0ea1b3"><code>5fc99ba</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1053">#1053</a> from docker/dependabot/github_actions/aws-actions/co...</li> <li><a href="https://github.com/docker/login-action/commit/e512bd59d16c53d79ea5c0f0e345fe554453c4bb"><code>e512bd5</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1052">#1052</a> from docker/dependabot/github_actions/codeql-actions...</li> <li><a href="https://github.com/docker/login-action/commit/a146c91b8f371700d323bae808af7cbdc2766ed5"><code>a146c91</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1059">#1059</a> from crazy-max/harden-buildx-scope-paths</li> <li>Additional commits viewable in <a href="https://github.com/docker/login-action/compare/371161bbe7024a29a25c5e19bfcbc0804fe9ad2c...dbcb813823bdd20940b903addbd779551569679f">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (cherry picked from commit 71115ab)
Context: https://github.com/temporalio/api/blob/main/temporal/api/workflowservice/v1/request_response.proto#L2355-L2429 `temporal activity reset --reset-attempts` was exposed despite the reset API having no corresponding request field. Reset always starts the Activity from attempt one. Removed the no-op flag from `activity reset`, stopped populating the unused batch field, clarified reset help text, and regenerated command bindings. - `go test ./internal/temporalcli -run 'TestSharedServerSuite/TestActivity' -count=1` - `gofmt` - `git diff --check` - [x] This change works against an OSS server. - [x] All remaining documented flags are functional. - [x] No JSON output changes. (cherry picked from commit 7d311e4)
- Adds `temporal options` command (kubectl-style) that displays global
and connection flags in a table with env var and config key columns
- Hides global flags from root `--help` and connection flags from
subcommand `--help`, replacing them with a hint to `temporal options`
- Adds `hide-from-help`, `config-key`, and `Description()` support to
the option set YAML spec and code generator
- Shortens flag descriptions to remove info now shown in dedicated table
columns
```
$ temporal --help
...
Flags:
--client-connect-timeout duration ...
--color string ...
--command-timeout duration ...
... (15 more global flags)
```
```
$ temporal --help
...
Use "temporal options" for global and connection options.
```
```
$ temporal options
Global options
...
FLAG ENV DESCRIPTION
--env string TEMPORAL_ENV Active environment name ...
...
Connection options
...
FLAG ENV CONFIG KEY DESCRIPTION
--address string TEMPORAL_ADDRESS address Temporal Service gRPC endpoint ...
--api-key string TEMPORAL_API_KEY api_key API key for request
...
```
- [x] `go build ./cmd/temporal`
- [x] `go test ./internal/temporalcli/ -run TestHelp`
- [ ] Verify `temporal --help` no longer shows global flags
- [ ] Verify `temporal workflow --help` no longer shows connection flags
- [ ] Verify `temporal workflow list --help` shows only command-specific
flags
- [ ] Verify `temporal options` displays both tables with correct
env/config columns
- [ ] Verify all flags still work when passed on the command line
---------
Co-authored-by: Ross Nelson <axcess1@me.com>
(cherry picked from commit 9112b4e)
- api v1.62.9 (ceiling for server v1.31.2: v1.62.10 adds CountNexusOperationExecutions to WorkflowServiceClient) - sdk v1.41.1, envconfig v1.0.0, ui-server v2.50.1 - safe non-Temporal bumps: go-isatty, x/tools, grpc, echo, testify - #1156 backport keeps --reset-heartbeats (its removal belongs to #1159) - cliext pinned to tagged sdk (main uses a pseudo-version)
v1.8.2 sends "task_queue_name", which ParseFieldMask normalizes to "taskQueueName" and never matches the server's "taskQueue.name" key, so 'activity update-options --task-queue' silently no-ops. Cherry-picked as a one-liner from #1092 (whose full SAA change requires api v1.63.x). Verified against embedded server v1.31.2.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 917dee1099
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| [heartbeat details](#reset-heartbeats). | ||
| This restarts the activity as if it were first being scheduled: the | ||
| attempt count returns to one, its per-attempt timeouts are re-armed, and | ||
| its [heartbeat details](#reset-heartbeats) are cleared. |
There was a problem hiding this comment.
Document heartbeat clearing as conditional
When temporal activity reset is run without --reset-heartbeats, the request sets ResetHeartbeat from the false flag value, so existing heartbeat details are retained. This sentence now says they are always cleared, contradicting both the implementation and the later help text that makes clearing conditional on the flag; users relying on the new description may unintentionally preserve stale heartbeat data.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
I suggest keeping "optionally" there, e.g., "and its" => "and, optionally, its"
There was a problem hiding this comment.
up to you on this one, I don't have a strong opinion.
| awsLambdaFunctionARN string, | ||
| awsLambdaAssumeRoleARN string, | ||
| awsLambdaAssumeRoleExternalID string, | ||
| awsLambdaSkipRoleAndExternalID bool, |
There was a problem hiding this comment.
Treat the skip toggle as an AWS flag
When --aws-lambda-skip-role-and-external-id is combined with GCP flags or with --remove, this new boolean is omitted from both computeProviderConfig's awsSet calculation and the update command's removal-conflict guard. Consequently these explicitly contradictory combinations succeed and silently ignore the AWS option, unlike every other --aws-lambda-* flag; include the true toggle in both presence checks.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Should forward this comment to Compute team.
There was a problem hiding this comment.
It might now be an issue but probably worth asking
| description: Log level. | ||
| default: never |
There was a problem hiding this comment.
Preserve the start-dev log-level exception
For temporal server start-dev, commands.server.go overrides an unchanged log level to warn, while the new temporal options table derives and displays (default never) from this declaration. The removed description was the only documentation of that exception, and global flags are now hidden from normal help, so users inspecting the new canonical options output receive an incorrect default for the dev server.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
The description was changed to remove Default is "never" for most commands and "warn" for "server start-dev" in one of the included PRs. Is this correct (for Alex)?
does this make sense to you? I don't have much context? |
Backport for CLI v1.8.3 (monthly public/latest)
Cuts the scheduled monthly public/latest release onto
release/1.8.x, which wassitting exactly on
v1.8.2with nothing backported since 2026-07-31.The governing constraint: this release keeps the embedded dev server on OSS
Server v1.31.2. Everything below follows from that.
mainhas moved to serverv1.32.0-162.0(a Cloud tag) andgo.temporal.io/apiv1.63.x, so
mainis not publicly releasable and a large share of recent workcannot ship here.
Summary
Of the 26 commits on
mainsincev1.8.2:Verified:
go build ./...andcliextbuild clean,make genproduces no diff,full
go test ./...green, binary reportsServer 1.31.2, UI 2.50.1.Included
Cherry-picked from
main--aws-lambda-skip-role-and-external-id--gcp-cloud-run-scale-down-stabilization-durationreset-attemptsflag — adjusted, see belowtemporal optionscommand and declutter help outputNew commits
backport: pin compatible dependency set and adjust #1156 for 1.8.xDependency bumps are applied directly rather than cherry-picked, because taking
them as-is pulls
go.temporal.io/apipast what server v1.31.2 can compileagainst (see Dependency ceiling below). Covers the isatty, x/tools, grpc, echo
and testify bumps (#1145, #1148, #1132, #1175, #1174).
Also pins
cliextto a tagged SDK.maincurrently pinsgo.temporal.io/sdk v1.46.1-0.20260720184640-f34dc3da35ab— a commit SHA — incliext/go.mod, which reaches the root build throughreplace github.com/temporalio/cli/cliext => ./cliext. That violates thetagged-dependencies rule for a public release.
mainshould be fixedseparately.
fix(activity): use correct update-mask path for --task-queueFixes a real, currently-shipping bug.
v1.8.2sends update-mask pathtask_queue_name, which the server'sParseFieldMasknormalizes totaskQueueNameand which never matches itstaskQueue.namekey — sotemporal activity update-options --task-queuesilently does nothing.Verified A/B against the embedded server v1.31.2:
task_queue.name→ task queue updates as expectedtask_queue_name(what v1.8.2 ships) → unchangedThe fix exists upstream only inside #1092, which cannot be backported, so it is
extracted here as a one-liner.
Dependency ceiling
server v1.31.2does not compile againstgo.temporal.io/api≥ v1.62.10:that release adds
CountNexusOperationExecutionsto theWorkflowServiceClientinterface, which v1.31.2's
clientImpl,metricClientandretryableClientdonot implement.
Because api is a transitive dependency, Go's minimal version selection drags it
upward whenever anything that depends on it is bumped. That caps everything:
go.temporal.io/apigithub.com/temporalio/ui-server/v2go.temporal.io/sdkgo.temporal.io/sdk/contrib/envconfigDefaultConfigFilePathto one return value;cliext/config.oauth.goexpects twoResulting set — every Temporal direct dependency unchanged from
v1.8.2exceptan api patch bump:
Note for the UI team: this release ships UI Server v2.50.1, unchanged.
The natural assumption would be v2.53.3, but that requires api v1.63.5.
Excluded, and why
Requires OSS Server v1.32.x / api v1.63.x
Pause/Unpause/Reset ActivityExecutionRequestandUpdateActivityExecutionOptionsRequest, absent from api v1.62.xactivity.EnableStandaloneActivityOperatorCommandsanddynamicconfig.FrontendEnableBatchOperationsForStandaloneActivities, absent from server v1.31.2activity unpause --reset-attempts/--reset-heartbeatsupdate-options --start-delayfor workflow ActivitiesActivityOptions.StartDelay, new in api v1.63.5, via unbackported prerequisite #1113ActivityExecutionInfo.GetLinksandDescribeActivityExecutionResponse.GetCallbacks, new in api v1.63.5Excluded for other reasons
#1114 — staged connection diagnosis for opaque dial failures.
Depends on #1017 (Unwrap System Nexus Operations in event history), which
introduced
dialClientWithCodecand was never backported. Onrelease/1.8.xonly the two-value
dialClientexists, and git silently misapplies #1114'shunks into it, producing three-value returns from a two-value function. Pulling
in #1017 is too large for a patch release.
#1158 — docs: clarify
--querytargets Workflow Activities.Pure documentation describing Standalone Activity semantics
("Omit
--workflow-idto target a Standalone Activity…"). That behavior doesnot exist on this line, so backporting it would ship misleading help text.
#1155 — fix(activity): include options in batch
update-options.The change itself is correct, but batch
update-optionsapplies nothing onserver v1.31.2. Probed directly: after a batch run, task queue is unchanged and
schedule_to_close_timeoutis still0s. Its new testTestActivityOptionsUpdate_BatchMatchAllfails consistently (3/3). Deferred tothe release that carries the server bump.
Reviewer notes
#1156 was adjusted rather than taken verbatim. Upstream,
activity resethad already lost
--reset-heartbeatsto an earlier SAA commit, so takingmain's version would have removed both flags at once. Only--reset-attemptsis a no-op, the surviving help text still documents
--reset-heartbeats, andits removal belongs to #1159 (excluded). This backport therefore removes only
--reset-attemptsand keeps the batch path onc.ResetHeartbeatsrather thanhardcoding
true. Worth a careful look.Known flaky test.
TestHelp_AllFlag_ShorterCommandPathWinsifailed on onefull-suite run and passed on the next; it passes 5/5 in isolation. It arrives
with #1137 and exists identically on
main, so it is inherited rather thanintroduced — but expect occasional red CI.
Pre-existing
go vetfindings (two lock-copy, one context leak) arebyte-identical to the
v1.8.2baseline. Not introduced here.