Files
build/release.toml

174 lines
4.2 KiB
TOML

[[build]]
name = "komodo-core-aarch64"
tags = ["release", "core", "aarch64"]
[build.config]
builder = "aarch64_builder"
version = "1.16.11"
auto_increment_version = false
image_name = "komodo"
image_tag = "aarch64"
repo = "mbecker20/komodo"
dockerfile_path = "bin/core/debian.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
##
[[build]]
name = "komodo-core-x86"
tags = ["release", "core", "x86"]
[build.config]
builder = "x86_builder"
version = "1.16.11"
auto_increment_version = false
image_name = "komodo"
repo = "mbecker20/komodo"
dockerfile_path = "bin/core/debian.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
##
[[build]]
name = "komodo-periphery-aarch64"
tags = ["release", "periphery", "aarch64"]
[build.config]
builder = "aarch64_builder"
version = "1.16.11"
auto_increment_version = false
image_name = "periphery"
image_tag = "aarch64"
repo = "mbecker20/komodo"
dockerfile_path = "bin/periphery/debian.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
##
[[build]]
name = "komodo-periphery-x86"
tags = ["release", "periphery", "x86"]
[build.config]
builder = "x86_builder"
version = "1.16.11"
auto_increment_version = false
image_name = "periphery"
repo = "mbecker20/komodo"
dockerfile_path = "bin/periphery/debian.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
##
[[repo]]
name = "periphery-bin-aarch64"
tags = ["release", "periphery", "aarch64"]
[repo.config]
builder = "aarch64_builder"
repo = "mbecker20/komodo"
on_pull.path = "."
on_pull.command = """
/root/.cargo/bin/cargo clean
/root/.cargo/bin/cargo build -p komodo_periphery --release
curl --user mbecker20:[[KOMODO_GIT_TOKEN]] --upload-file ./target/release/periphery https://git.komo.do/api/packages/mbecker20/generic/periphery/[[KOMODO_VERSION]]-release/periphery-aarch64
"""
##
[[repo]]
name = "periphery-bin-x86"
tags = ["release", "periphery", "x86"]
[repo.config]
builder = "x86_builder"
repo = "mbecker20/komodo"
on_pull.path = "."
on_pull.command = """
/root/.cargo/bin/cargo clean
/root/.cargo/bin/cargo build -p komodo_periphery --release
curl --user mbecker20:[[KOMODO_GIT_TOKEN]] --upload-file ./target/release/periphery https://git.komo.do/api/packages/mbecker20/generic/periphery/[[KOMODO_VERSION]]-release/periphery
"""
##
[[procedure]]
name = "build_release"
tags = ["release"]
[[procedure.config.stage]]
name = "Build Komodo Release"
enabled = true
executions = [
{ execution.type = "BatchBuildRepo", execution.params.pattern = "*", enabled = true },
{ execution.type = "BatchRunBuild", execution.params.pattern = "*", enabled = true }
]
##
[[action]]
name = "publish_release"
tags = ["release"]
[action.config]
file_contents = """
const KOMODO_VERSION = "1.16.11";
const APPS = ["core", "periphery"];
const ARCHS = ["x86", "aarch64"];
const last_version = (
await komodo.read("GetVariable", { name: "KOMODO_VERSION" })
).value;
// Update Variable
await komodo.write("UpdateVariableValue", {
name: "KOMODO_VERSION",
value: KOMODO_VERSION,
});
console.log("Updated KOMODO_VERSION to " + KOMODO_VERSION);
// Update Builds
for (const app of APPS) {
for (const arch of ARCHS) {
const name = `komodo-${app}-${arch}`;
await komodo.write("UpdateBuild", {
id: name,
config: {
version: KOMODO_VERSION as any,
},
});
console.log(`Updated Build ${name} to ${KOMODO_VERSION}`);
}
}
// Update 'release' Sync references
const sync = await komodo.read("GetResourceSync", { sync: "release" });
const file = sync.info?.remote_contents?.find(
(file) => file.path === "release.toml",
);
await komodo.write("WriteSyncFileContents", {
sync: "release",
resource_path: file.resource_path,
file_path: file.path,
contents: file.contents.replaceAll(last_version, KOMODO_VERSION),
});
console.log(`Updated Sync references to ${KOMODO_VERSION}`);
// Start the procedure run.
await komodo.execute("RunProcedure", { procedure: "build_release" });
console.log("Publish Procedure triggered ");
"""
##
[[resource_sync]]
name = "release"
tags = ["release"]
[resource_sync.config]
git_provider = "git.komo.do"
repo = "komodo/build"
git_account = "mbecker20"
resource_path = ["release.toml"]
managed = true
match_tags = ["release"]