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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions