rivet-dev / rivet-dev/dynamic-apps

build(registry): fold native Makefile builds into the Turbo task graph

Open
#272 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 registry native command binaries are built by a standalone Makefile (registry/native/Makefile, registry/native/c/Makefile) invoked out-of-band via make -C registry/native commands (the just registry-native recipe). This build is not part of the Turbo task graph:

  • turbo build / pnpm build does not produce the WASM command binaries, so packages that depend on them assemble as empty placeholders.
  • Anyone running the core tests or an AgentOs example must remember to manually run just registry-native (and just registry-build) first, or hit software package … is not BUILT / missing-command failures at runtime.
  • The manual step is a recurring footgun for contributors and CI setup.

Proposal

Drive the registry native builds through Turbo (turborepo) as the primary build path so a single turbo build produces everything, no manual pre-build:

  • Wrap the registry/native Makefile targets in a Turbo build task (e.g. a package-level script that shells to make, with proper inputs/outputs for caching), or port the command build to per-crate Turbo tasks.
  • Wire it into the dependency graph (dependsOn) so registry software/agent package builds depend on the native commands being built.
  • Keep the Makefile as the underlying compiler invocation if convenient, but stop requiring it to be run by hand — Turbo's cache + outputs should make repeat builds cheap.

Outcome

pnpm build (or turbo build) alone leaves the registry fully built; no separate just registry-native / just registry-build step before running tests or examples.

Note: filed as "Turbo/turborepo" (the monorepo task runner already in use), per the "replace the makefiles … using turbo" ask.

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/native/Makefile, registry/native/c/Makefile, and the just registry-native and just registry-build recipes. Trace the registry software and agent package build entry points, then define the Turbo build dependency, inputs, and outputs around the existing native build. Done means pnpm build or turbo build produces the registry native command binaries without a manual step.

Written by the indexing model from the issue text.

Assessment

Tech stack
wasm
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.