Skip to content

feat: add packaged reusable build-step providers - #2764

Open
wolfv wants to merge 3 commits into
feat/named-build-stepsfrom
feat/packaged-build-step-providers
Open

feat: add packaged reusable build-step providers#2764
wolfv wants to merge 3 commits into
feat/named-build-stepsfrom
feat/packaged-build-step-providers

Conversation

@wolfv

@wolfv wolfv commented Aug 25, 2026

Copy link
Copy Markdown
Member

Stack

2 of 4 in the experimental build-steps series.

Summary

Build on named steps by allowing reusable pipelines to ship in conda packages.

  • resolve provider:step@version references before the final build/host solve
  • install providers into isolated, content-addressed prefixes without running link scripts
  • support typed with inputs, defaults, selectors, and nested provider pipelines
  • collect provider build/host requirements into the recipe solve
  • record exact provider provenance and deterministic content/rendered fingerprints in package identity
  • sanitize provider channel provenance and reject late variant dependencies that missed initial expansion
  • reject unsafe nesting, malformed provider DAGs, inheritance changes, and unsupported multi-output use
  • allow providers to emit license-file metadata

Examples

Add packaged CMake, Meson, Go, and Rust provider examples plus local provider/consumer fixtures.

Validation

  • cargo check --all-targets
  • cargo clippy --all-targets -- -D warnings
  • cargo fmt --all --check
  • git diff --check
  • 4 layer-specific build-step/provider E2E tests

The complete cross-platform end-to-end coverage additionally runs on the top PR, #2767.

@wolfv wolfv changed the title feat/packaged build step providers feat: add packaged reusable build-step providers Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant