Skip to content

Fix help with value flags - #1006

Merged
chaptersix merged 5 commits into
temporalio:mainfrom
kevinawoo:codex/fix-help-value-flags
Apr 30, 2026
Merged

Fix help with value flags#1006
chaptersix merged 5 commits into
temporalio:mainfrom
kevinawoo:codex/fix-help-value-flags

Conversation

@kevinawoo

@kevinawoo kevinawoo commented Apr 29, 2026

Copy link
Copy Markdown
Member

Summary

  • avoid routing built-in help invocations through extension probing when known value flags are present
  • initialize Cobra's default help flag before extension preflight parses command flags
  • add regression coverage for --help combined with --address and --namespace

Root Cause

Extension preflight checked raw remaining args with a string-prefix heuristic. Values for known flags, such as 123 in --address 123, looked like positional extension args, so the preflight parsed --help before Cobra had registered the default help flag and surfaced pflag: help requested as a real error.

Fixes #1003.

Validation

  • go run ./cmd/temporal workflow list --address 123 --help
  • go test ./internal/temporalcli -run 'TestHelp|TestExtension' -count=1
  • go test ./internal/temporalcli -count=1

@kevinawoo kevinawoo changed the title [codex] Fix help with value flags Fix help with value flags Apr 29, 2026
@kevinawoo
kevinawoo marked this pull request as ready for review April 29, 2026 00:58
@kevinawoo
kevinawoo requested a review from a team as a code owner April 29, 2026 00:58
Comment on lines +38 to +42
foundCmd.InitDefaultHelpFlag()
cliParseArgs, cliPassArgs, extArgs := groupArgs(foundCmd, remainingArgs)
if findErr == nil && !slices.ContainsFunc(extArgs, isPosArg) {
return nil, false
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: fix comment alignment

add back the comments removed on 34 (in the correct location)

add a comment on why InitDefaultHelpFlag() is being called

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done!

kevinawoo and others added 4 commits April 29, 2026 09:53
When --help/-h appears after positional args in the extension dispatch
path, route it to extArgs so it gets forwarded to the extension binary.
This prevents the help flag from being intercepted by the parent command.
Verify that built-in help is shown (not extension invoked) when --help
is combined with value flags like --address and --namespace, even when
a matching extension exists on PATH.
@chaptersix
chaptersix merged commit 1a064e5 into temporalio:main Apr 30, 2026
15 of 16 checks passed
chaptersix added a commit that referenced this pull request Jul 6, 2026
…#1104)

## Summary

Backports server-independent changes from `main` into `release/1.8.x`.
Every commit here was verified to build and pass codegen against the
release line's current dependency pins (`server v1.31.0`, `sdk v1.41.1`,
`api v1.62.8`) — nothing pulls in the newer server/SDK/API that landed
on `main` via #1017.

Scope agreed as: bug fixes + CLI changes + CI/tooling. Dependency bumps
(#1040, #1052, #1063) and server-version-dependent features are
intentionally excluded.

## Included (22 commits, cherry-picked with `-x`)

**CLI / bug fixes**
- #1006 Fix help with value flags (addresses #1003 — `--help` with value
flags like `--address 123` surfaced `pflag: help requested` as an error)
- #1012 skip CountWorkflow in batch operations when `--yes` is set
- #1016 Sort output of listing search attributes
- #1029 Workflow delete now prompts for confirmation
- #1033 Add persistence info to start-dev banner
- #1047 Add `temporal schedule list-matching-times` command
- #1056 Fix task-queue config set help: use real fairness weight flag
names
- #1059 Prefix dev server cluster ID with `dev-server-`
- #1089 fix: tls is not added for profiles without tls
- #1099 Clarify activity pause timeout behavior
- #941 auto-generate deprecation warnings from YAML config

**Tests**
- #1005 Fix flakey test by disabling EC2 metadata lookup
- #1020 Remove `time.Sleep()` in commands.taskqueue_test.go

**CI / tooling**
- #1015 pin alpine docker image to 3.23.4
- #1024 remediate missing-dependency-cooldown
- #1034 Bump actions/upload-artifact from 4 to 7
- #1044 improve dependabot config
- #1045 add PR template
- #1054 pin and bump GitHub Actions to latest versions
- #1057 use allow instead of ignore for dependency-type in dependabot
config
- #1080 Bump the github-actions group with 2 updates

## Excluded (rely on the new server/SDK version)
#1017 (server bump v1.31.0 -> v1.32.0-157.0), #1046, #1087, #1001,
#1091, #1084

## Verification
- `go build ./...` passes
- all test packages compile
- `make gen` reports no codegen drift
- server/sdk/api pins unchanged from `release/1.8.x`



## CI endpoint fix (added)
Also backports the API-key CI test endpoint change from #1087
(`us-east-1` -> `ca-central-1`) as a standalone CI-only commit. This
resolves the `Request unauthorized` failure in the "Test cloud API key"
steps on `release/1.8.x`. The rest of #1087 (Nexus Operation command
code) is excluded as it depends on the new server version.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Sai Asish Y <say.apm35@gmail.com>
Co-authored-by: Kevin Woo <3469532+kevinawoo@users.noreply.github.com>
Co-authored-by: Rodrigo Zhou <rodrigo.zhou@temporal.io>
Co-authored-by: Stephan Behnke <stephanos@users.noreply.github.com>
Co-authored-by: Jiechen Zhong <jiechen.zhong@temporal.io>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Kent Gruber <kent.gruber@temporal.io>
Co-authored-by: picatz <14850816+picatz@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: John Votta <jpvotta@gmail.com>
Co-authored-by: Nasit  Sarwar Sony <nasitsony96@gmail.com>
Co-authored-by: hussam-salah <156124396+hussam-salah@users.noreply.github.com>
Co-authored-by: Sai Asish Y <say.apm35@gmail.com>
Co-authored-by: Bitalizer <23104115+bitalizer@users.noreply.github.com>
Co-authored-by: Sean Kane <spkane31@gmail.com>
Co-authored-by: Jessica Laughlin <JLDLaughlin@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

--help flag prints 'pflag: help requested' when used with other flags

3 participants