Repository navigation
fix(ENG-15733): list every credential helper in the help - #610
tigh-latte wants to merge 1 commit into
Conversation
`credential-helper --help` only gave examples for Docker, pnpm and cargo, and its command list shows only helpers with a runtime command, so Maven, Gradle and sbt looked unsupported. The group, install and uninstall help now name every helper, and a test fails when a registered helper is missing from them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
There was a problem hiding this comment.
🟡 Changes recommended
The help-output assertion can pass even when sbt is missing from the explicit helper lists, so it needs to check whole helper names in those listings to reliably catch documentation regressions.
1 open issue
What changed in this PR
Fixes ENG-15733 by making all supported credential helpers discoverable in CLI help, without changing runtime behavior.
Changes:
- Lists every helper in group, install, and uninstall help.
- Explains the runtime-command distinction and adds Maven and status-listing examples.
- Adds a help-coverage regression test and an Unreleased changelog entry.
| File | Description |
|---|---|
cloudsmith_cli/cli/tests/commands/test_credential_helper_install.py |
Checks that all registered helper names appear in help. |
cloudsmith_cli/cli/commands/credential_helper/manage.py |
Lists valid helpers and adds Maven examples. |
cloudsmith_cli/cli/commands/credential_helper/__init__.py |
Expands group help and explains helpers without runtime commands. |
CHANGELOG.md |
Records the help documentation fix. |
Review effort: Balanced
| missing = [name for name in _INSTALLERS if name not in result.output] | ||
| assert not missing, f"--help does not mention: {missing}" |
cloudsmith-iduffy
left a comment
There was a problem hiding this comment.
Feel free to release a bumped patch version.
|
|
||
| \b | ||
| # Maven: set up only the Maven project in the current directory | ||
| $ cloudsmith credential-helper install maven --local |
There was a problem hiding this comment.
I'd drop the --local here ideally we want that to be for power users that read the docs on docs.cloudsmith.com rather than the default.

Description
Fixes ENG-15733.
credential-helper install mavenworks in 1.31.0, butcloudsmith credential-helper --helpdoesn't mention Maven (Slack report). The same is true for Gradle and sbt. The group's examples only covered Docker, pnpm and cargo. ItsCommands:list shows only helpers that have a runtime command, and Maven, Gradle and sbt don't have one.credential-helpergroup help now lists every helper. It also explains that Maven, Gradle and sbt load an extension or plugin that gets credentials fromgeneric, which is why they aren't underCommands:. There are new examples forinstall mavenandlist.installanduninstallhelp now names every validHELPER, not just "e.g. docker, pnpm", and adds Maven examples.test_help_names_every_helperchecks that the group,installanduninstallhelp mention every key in_INSTALLERS. Before this fix it failed onmaven,gradleandsbt, so a newly added helper that isn't documented will fail it too.Unreleased→Fixed.Type of Change
Additional Notes
Only help text changed; no behaviour changes.