Conversation
0e87477 to
cfab29f
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates the release automation to publish the Rust workspace to crates.io from CI, and adjusts workspace manifests to support that publishing flow.
Changes:
- Remove
package.metadata.workspaces(independent = true) metadata across workspace crates and apps. - Mark non-crates.io packages (apps and bindings) as
publish = falseso workspace publishing can focus on the intended crates. - Update the GitHub release workflow to bump versions with
cargo-editand add a new job to publish to crates.io.
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
Cargo.toml |
Removes cargo-workspaces metadata from the root package manifest. |
crates/luwen-api/Cargo.toml |
Moves more package fields to workspace inheritance; removes cargo-workspaces metadata. |
crates/luwen-def/Cargo.toml |
Removes cargo-workspaces metadata. |
crates/luwen-kmd/Cargo.toml |
Removes cargo-workspaces metadata. |
crates/luwen-pci/Cargo.toml |
Removes cargo-workspaces metadata. |
bind/pyluwen/Cargo.toml |
Sets publish = false; removes cargo-workspaces metadata. |
bind/libluwen/Cargo.toml |
Sets publish = false; removes cargo-workspaces metadata. |
apps/*/Cargo.toml |
Sets publish = false; removes cargo-workspaces metadata. |
crates/luwen-api/src/chip/blackhole/spirom_tables.rs |
Minor change to the padding check logic (is_multiple_of → modulo). |
apps/flash_glx_revc_board_id/src/main.rs |
Removes the --index option and associated device filtering. |
.github/workflows/release.yml |
Switches version bumping to cargo-edit and adds a crates.io publish job. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| } | ||
|
|
||
| println!("Found {} device(s)", devices.len()); | ||
|
|
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
There was a problem hiding this comment.
This commit isn't relevant to this PR, ignore it for this code review.
| #[derive(clap::Parser)] | ||
| struct Args { | ||
| #[arg(long, help = "Don't flash; only print what the new board ID would be")] | ||
| dry_run: bool, |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
Co-authored-by: kaplanz <50176264+kaplanz@users.noreply.github.com> Agent-Logs-Url: https://github.com/tenstorrent/luwen/sessions/7fedc3bf-1669-4de8-9cb5-4edf0db49a0b
9fb8b5d to
bd80f59
Compare
Tighten the set-version invocation to target only `luwen` rather than the whole workspace. Since all publishable crates inherit the workspace version, bumping `luwen` cascades to all of them. Using `--workspace` would also bump the apps, which is harmless but noisy. WARNING: This breaks if `luwen` is ever given an explicit version instead of inheriting from the workspace, as sub-crate versions would then not get bumped. Switch to explicit per-crate flags if that ever happens.
rust-embed resolves #[folder] paths relative to the crate root. The axi-data directory lives at the workspace root, so the original ../../axi-data path worked in development but broke during `cargo publish --workspace`, which extracts each crate into a temp directory and verifies it builds in isolation. Add a symlink at crates/luwen-api/axi-data -> ../../axi-data so Cargo includes the .bin files in the tarball, and update the folder path accordingly. The workspace root copy remains canonical — generate-names still writes there.
sbansalTT
left a comment
There was a problem hiding this comment.
Not super familiar with the release process, but this looks good to me! Long time needed, ty Zak :)
No description provided.