Skip to content

fix(ENG-15733): list every credential helper in the help - #610

Open
tigh-latte wants to merge 1 commit into
masterfrom
eng-15733-credential-helper-help
Open

tigh-latte wants to merge 1 commit into
masterfrom
eng-15733-credential-helper-help

Conversation

@tigh-latte

Copy link
Copy Markdown
Collaborator

Description

Fixes ENG-15733. credential-helper install maven works in 1.31.0, but cloudsmith credential-helper --help doesn't mention Maven (Slack report). The same is true for Gradle and sbt. The group's examples only covered Docker, pnpm and cargo. Its Commands: list shows only helpers that have a runtime command, and Maven, Gradle and sbt don't have one.

  • The credential-helper group help now lists every helper. It also explains that Maven, Gradle and sbt load an extension or plugin that gets credentials from generic, which is why they aren't under Commands:. There are new examples for install maven and list.
  • The install and uninstall help now names every valid HELPER, not just "e.g. docker, pnpm", and adds Maven examples.
  • New test test_help_names_every_helper checks that the group, install and uninstall help mention every key in _INSTALLERS. Before this fix it failed on maven, gradle and sbt, so a newly added helper that isn't documented will fail it too.
  • Added a CHANGELOG entry under Unreleased → Fixed.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Refactoring
  • Other (please describe)

Additional Notes

Only help text changed; no behaviour changes.

`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>
@tigh-latte
tigh-latte requested a review from a team as a code owner November 11, 2026 13:47
Copilot AI balanced review requested due to automatic review settings November 11, 2026 13:47

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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.

Copilot AI left a comment

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.

🟡 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

Comment on lines +1133 to +1134
missing = [name for name in _INSTALLERS if name not in result.output]
assert not missing, f"--help does not mention: {missing}"

@cloudsmith-iduffy cloudsmith-iduffy left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

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

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

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.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants