213 lines
5.2 KiB
TOML
213 lines
5.2 KiB
TOML
[[build]]
|
|
name = "komodo-binaries-aarch64"
|
|
tags = ["release", "binaries", "aarch64"]
|
|
[build.config]
|
|
builder = "aarch64-builder"
|
|
version = "1.18.0"
|
|
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.0"
|
|
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.0"
|
|
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.0"
|
|
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.0"
|
|
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.0"
|
|
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.0";
|
|
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"] |