Fix linux-packages job after iter-32 crate move#39
Conversation
cargo-deb and cargo-generate-rpm resolve relative asset paths from the package directory (crates/hoppy-cli/), not the workspace root. After iter-32 moved the binary into crates/hoppy-cli/, the linux-packages job in release.yml still generated completions and man pages at the workspace root, so cargo-deb failed to find them: error: Can't resolve asset: crates/hoppy-cli/completions/hoppy.bash Fixes: - release.yml: generate completions into crates/hoppy-cli/completions/ and man pages into crates/hoppy-cli/man/ so cargo-deb finds them where the asset paths point. - crates/hoppy-cli/Cargo.toml: LICENSE and README.md live at the workspace root and aren't generated per-build; use ../../LICENSE and ../../README.md so cargo-deb / cargo-generate-rpm pick them up without copying. Verified locally with `cargo deb -p hoppy-cli --no-build --no-strip`: package builds successfully (the dpkg-shlibdeps warning is macOS-only and doesn't apply on the Linux CI runner). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
Pull request overview
Fixes the linux-packages release workflow after the iter-32 move of the CLI crate by aligning generated artifact locations (shell completions + man pages) and package metadata asset paths with how cargo-deb / cargo-generate-rpm resolve relative paths for workspace members.
Changes:
- Update
linux-packagesinrelease.ymlto generate shell completions and man pages undercrates/hoppy-cli/so packaging asset paths resolve correctly. - Adjust
.deband.rpmasset entries incrates/hoppy-cli/Cargo.tomlto reference the workspace-rootLICENSEandREADME.mdvia../../….
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
crates/hoppy-cli/Cargo.toml |
Updates deb/rpm asset source paths for LICENSE/README to point at workspace-root files. |
.github/workflows/release.yml |
Fixes linux-packages by generating completions/man pages into crates/hoppy-cli/ where packaging expects them. |
Summary
The v0.3.0 release run failed at the linux-packages job:
```
error: Can't resolve asset: crates/hoppy-cli/completions/hoppy.bash -> usr/share/bash-completion/completions/hoppy
cause: Static file asset path did not match any existing files: /home/runner/work/hoppy/hoppy/crates/hoppy-cli/completions/hoppy.bash
```
Root cause: `cargo-deb` and `cargo-generate-rpm` resolve relative asset paths from the package directory (`crates/hoppy-cli/`), but iter-32's release.yml still generated completions and man pages at the workspace root, where the package metadata couldn't find them.
Fixes
The two main-matrix completion/man-generation steps in the `build` job (used for tar.gz archives) are left alone — they correctly generate at the workspace root because the archive packaging step expects them there.
Test plan
🤖 Generated with Claude Code