Files
build/release.toml

178 lines
4.3 KiB
TOML

[[build]]
name = "komodo-binaries-aarch64"
tags = ["release", "binaries", "aarch64"]
[build.config]
builder = "aarch64-builder"
version = "1.16.12"
auto_increment_version = false
image_name = "komodo-binaries"
image_tag = "aarch64"
repo = "mbecker20/komodo"
dockerfile_path = "bin/binaries.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
##
[[build]]
name = "komodo-binaries-x86_64"
tags = ["release", "binaries", "x86_64"]
[build.config]
builder = "x86_64-builder"
version = "1.16.12"
auto_increment_version = false
image_name = "komodo-binaries"
image_tag = "x86_64"
repo = "mbecker20/komodo"
dockerfile_path = "bin/binaries.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
##
[[build]]
name = "komodo-frontend"
tags = ["release", "frontend"]
[build.config]
builder = "x86_64-builder"
version = "1.16.12"
auto_increment_version = false
image_name = "komodo-frontend"
repo = "mbecker20/komodo"
dockerfile_path = "frontend/Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
##
[[build]]
name = "komodo-core"
tags = ["release", "core"]
[build.config]
builder = "x86_64-builder"
version = "1.16.12"
auto_increment_version = false
image_name = "komodo"
repo = "mbecker20/komodo"
pre_build.command = """
docker buildx create --name builder --use --bootstrap
"""
dockerfile_path = "bin/core/multi-arch.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
extra_args = [
"--platform linux/amd64,linux/arm64",
"--builder builder"
]
##
[[build]]
name = "komodo-periphery"
tags = ["release", "periphery"]
[build.config]
builder = "x86_64-builder"
version = "1.16.12"
auto_increment_version = false
image_name = "periphery"
repo = "mbecker20/komodo"
pre_build.command = """
docker buildx create --name builder --use --bootstrap
"""
dockerfile_path = "bin/periphery/multi-arch.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
extra_args = [
"--platform linux/amd64,linux/arm64",
"--builder builder"
]
##
[[procedure]]
name = "build_release"
tags = ["release"]
[[procedure.config.stage]]
name = "Build Binaries + Frontend"
enabled = true
executions = [
{ execution.type = "RunBuild", execution.params.build = "komodo-binaries-x86_64", enabled = true },
{ execution.type = "RunBuild", execution.params.build = "komodo-binaries-aarch64", enabled = true },
{ execution.type = "RunBuild", execution.params.build = "komodo-frontend", enabled = true },
]
[[procedure.config.stage]]
name = "Build Release Images + Publish Binaries"
enabled = true
executions = [
{ execution.type = "RunBuild", execution.params.build = "komodo-core", enabled = true },
{ execution.type = "RunBuild", execution.params.build = "komodo-periphery", 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"]