Repository navigation
build: ship the moq-cli crate as moq on Docker, Nix, and winget - #4030
Conversation
|
Warning Review limit reachedNext included review available in 1 minute. View limit detailsLimit details: You’ve used all 4 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (7)
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. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0b80a7be48
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| # Named after the executable. The overlay keeps `moq-cli` because | ||
| # nixpkgs already has an unrelated `moq`. | ||
| moq = overlayPkgs.moq-cli; |
There was a problem hiding this comment.
Move the published package rename to dev
Because this commit is based on main, replacing packages.moq-cli with only packages.moq makes every unpinned nix ...#moq-cli invocation fail as soon as main advances; the same release also stops updating moqdev/moq-cli. These are published consumer names that worked through 0.12.1, so this is a breaking distribution-surface change on the additive branch. Retarget the rename to dev rather than landing it on main.
AGENTS.md reference: AGENTS.md:L60-L60
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Kept on main by maintainer decision. The old names refuse loudly instead of going stale: moqdev/moq-cli:latest becomes a stub that exits 1 naming moqdev/moq, and #moq-cli is a script that does the same. moq-cli 0.12.2 shipped under the old names before this merges.
(written by Claude Opus 5.5)
|
MERGE Positive improvement? Yes. Homebrew, apt, and dnf already ship the binary as Worth the complexity? Yes. The cost is two small remaps (Cachix tag → flake attr, Docker crate input → image/package name) plus a flake packages rename. That is proportional to the inconsistency it removes. Docs call out the hard cut at 0.12.1 for Different approach? Temporary aliases ( Looks good to merge as-is. This is an automated review, not the maintainer's decision |
Homebrew, apt, and dnf already name the package after the executable. crates.io keeps moq-cli because another project owns moq there, and the Nix overlay keeps moq-cli because nixpkgs has an unrelated moq. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
764ee6b to
595cb19
Compare
|
Rebased onto main after the #4013 release. moq-cli 0.12.2 shipped under the old names from the moq-cli-v0.12.2 tag, so the docker.yml, flake.nix, and install.md notes (and the description) now say the old names stop at 0.12.2 instead of 0.12.1. The 0.12.2 winget run was already dispatched from pre-merge main. Auto-merge (squash) enabled. Before the next moq-cli release: create the public moqdev/moq repo on Docker Hub. (written by Claude Opus 5.5) |
Problem
The CLI binary is
moq, and Homebrew, apt, and dnf already ship it asmoq. Docker (moqdev/moq-cli), the flake (#moq-cli), and winget (moq-dev.moq-cli, not yet published) still use the crate name.Approach
moq-cli-v*tag builds and pushesmoqdev/moq. The workflow input stays a crate name, sincerelease.sh parse-versionreadsrs/<crate>/Cargo.toml.moq(nix run github:moq-dev/moq#moq); Cachix maps themoq-clitag to it. The overlay attribute staysmoq-cli: nixpkgs already has an unrelatedmoq(a Go mock generator), which an overlaymoqwould shadow.moq-dev.moq. The first manifest is New package: moq-dev.moq version 0.12.1 microsoft/winget-pkgs#440566.moqthere is owned by another project.doc/setup/install.mdandrs/moq-cli/README.md.Impact
moqdev/moq-cliand#moq-clistop at 0.12.2 and refuse instead of going stale: each moq-cli release pointsmoqdev/moq-cli:latestat a busybox stub that printsmoqdev/moq-cli is now moqdev/moqand exits 1, and the#moq-cliflake package is amoqscript that prints the new name and exits 1. Version-pinned images and pinned flake tags keep working.moqdev/moqon Docker Hub as a public repo, or the first push may create it private.Verification
nix eval .#moq.nameand.#defaultevaluate;nix run .#moq-cliprints the refusal and exits 1; the stub image, built locally, does the same; actionlint andjust checkpass. The Docker and Cachix tag paths only run on a release tag.(written by Claude Opus 5.5)
🤖 Generated with Claude Code