Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/gunnar-ui

.nornir/build-variants.toml

# gunnar-ui — .nornir/build-variants.toml — EMITTED, NOT SOURCE.
#
# Generated by `cargo run -p gunnar-ui-build-thing -- emit` from gunnar-ui-recipe
# (the Rust `impl BuildThing`: crates/gunnar-ui-recipe/src/variants.rs for the
# build points, lib.rs for the feature universe and the set rules;
# gunnar-ui-build-thing is its wasm32 cdylib shim). The code is the one source;
# this file DESCRIBES the build for readers and for the tools that discover a
# repository by this path (the dwarves forge, the build-thing pane, xtask,
# installtest, the bench harness). Editing it changes NOTHING: re-emit after
# changing the code. Do not edit by hand.
#
# Model: variant -> features -> settings/sub-settings -> typ. gunnar-ui is ONE
# console in two halves that build nothing alike — a native static-musl daemon
# and a wasm32 browser bundle — and each of them is built twice, community and
# `metered`, which is why there are four rows and not two. The fifth is the product,
# `gunnar-ui` (`cargo install gunnar-ui`): the thin bin over the daemon's library with
# the console bundle built in.
#
# The reasoning that belongs beside these rows is in the doc comments of the
# code above, and never here: a comment written into this file is deleted by the
# next `emit` without anybody noticing.

[nornir-build-thing]
schema = 5

[build]
offers = ["metered"]

[build.allow_unbuilt_bins]
gunnar-ui-build-thing = "the emission door (`cargo run -p gunnar-ui-build-thing -- emit`) and the wasm32 plugin the dwarves forge loads. Repository tooling on the tool axis, like xtask; it owns no build knowledge and ships nowhere."
xtask = "repository tasks (`cargo xtask publish`), invoked as a tool and never shipped; built by every `cargo xtask` run, not by a delivery."

[[build.variant]]
name = "gunnar-ui"
package = "gunnar-ui"
bin = "gunnar-ui"
profile = "release"
linkage = "thin"
role = "client"
suites = ["MVP"]
reaches = ["gunnar"]

[[build.variant]]
name = "gunnar-ui-server"
package = "gunnar-ui-server"
bin = "gunnar-ui-server"
profile = "release"
target = "x86_64-unknown-linux-musl"
member = "gunnar-ui"
linkage = "thin"
role = "server"
suites = ["MVP"]
kind = "service"
reaches = ["gunnar"]

[[build.variant]]
name = "gunnar-ui-server-metered"
package = "gunnar-ui-server"
bin = "gunnar-ui-server"
features = ["metered"]
profile = "release"
target = "x86_64-unknown-linux-musl"
member = "gunnar-ui"
linkage = "thin"
role = "server"
suites = ["MVP"]
default = true
kind = "service"
reaches = [
    "gunnar",
    "monetize",
]

[[build.variant]]
name = "gunnar-ui-web"
package = "gunnar-ui-web"
bin = "gunnar-ui-web"
profile = "release"
target = "wasm32-unknown-unknown"
linkage = "thin"
role = "client"
suites = ["MVP"]
default = true
kind = "wasm"
reaches = ["gunnar-ui"]

[[build.variant]]
name = "gunnar-ui-web-metered"
package = "gunnar-ui-web"
bin = "gunnar-ui-web"
features = ["metered"]
profile = "release"
target = "wasm32-unknown-unknown"
linkage = "thin"
role = "client"
suites = ["MVP"]
kind = "wasm"
reaches = ["gunnar-ui"]

[[build.web_app]]
name = "gunnar-ui-web"
out_dir = "crates/gunnar-ui-web/dist"
index = "crates/gunnar-ui-web/index.html"

[[build.web_app]]
name = "gunnar-ui-web-metered"
out_dir = "crates/gunnar-ui-web/dist-metered"
index = "crates/gunnar-ui-web/index.html"

[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",
    "x86_64-unknown-uefi",
]
timeout_secs = 3600
mem_limit_mb = 8192
cpus = 8
siblings = ["monetize"]