rivet-dev / rivet-dev/dynamic-apps
CI: automated incremental build + publish for @agentos-software registry packages
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1k
- Forks
- 51
- Avg merge
- 6m
- Merged PRs (30d)
- 13
Description
Problem
The @agentos-software/* registry packages have no automated CI build/publish:
- Commands live in
registry/software/*, agents inregistry/agent/*. - They are deliberately excluded from the secure-exec preview publish workflow (
scripts/publish/src/lib/packages.ts→SECURE_EXEC_WORKSPACE_PACKAGESskips everything under@agentos-software/*except@agentos-software/manifest). - The only publish path is a manual
registry/Makefilemake publishrun from a dev machine.
The manual/local path is impractical for contributors: publishing a registry update requires a full local wasm toolchain build:
make sysroot→patch-wasi-libc.sh+build-llvm-runtimes.sh(patched wasi-libc with networking, e.g.netdb.h),- then the heavy C builds (curl, sqlite3, duckdb — duckdb alone is 20+ min via CMake),
- then Rust wasm (
wasm32-wasip1, ~139 commands) + agent packing.
Realistically 30–60+ min of from-source LLVM/wasi-libc/duckdb builds, fallible, and it pins the machine. So registry updates don't happen reliably.
Ask
A CI workflow that builds and publishes the registry packages automatically on change.
Requirements
- Incremental — some packages take a long time to build (duckdb, curl, the patched sysroot). Reuse the existing per-package
.last-publish-hashchange-detection so only changed packages rebuild/republish, and cache the wasm toolchain (patched wasi-libc sysroot, wasi-sdk, LLVM runtimes) across runs. The registry should be updatable incrementally rather than all-or-nothing. - Non-
latestdist-tag — never move thelatestpointer (consistent with the manual path'sDIST_TAG=dev). - Cover both
registry/software/*(commands + meta) andregistry/agent/*(agents). - Trigger on changes under
registry/(and the native toolchain).
Context
Surfaced while migrating the registry to the { packageDir } + agentos-package.json model (secure-exec #150 / agent-os #1561): every @agentos-software/* package needs republishing with the new shape, but there is no non-manual way to do it.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with registry/Makefile and the existing per-package .last-publish-hash change detection, then inspect scripts/publish/src/lib/packages.ts and the secure-exec workflow exclusions. Trace the sysroot, wasi-sdk, LLVM runtime, CMake, Rust wasm, and agent-packing steps before designing the workflow. Done means changes under registry/ or the native toolchain trigger incremental builds and publishing for both package trees, with cached toolchain artifacts and a non-latest dist-tag.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, github-actions, rust, typescript, wasm
- Domain
- build-system, ci-cd, devops, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100