Skip to content

fix(ci-templates): default install command to shipper, not shipper-cli#151

Merged
EffortlessSteven merged 1 commit into
mainfrom
fix/ci-templates-install-shipper
Apr 19, 2026
Merged

fix(ci-templates): default install command to shipper, not shipper-cli#151
EffortlessSteven merged 1 commit into
mainfrom
fix/ci-templates-install-shipper

Conversation

@EffortlessSteven

Copy link
Copy Markdown
Member

Summary

Post-rc.2 docs sweep caught that the shipper ci subcommand generators for GitLab, CircleCI, and Azure DevOps still printed cargo install shipper-cli --locked as the install step. The three-crate story made shipper the recommended install path; these templates were stale.

What changed

  • crates/shipper-cli/src/lib.rs — three cargo install shipper-cli --locked strings → cargo install shipper --locked (GitLab, CircleCI, Azure DevOps templates). GitHub Actions template already assumed shipper on PATH.
  • Module doc comment reworded: the shipper-cli binary is the adapter crate's own binary, not a back-compat shim.
  • Three insta snapshots refreshed to match.

Context

The post-rc.2 smoke installs confirmed:

  • cargo install shipper --version 0.3.0-rc.2 --locked → works, shipper 0.3.0-rc.2
  • cargo install shipper-cli --version 0.3.0-rc.2 --locked → works, same code path
  • shipper-core = "0.3.0-rc.2" embedder compile → no clap/indicatif in dep graph

So the product story is correct on crates.io; this PR closes the last place in the repo that still told users the wrong install command.

Test plan

  • cargo check -p shipper-cli clean
  • cargo test -p shipper-cli --test e2e_expanded — 129 passed (including the 3 updated snapshots)
  • grep -rn "cargo install shipper-cli --locked" crates/ — no matches outside intentional adapter-path references

Surfaced by the post-rc.2 docs sweep. The `shipper ci` subcommand
generates CI workflow snippets for GitLab, CircleCI, and Azure
DevOps — all three still printed `cargo install shipper-cli --locked`
as the install step, which doesn't match the three-crate story that
#95 landed. `shipper` is the recommended install path; `shipper-cli`
is a real adapter crate that users can still install directly if
they want the adapter binary, not a deprecated shim.

Update the three CI generators to print `cargo install shipper --locked`
and refresh the matching insta snapshots. The github-actions template
already assumed `shipper` on PATH, so no change there.

Also loosens wording in the lib.rs module doc: the `shipper-cli`
binary is not there "for backward compatibility" — it's the adapter
crate shipping its own binary that wraps run(). That's a real,
first-class install path, not a back-compat shim.

No effect on crates.io rc.2 artifacts (0.3.0-rc.2 already shipped).
Will land in rc.3 / 0.3.0.

Verified:
- cargo check -p shipper-cli clean
- 129 e2e_expanded tests pass (including the 3 updated snapshots)
@coderabbitai

coderabbitai Bot commented Apr 19, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 9bfb9c45-9105-4acb-b9d2-b18498acc71a

📥 Commits

Reviewing files that changed from the base of the PR and between 8254a58 and bb8dd4f.

⛔ Files ignored due to path filters (3)
  • crates/shipper-cli/tests/snapshots/e2e_expanded__ci_azure_devops.snap is excluded by !**/*.snap
  • crates/shipper-cli/tests/snapshots/e2e_expanded__ci_circleci.snap is excluded by !**/*.snap
  • crates/shipper-cli/tests/snapshots/e2e_expanded__ci_gitlab.snap is excluded by !**/*.snap
📒 Files selected for processing (1)
  • crates/shipper-cli/src/lib.rs

Summary by CodeRabbit

Documentation

  • Documentation: Updated crate-level documentation and CI/CD integration templates (GitLab, CircleCI, Azure DevOps) with refined installation instructions.

Walkthrough

Updated crate-level documentation in shipper-cli to clarify its role as an internal binary wrapper. Modified CI snippet generation to replace cargo install shipper-cli --locked with cargo install shipper --locked across GitLab, CircleCI, and Azure DevOps configurations.

Changes

Cohort / File(s) Summary
Documentation and CI Configuration
crates/shipper-cli/src/lib.rs
Updated crate-level documentation describing the internal binary wrapper role. Changed installation command in generated CI snippets from cargo install shipper-cli --locked to cargo install shipper --locked for GitLab, CircleCI, and Azure DevOps paths.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 The CLI tool shifts its name with grace,
From shipper-cli to shipper in place,
Through GitLab, CircleCI's embrace,
Azure DevOps keeps up the pace—
One file, six lines, a tidy case!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title directly describes the main change: updating CI template installation commands from shipper-cli to shipper.
Description check ✅ Passed The description is detailed and clearly relates to the changeset, explaining the rationale, specific file changes, and test verification.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/ci-templates-install-shipper

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request updates the documentation and CI configuration generation logic to recommend installing the shipper crate instead of shipper-cli. This change ensures that users are directed to the primary installation face of the tool, as defined in the project's architecture. Corresponding test snapshots for Azure DevOps, CircleCI, and GitLab have been updated to reflect this change. I have no feedback to provide.

@codecov

codecov Bot commented Apr 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@EffortlessSteven EffortlessSteven merged commit a3c8848 into main Apr 19, 2026
20 checks passed
@EffortlessSteven EffortlessSteven deleted the fix/ci-templates-install-shipper branch April 19, 2026 09:06
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.

1 participant