CI: automated incremental build + publish for @agentos-software registry packages
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 38/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- cmake, github-actions, rust, typescript, wasm
- 领域
- build-system, ci-cd, devops, release
调研方向
先从 registry/Makefile 和现有的按包 .last-publish-hash 变更检测开始,然后检查 scripts/publish/src/lib/packages.ts 以及 secure-exec workflow 的排除项。在设计 workflow 之前,跟踪 sysroot、wasi-sdk、LLVM runtime、CMake、Rust wasm 和 agent-packing 步骤。完成的标准是:registry/ 下或 native toolchain 中的更改会为两棵 package 树触发增量构建和发布,使用缓存的 toolchain artifacts,并采用非 latest 的 dist-tag。
由索引模型根据 Issue 内容生成。
描述
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.
- 主要语言
- TypeScript
- 星标
- 1k
- 派生
- 53
- 平均合并
- 2 小时 54 分钟
- 30 天内合并 PR
- 5
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
rivet-dev/dynamic-apps 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 88/100
rivet-dev/dynamic-apps#305 ·
-
难度 3/5 1-2 天 新手友好度 72/100
rivet-dev/dynamic-apps#306 ·
-
Build cache ignores maxResponseBytes, potentially reusing an outdated response limit可能已有人在做 @Utkarshpandey0001 于 43 天前认领。 未关闭
难度 3/5 1-2 天 新手友好度 78/100
rivet-dev/dynamic-apps#297 ·
-
难度 3/5 1-2 天 新手友好度 58/100
rivet-dev/dynamic-apps#280 · 2 条评论 ·
-
Make agentOS runtime classifier content-based (match Linux exec semantics), not extension-based可能已有人在做 @mittal-parth 于 48 天前认领。 未关闭
难度 4/5 3-5 天 新手友好度 48/100
rivet-dev/dynamic-apps#275 ·
查看 rivet-dev/dynamic-apps 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
ehmpathy/rhachet-roles-ehmpathy#1231 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 66/100
Equal-Vote/bettervoting#1754 ·
维护者通常 2 天内回复
-
难度 1/5 1 小时以内 新手友好度 82/100
Doist/todoist-sdk-typescript#740 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 62/100
privatenumber/cleye#47 ·
-
spec-feedback
难度 2/5 1-3 小时 新手友好度 62/100