chore: main-only deps + canonical CI + hero_proc/hero_router run guide #38

Merged
mahmoud merged 6 commits from chore/main-deps-and-run-readme into main 2026-06-03 15:40:22 +00:00
Member

What

  • Cargo.toml — pin hero_db's direct git deps to main (herolib_core/derive/openrpc, hero_lifecycle, hero_admin_lib, hero_proc_sdk).
  • Cargo.lock — re-resolved to a fully-main graph: 0 branch=development entries. All three binaries (hero_db, hero_db_server, hero_db_admin) build from source via lab build --workspace.
  • README — add Run the full stack manually (hero_proc + hero_router) with a ~/hero/bin install prerequisite (lab build --install), foreground start/stop/verify (logs to terminal, no temp files), and the hero_router dashboard URL.
  • CI — adopt the canonical build.yaml + lab-publish.yaml shared by hero_proc / hero_lib (hero_skills#268); remove the superseded build-linux.yaml, release.yaml, build-macos.yaml.disabled. lab-publish publishes musl-x86_64 to latest (main) and latest-dev (development) — the two releases the production task asks for.

Notes

  • A blanket cargo update had pulled broken transitive dev revs via hero_admin_lib → hero_lib@development (strict openrpc_client macro vs. stale rpc.discover), failing the admin build. Upstream realigned on main (2026-06-03), so the graph is now pure-main — this supersedes the earlier "transitive development deps remain" caveat.
  • rust-version kept at 1.96 (matches main + the herolib deps' requirement).
  • Verified locally: cargo test --workspace --lib --bins41 passed / 0 failed; lab build --release --workspace --install --start builds + launches all three under hero_proc; RESP :6378 → PONG, dashboard via hero_router → HTTP 200.
## What - **Cargo.toml** — pin hero_db's direct git deps to `main` (`herolib_core/derive/openrpc`, `hero_lifecycle`, `hero_admin_lib`, `hero_proc_sdk`). - **Cargo.lock** — re-resolved to a **fully-main graph**: 0 `branch=development` entries. All three binaries (`hero_db`, `hero_db_server`, `hero_db_admin`) build from source via `lab build --workspace`. - **README** — add **Run the full stack manually (hero_proc + hero_router)** with a `~/hero/bin` install prerequisite (`lab build --install`), foreground start/stop/verify (logs to terminal, no temp files), and the hero_router dashboard URL. - **CI** — adopt the canonical `build.yaml` + `lab-publish.yaml` shared by hero_proc / hero_lib (hero_skills#268); remove the superseded `build-linux.yaml`, `release.yaml`, `build-macos.yaml.disabled`. `lab-publish` publishes musl-x86_64 to `latest` (main) and `latest-dev` (development) — the two releases the production task asks for. ## Notes - A blanket `cargo update` had pulled broken transitive dev revs via `hero_admin_lib → hero_lib@development` (strict `openrpc_client` macro vs. stale `rpc.discover`), failing the admin build. Upstream realigned on main (2026-06-03), so the graph is now pure-main — this **supersedes** the earlier "transitive development deps remain" caveat. - `rust-version` kept at `1.96` (matches main + the herolib deps' requirement). - Verified locally: `cargo test --workspace --lib --bins` → **41 passed / 0 failed**; `lab build --release --workspace --install --start` builds + launches all three under hero_proc; RESP `:6378` → PONG, dashboard via hero_router → **HTTP 200**.
chore: pin hero_db deps to main + document running via hero_proc/hero_router
Some checks failed
Build and Test / build (pull_request) Failing after 14m19s
32d77b044c
Cargo.toml: pin hero_db's direct git deps to the `main` branch instead of
`development` (herolib_core/derive/openrpc, hero_lifecycle, hero_admin_lib,
hero_proc_sdk). Note: transitive deps pulled via hero_admin_lib still resolve
from `development` upstream, so Cargo.lock contains both.

README: add a "Run the full stack manually (hero_proc + hero_router)" section
with foreground start/stop/verify steps (logs stream to the terminal, no temp
files) and the hero_router dashboard URL (http://localhost:9988/hero_db/admin/).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A blanket `cargo update` had advanced the transitive (other-repo) deps pulled
via hero_admin_lib to broken branch tips — hero_lib@development#96611dd (strict
openrpc_client macro) + hero_proc_sdk@development#d05772b (stale rpc.discover) —
which failed hero_db_admin's clean build.

Upstream realigned on main (hero_website_framework's hero_admin_lib 0bfbdcd1 now
depends on hero_lib@main / hero_proc@main), so re-resolving yields a graph with
zero branch=development entries. All three binaries (hero_db, hero_db_server,
hero_db_admin) now build from source via `lab build --workspace`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The manual run guide invoked binaries from ~/hero/bin/ without saying how that
folder is created. Add a prerequisite: `lab build --release --workspace
--install` for hero_db, a note that hero_proc/hero_router come from their own
repos or `lab service core --install`, and that FORGE_TOKEN must be exported
during the build.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ci: adopt canonical build.yaml + lab-publish.yaml; drop per-repo workflows
Some checks failed
Build and Test / build (pull_request) Failing after 40s
8b89113e26
Replace hero_db's ad-hoc CI with the canonical workflows shared by hero_proc /
hero_lib (hero_skills#268):
- build.yaml: actions/checkout@v4, FORGE_TOKEN git-auth, rustc 1.96, check +
  test (sandbox PATH_ROOT) + clippy (non-blocking) + release build.
- lab-publish.yaml (verbatim): publishes musl-x86_64 to `latest` on main and
  `latest-dev` on development pushes, ref name on v* tags.

Remove the superseded build-linux.yaml, release.yaml, and build-macos.yaml.disabled.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
nabil_salah changed title from chore: pin hero_db deps to main + document running via hero_proc/hero_router to chore: main-only deps + canonical CI + hero_proc/hero_router run guide 2026-06-03 14:58:32 +00:00
ci: stop forcing sccache via .cargo/config.toml so CI matches proc
All checks were successful
Build and Test / build (pull_request) Successful in 7m2s
991b894f43
The builder image ships no sccache, so `rustc-wrapper = "sccache"` made raw
`cargo check`/`test`/`build` fail with "could not execute process `sccache`
(No such file or directory)". hero_proc — whose canonical build.yaml we adopted —
has no .cargo/config.toml and doesn't force a wrapper. `lab build` sets
RUSTC_WRAPPER itself when it wants sccache (builder/executor.rs), so local lab
builds are unaffected.

Verified locally with no wrapper (sccache compile-requests = 0):
cargo check / test (41 passed) / build --release all exit 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
style: fix clippy lints flagged by the CI Lint step (-D warnings)
All checks were successful
Build and Test / build (pull_request) Successful in 14m32s
c31ab16ed6
`cargo clippy --fix` across crates/hero_db/src/db/engine/* and
hero_db_server/src/handlers/graph.rs — all machine-applicable, semantics-
preserving:
- needless_question_mark: `Ok(expr?)` -> `expr`
- useless_conversion: drop redundant `.map_err(RedisError::from)`
- unnecessary_sort_by: `sort_by(|a,b| a.id.cmp(&b.id))` -> `sort_by_key(|a| a.id)`
- collapsible_if -> let-chain (graph.rs)
rustfmt applied to the touched files only (no workspace-wide reformat).

The Lint step is continue-on-error, so CI was already green; this clears the
24 warnings so `cargo clippy --workspace -- -D warnings` exits 0. Verified:
clippy clean, tests 41 passed / 0 failed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mahmoud deleted branch chore/main-deps-and-run-readme 2026-06-03 15:40:30 +00:00
Sign in to join this conversation.
No reviewers
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
lhumina_code/hero_db!38
No description provided.