[[build]] name = "komodo-binaries-aarch64" tags = ["release", "binaries", "aarch64"] [build.config] builder = "aarch64-builder" version = "1.18.4" 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.4" 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.4" 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.4" 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.4" 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.4" 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.4"; 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"]