Native Sources
Use the Native source for blueprints that compile to a native binary and release through the release.yml GitHub workflow
from the blueprint template.
Requirements
See the native source requirements.
Format
The Native source has the following format:
pub struct NativeSource {
pub owner: String,
pub repo: String,
pub tag: String,
pub binaries: Vec<BlueprintBinary>,
}
pub struct BlueprintBinary {
pub arch: Architecture,
pub os: OperatingSystem,
pub name: String,
}Where:
owner- The owner of the GitHub repository (e.g.,tangle-network)repo- The name of the repository (e.g.,some-blueprint)tag- The release tag of the binary (e.g.,0.1.0)binaries- A list of binaries (e.g., see below)
And in BlueprintBinary:
arch- The architecture the blueprint was built for (see Architecture)os- The operating system the blueprint was built for (see OperatingSystem)name- The name of the binary in the GitHub release (e.g.,my-blueprint-bin)
And they can be specified in the manifest of your binary crate like so:
[package.metadata.blueprint]
sources = [
{ type = "Native", owner = "some-github-user", repo = "some-blueprint", tag = "0.1.0", binaries = [
{ arch = "Amd64", os = "Linux", name = "my-blueprint-bin" },
] },
]