rivet-dev / rivet-dev/dynamic-apps

CI: automated incremental build + publish for @agentos-software registry packages

Open
#162 0 comments 0 reactions 0 assignees View on GitHub

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 in registry/agent/*.
  • They are deliberately excluded from the secure-exec preview publish workflow (scripts/publish/src/lib/packages.tsSECURE_EXEC_WORKSPACE_PACKAGES skips everything under @agentos-software/* except @agentos-software/manifest).
  • The only publish path is a manual registry/Makefile make publish run from a dev machine.

The manual/local path is impractical for contributors: publishing a registry update requires a full local wasm toolchain build:

  • make sysrootpatch-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-hash change-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-latest dist-tag — never move the latest pointer (consistent with the manual path's DIST_TAG=dev).
  • Cover both registry/software/* (commands + meta) and registry/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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.