.nornir/build-variants.toml
# znippy — .nornir/build-variants.toml — EMITTED, NOT SOURCE.
#
# Generated by `cargo run -p znippy-build-thing -- emit` from znippy-build-thing
# (the Rust `impl BuildThing`). The code is the one source; this file DESCRIBES
# the build for readers and for the doors that discover a repo by this path —
# `cargo xtask build --suite ORIGINAL` is `suite_cli` over this file, and
# `dwarves buildthing znippy` comes through the same one. Editing it changes
# NOTHING: re-emit after changing the code. Do not edit by hand.
#
# Model: variant → features → settings/sub-settings → typ. TWO atoms, both
# `role = tool` and both `linkage = not-applicable`: the five-shape ladder is an
# axis about WHERE THE SERVER LIVES, and znippy has no server — it is an archiver
# you run, that exits. See .nornir/build-thing-design.md.
[build]
offers = [
"iceberg",
"sign",
]
base_suite = "ORIGINAL"
[build.allow_unbuilt]
bench-kernels = "the git plugin's benchmark kernels (`fst`, `znippy-compress`): measurement scaffolding behind `examples/`, never a shipped shape."
bundle = "SHIPS — `znippy-common`'s shared airgap-bundle helper (`plugins::bundle`, serde_json), turned on by the skidbladnir and rust-toolchain plugins' `znippy-handler`, which `znippy-cli` pulls with defaults."
host-decompressors = """SHIPS — `znippy-cli` links `znippy-common`, the maven plugin and the python plugin with `features = ["host-decompressors"]` (the host's own lzip/ljar decompressors); a wasm build of a plugin turns it off, which is why it is a feature at all."""
openzl = """SHIPS — `znippy-common`'s `default = ["openzl"]`, pulled with defaults by `znippy-cli`: the openzl codec, an FFI arm (`openzl-sys-rs`) and the one place this workspace crosses the LAW's pure-Rust line; a feature so the FFI can be turned off, never so it can be turned on."""
provenance = "the ELF plugin's DSSE / in-toto / SLSA binding: it turns on `znippy-common/sign` (ed25519-dalek, p256, x509-cert, the CMS stack), so it is off in every znippy delivery — `znippy-cli` takes `znippy-plugin-elf` with defaults — and exists for an embedder that verifies ELF provenance (holger's AttestStore payload and predicate types)."
resolve = "the maven plugin's network arm (`ureq`): resolving coordinates over the wire. The archiver is offline by design — it archives what it is given — so nothing delivered enables it; it is for a consumer that wants a resolver."
sign-holger-test = "test-only: `sign` plus `cert-helper` so a test can mint the certificates holger's signing would otherwise need; shipping it would ship a test CA."
testmatrix = "the nornir-testmatrix emit channel in `znippy-cli`: on only under `cargo test`, off in every delivery, and with it off the emit call is a no-op with the crate absent from the graph."
wasm-plugins = "SHIPS — the wasm plugin host (wasmtime), linked by `znippy-cli` as `znippy-common/wasm-plugins`. Off only for consumers that embed znippy-common without a plugin host."
znippy-handler = "SHIPS — the `default` of the skidbladnir and rust-toolchain plugins, pulled with defaults by `znippy-cli`: the plugin's in-process handler over its dependency-free classifier, which is the half a wasm shim leaves out."
[build.allow_unbuilt_bins]
archive_open = "the cargo-fuzz target over znippy-common's archive open / IPC guard (znippy-common/fuzz, its own workspace, built by `cargo fuzz` on nightly) — test tooling, never shipped."
ipc_stream = "the cargo-fuzz target over znippy-common's IPC stream guard (znippy-common/fuzz, its own workspace, built by `cargo fuzz` on nightly) — test tooling, never shipped."
xtask = "the `cargo xtask` door onto this repo's build thing — repository tooling, never shipped."
znippy-build-thing = "this recipe crate's own emit door (`cargo run -p znippy-build-thing -- emit` regenerates .nornir/build-variants.toml); the forge loads the crate as wasm, the bin is repository tooling, never shipped."
[[build.variant]]
name = "znippy"
package = "znippy"
bin = "znippy"
no_default_features = true
profile = "release"
member = "znippy"
linkage = "not-applicable"
role = "tool"
suites = ["ORIGINAL"]
default = true
[[build.variant]]
name = "znippy-full"
package = "znippy"
bin = "znippy"
features = [
"iceberg",
"sign",
]
no_default_features = true
profile = "release"
member = "znippy"
linkage = "not-applicable"
role = "tool"
suites = ["ORIGINAL"]
[build.toolchain]
image = "nordisk-cargo-toolchain"
image_sha256 = "86d575e874677da3eb9aff3ba6e38ca600781ee9b7948a9df43ef89a6213c762"
rust_version = "1.97.1"
targets = [
"x86_64-unknown-linux-gnu",
"x86_64-unknown-linux-musl",
"wasm32-unknown-unknown",
]
timeout_secs = 3600
mem_limit_mb = 8192
cpus = 8
siblings = [
"Skidbladnir",
"draupnir",
"edda",
"facett",
"holger",
"modgunn",
"nornir",
"openzl-sys-rs",
"skade",
"znippy-zoomies",
]