Native Sources
The Native
source is used for blueprints that compile to a native binary and release via the release.yml
GitHub workflow
from the blueprint template.
Requirements
The requirements for running native blueprints are available here
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" },
] },
]