[[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"]