Publish the host crates to code.selu.dev and add a docs site #5

Merged
selu merged 1 commit from crates-and-docs into master 2026-10-29 23:08:23 +00:00
Owner

Summary

  • Publish irbt-proto, irbt, irbt-cli and irbt-build-info (renamed from build-info, since irbt-cli needs it and the name is taken on crates.io) to the Cargo registry on code.selu.dev. publish = ["selu"] keeps them off crates.io.
  • Release workflow: a new crates job publishes on v* tags and skips versions that are already in the index. The release now waits for it.
  • build-info: published packages take the commit from .cargo_vcs_info.json and the lockfile from the package root, so an installed irbt --version shows the commit instead of unknown.
  • License: MIT OR Apache-2.0.
  • Docs: an mdBook guide in book/, and .forgejo/workflows/docs.yml, which builds it together with the crates' rustdoc on every push and PR. On tags or manual runs it also pushes the site to the pages branch, served by git-pages at https://selu.pages.selu.dev/ir-bt-bridge/ (selu-dev/system-setup, branch git-pages).

Before merging / releasing

  • Add the repo secret CARGO_REGISTRY_TOKEN (a token with write:package).
  • Initialize the Cargo index under Forgejo user settings → Packages, if it isn't already.
  • Deploy git-pages (system-setup) and add the pages push webhook to https://selu.pages.selu.dev/ir-bt-bridge/.

Testing

  • cargo test --workspace, clippy and fmt pass. The firmware release build passes.
  • cargo publish --workspace --registry selu --dry-run passes. The packaged CLI reports irbt-cli 0.2.1 (16e4ae9).
  • cargo doc passes with -D warnings, and the guide's library example compiles. The mdBook has not been built locally; this PR's docs workflow run is its first build.

🤖 Generated with Claude Code

## Summary - Publish `irbt-proto`, `irbt`, `irbt-cli` and `irbt-build-info` (renamed from `build-info`, since `irbt-cli` needs it and the name is taken on crates.io) to the Cargo registry on code.selu.dev. `publish = ["selu"]` keeps them off crates.io. - Release workflow: a new `crates` job publishes on `v*` tags and skips versions that are already in the index. The release now waits for it. - `build-info`: published packages take the commit from `.cargo_vcs_info.json` and the lockfile from the package root, so an installed `irbt --version` shows the commit instead of `unknown`. - License: `MIT OR Apache-2.0`. - Docs: an mdBook guide in `book/`, and `.forgejo/workflows/docs.yml`, which builds it together with the crates' rustdoc on every push and PR. On tags or manual runs it also pushes the site to the `pages` branch, served by git-pages at https://selu.pages.selu.dev/ir-bt-bridge/ (selu-dev/system-setup, branch `git-pages`). ## Before merging / releasing - Add the repo secret `CARGO_REGISTRY_TOKEN` (a token with `write:package`). - Initialize the Cargo index under Forgejo user settings → Packages, if it isn't already. - Deploy git-pages (system-setup) and add the `pages` push webhook to `https://selu.pages.selu.dev/ir-bt-bridge/`. ## Testing - `cargo test --workspace`, clippy and fmt pass. The firmware release build passes. - `cargo publish --workspace --registry selu --dry-run` passes. The packaged CLI reports `irbt-cli 0.2.1 (16e4ae9)`. - `cargo doc` passes with `-D warnings`, and the guide's library example compiles. The mdBook has not been built locally; this PR's docs workflow run is its first build. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Publish the host crates to code.selu.dev and add a docs site
All checks were successful
Continuous Integration / Firmware (pull_request) Successful in 4m41s
Continuous Integration / Firmware-1 (pull_request) Successful in 16m30s
Continuous Integration / Host tools (pull_request) Successful in 47s
Continuous Integration / Host tools-1 (pull_request) Successful in 58s
Continuous Integration / Host tools-2 (pull_request) Successful in 57s
Continuous Integration / Firmware-2 (pull_request) Successful in 15m8s
Docs / Docs (pull_request) Successful in 1m18s
daa18d1178
- Publish irbt-proto, irbt, irbt-cli and irbt-build-info (renamed from
  build-info) to the Cargo registry on code.selu.dev, from the release
  workflow; versions already in the index are skipped.
- build-info: take the commit from .cargo_vcs_info.json in a published
  package, and the lockfile from the package root.
- License the crates as MIT OR Apache-2.0.
- Add an mdBook guide in book/ and a docs workflow that builds it with
  the rustdoc of the crates, and pushes the site to the `pages` branch on
  tags for git-pages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
selu merged commit 3960ee3817 into master 2026-10-29 23:08:23 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
selu/ir-bt-bridge!5
No description provided.