feat(services): add --from-ci to core platform modules (router, proxy, db, indexer) #195

Merged
mik-tf merged 1 commit from development_mik_from_ci_core into development 2026-05-03 16:46:01 +00:00
Owner

Phase 1 of hero_demo#54, continuing the pilot from hero_skills#193.

What

Adds --from-ci and --version flags to four service nu modules, mirroring the merged pilot pattern in service_proc.nu (commit 3387d28):

Module Repo Asset suffix Latest tag verified
service_router lhumina_code/hero_router linux-amd64-musl v0.2.2
service_proxy lhumina_code/hero_proxy linux-amd64-musl v0.5.0
service_db lhumina_code/hero_db linux-amd64 (default) v0.3.2
service_indexer lhumina_code/hero_indexer linux-amd64-musl v0.1.3

Default cargo build path is unchanged. --from-ci dispatches to svc_install_from_ci (lib.nu line 520); else svc_install. --version defaults to "latest" (resolves via Forgejo API) and accepts an explicit tag. --update / --release are ignored under --from-ci.

Why

Replaces ~10 min of cold cargo-build per service with ~6 s of binary download. Bare-VM-to-working-stack drops from hours to minutes. Tracking on hero_demo#54 (strategic plan).

Smoke test

Verified end-to-end on heroci.gent01.grid.tf (fresh CI-validation VM):

=== router ===   ✓ hero_router installed from CI artifacts (release v0.2.2)
=== proxy ===    ✓ hero_proxy installed from CI artifacts (release v0.5.0)
=== db ===       ✓ hero_db installed from CI artifacts (release v0.3.2)
=== indexer ===  ✓ hero_indexer installed from CI artifacts (release v0.1.3)

All 10 binaries (1 + 3 + 3 + 3) land in ~/hero/bin/, sized correctly (1.3-11 MB each), hero_router --version reports 0.2.1, server/UI binaries launch and emit init logs.

Out of scope (deferred)

  • service_osis — its current buildenv.sh adds hero_osis_seed (not present in the latest published release v1.0.0-rc5), so --from-ci would 404 until a fresh tag is pushed. Will land as a one-line patch once hero_osis re-tags.
  • PR-2 (user-facing apps: biz, whiteboard, matrixchat, editor, +deferred books)
  • PR-3 (infra: aibroker, foundry, browser, slides)
  • Phase 2 (CI fixes for collab/logic/codescalers/livekit)
  • Phase 3 (service_install_all --from-ci)

Signed-off-by: mik-tf

Phase 1 of [hero_demo#54](https://forge.ourworld.tf/lhumina_code/hero_demo/issues/54), continuing the pilot from [hero_skills#193](https://forge.ourworld.tf/lhumina_code/hero_skills/pulls/193). ## What Adds `--from-ci` and `--version` flags to four service nu modules, mirroring the merged pilot pattern in `service_proc.nu` (commit 3387d28): | Module | Repo | Asset suffix | Latest tag verified | |---|---|---|---| | `service_router` | `lhumina_code/hero_router` | `linux-amd64-musl` | v0.2.2 | | `service_proxy` | `lhumina_code/hero_proxy` | `linux-amd64-musl` | v0.5.0 | | `service_db` | `lhumina_code/hero_db` | `linux-amd64` (default) | v0.3.2 | | `service_indexer` | `lhumina_code/hero_indexer` | `linux-amd64-musl` | v0.1.3 | Default cargo build path is unchanged. `--from-ci` dispatches to `svc_install_from_ci` (lib.nu line 520); else `svc_install`. `--version` defaults to `"latest"` (resolves via Forgejo API) and accepts an explicit tag. `--update` / `--release` are ignored under `--from-ci`. ## Why Replaces ~10 min of cold cargo-build per service with ~6 s of binary download. Bare-VM-to-working-stack drops from hours to minutes. Tracking on hero_demo#54 ([strategic plan](https://forge.ourworld.tf/lhumina_code/hero_demo/issues/54#issuecomment-28385)). ## Smoke test Verified end-to-end on heroci.gent01.grid.tf (fresh CI-validation VM): ``` === router === ✓ hero_router installed from CI artifacts (release v0.2.2) === proxy === ✓ hero_proxy installed from CI artifacts (release v0.5.0) === db === ✓ hero_db installed from CI artifacts (release v0.3.2) === indexer === ✓ hero_indexer installed from CI artifacts (release v0.1.3) ``` All 10 binaries (1 + 3 + 3 + 3) land in `~/hero/bin/`, sized correctly (1.3-11 MB each), `hero_router --version` reports `0.2.1`, server/UI binaries launch and emit init logs. ## Out of scope (deferred) - **`service_osis`** — its current `buildenv.sh` adds `hero_osis_seed` (not present in the latest published release `v1.0.0-rc5`), so `--from-ci` would 404 until a fresh tag is pushed. Will land as a one-line patch once `hero_osis` re-tags. - **PR-2** (user-facing apps: biz, whiteboard, matrixchat, editor, +deferred books) - **PR-3** (infra: aibroker, foundry, browser, slides) - **Phase 2** (CI fixes for collab/logic/codescalers/livekit) - **Phase 3** (`service_install_all --from-ci`) Signed-off-by: mik-tf
feat(services): add --from-ci install path to core platform modules
Some checks failed
Build and Publish Skills / build-and-publish (pull_request) Has been cancelled
7388d6ccbe
Mirrors the pilot pattern from service_proc (#193 / commit 3387d28). Adds
--from-ci and --version flags to:
  - service_router  (asset_suffix: linux-amd64-musl)
  - service_proxy   (asset_suffix: linux-amd64-musl)
  - service_db      (asset_suffix: linux-amd64, default)
  - service_indexer (asset_suffix: linux-amd64-musl)

Default cargo build path is unchanged. --from-ci dispatches to
svc_install_from_ci (lib.nu line 520); else svc_install. --version
defaults to "latest" (resolved via Forgejo API) and accepts an explicit
tag. --update / --release are ignored under --from-ci.

Asset suffixes confirmed against published release assets:
  - hero_router v0.2.2:  hero_router-linux-amd64-musl
  - hero_proxy v0.5.0:   hero_proxy{,_server,_ui}-linux-amd64-musl
  - hero_db v0.3.2:      hero_db{,_server,_ui}-linux-amd64
  - hero_indexer v0.1.3: hero_indexer{,_server,_ui}-linux-amd64-musl

service_osis is intentionally deferred to a follow-up: its current
buildenv.sh adds hero_osis_seed (not present in the latest release
v1.0.0-rc5), so --from-ci would 404 until a fresh tag is published.
This will land as a one-line patch once hero_osis re-tags.

Phase 1 of the rollout in lhumina_code/hero_demo#54
(see comment 28385 for the full plan).

Signed-off-by: mik-tf
mik-tf merged commit a13c9ef0a4 into development 2026-05-03 16:46:01 +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_skills!195
No description provided.