Skip to content

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

Description

@NathanFlurry

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions