Files
build/release.toml
2025-06-16 06:47:55 +00:00

213 lines
5.2 KiB
TOML

[[build]]
name = "komodo-binaries-aarch64"
tags = ["release", "binaries", "aarch64"]
[build.config]
builder = "aarch64-builder"
version = "1.18.3"
auto_increment_version = false
image_name = "komodo-binaries"
image_tag = "aarch64"
repo = "moghtech/komodo"
dockerfile_path = "bin/binaries.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
image_registry.organization = "moghtech"
##
[[build]]
name = "komodo-binaries-x86_64"
tags = ["release", "binaries", "x86_64"]
[build.config]
builder = "x86_64-builder"
version = "1.18.3"
auto_increment_version = false
image_name = "komodo-binaries"
image_tag = "x86_64"
repo = "moghtech/komodo"
dockerfile_path = "bin/binaries.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
image_registry.organization = "moghtech"
##
[[build]]
name = "komodo-core"
description = """
OPEN FOR INSTRUCTIONS
Must run the following command on host to create the builder:
'docker buildx create --name builder --use --bootstrap'
"""
tags = ["release", "core"]
[build.config]
builder = "local"
version = "1.18.3"
auto_increment_version = false
repo = "moghtech/komodo"
dockerfile_path = "bin/core/multi-arch.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
image_registry.organization = "moghtech"
extra_args = [
"--platform linux/amd64,linux/arm64",
"--builder builder"
]
##
[[build]]
name = "komodo-frontend"
tags = ["release", "frontend"]
[build.config]
builder = "x86_64-builder"
version = "1.18.3"
auto_increment_version = false
repo = "moghtech/komodo"
dockerfile_path = "frontend/Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
image_registry.organization = "moghtech"
##
[[build]]
name = "komodo-periphery"
description = """
OPEN FOR INSTRUCTIONS
Must run the following command to create the builder:
'docker buildx create --name builder --use --bootstrap'
"""
tags = ["release", "periphery"]
[build.config]
builder = "local"
version = "1.18.3"
auto_increment_version = false
repo = "moghtech/komodo"
dockerfile_path = "bin/periphery/multi-arch.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
image_registry.organization = "moghtech"
extra_args = [
"--platform linux/amd64,linux/arm64",
"--builder builder"
]
##
[[build]]
name = "komodo-util"
tags = ["release", "util"]
[build.config]
builder = "local"
version = "1.18.3"
auto_increment_version = false
links = [
"https://github.com/moghtech/komodo/pkgs/container/komodo-util"
]
repo = "moghtech/komodo"
dockerfile_path = "bin/util/multi-arch.Dockerfile"
image_registry.domain = "ghcr.io"
image_registry.account = "mbecker20"
image_registry.organization = "moghtech"
extra_args = [
"--platform linux/amd64,linux/arm64",
"--builder builder"
]
##
[[repo]]
name = "upload-binaries"
tags = ["release", "binaries"]
[repo.config]
builder = "local"
git_provider = "git.komo.do"
repo = "moghtech/build"
on_clone.command = """
bash ./upload-binaries.sh \
[[KOMODO_RELEASE_TAG]] \
ghcr.io/moghtech/komodo-binaries:latest \
[[KOMODO_RELEASE_VERSION]] \
[[KOMODO_GIT_TOKEN]]
"""
##
[[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 },
{ execution.type = "RunBuild", execution.params.build = "komodo-util", enabled = true },
{ execution.type = "BuildRepo", execution.params.repo = "upload-binaries", enabled = true }
]
##
[[action]]
name = "publish-release"
tags = ["release"]
[action.config]
file_contents = """
const BRANCH = "main";
const VERSION = "1.18.3";
const TAG = "release-1";
await komodo.write("UpdateVariableValue", {
name: "KOMODO_RELEASE_VERSION",
value: VERSION,
});
console.log("Updated KOMODO_RELEASE_VERSION to", VERSION);
await komodo.write("UpdateVariableValue", {
name: "KOMODO_RELEASE_TAG",
value: TAG,
});
console.log("Updated KOMODO_RELEASE_TAG to", TAG);
const builds = await komodo.read("ListBuilds", { query: { tags: ["release"] } });
for (const build of builds) {
await komodo.write("UpdateBuild", {
id: build.id,
config: { version: VERSION as any, branch: BRANCH },
});
console.log("Updated", build.name);
}
await komodo.write("CommitSync", { sync: "release" });
console.log("Committed changes to 'release' Sync");
await komodo.execute("RunProcedure", { procedure: "build-release" });
console.log("Launched 'build-release' Procedure");
"""
##
[[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"]