From 15369496ecc4f8bd2b170b9afc2c2c0558ae97ad Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sat, 13 Dec 2025 00:33:26 -0800 Subject: Init adelie --- .ci/ci.ts | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .ci/ci.ts (limited to '.ci/ci.ts') diff --git a/.ci/ci.ts b/.ci/ci.ts new file mode 100644 index 0000000..e04f11d --- /dev/null +++ b/.ci/ci.ts @@ -0,0 +1,67 @@ +#!/usr/bin/env node + +import { + AnsiblePlaybookJob, + BuildDockerImageJob, + DefaultGitHookPipelineBuilder, + NpmPublishJob, + FetchCodeJob, + CoolifyWebhookJob, + Job, +} from '@emprespresso/ci_model'; +import { join } from 'path'; + +const REGISTRY = 'img.liz.coffee'; +const NAMESPACE = 'emprespresso'; +const IMG = 'adelie'; +const REMOTE = 'https://code.liz.coffee'; + +const getPipeline = () => { + const gitHookPipeline = new DefaultGitHookPipelineBuilder(); + const branch = gitHookPipeline.getBranch(); + if (!branch) return gitHookPipeline.build(); + + const commonBuildArgs = { + context: gitHookPipeline.getSourceDestination(), + registry: REGISTRY, + namespace: NAMESPACE, + imageTag: branch, + }; + + const adeliePackageBuild: BuildDockerImageJob = { + type: 'build_docker_image.js', + arguments: { + ...commonBuildArgs, + repository: IMG, + buildTarget: IMG, + dockerfile: 'Dockerfile', + }, + }; + gitHookPipeline.addStage({ + parallelJobs: [adeliePackageBuild], + }); + + const isRelease = branch === 'release'; + if (!isRelease) { + return gitHookPipeline.build(); + } + + const release: CoolifyWebhookJob = { + type: 'coolify_webhook.js', + arguments: { + webhookUrl: 'https://plane.liz.coffee/api/v1/deploy?uuid=mkgcsgw800cwkog004sco44w&force=false', + }, + }; + gitHookPipeline.addStage({ parallelJobs: [ + release + ] }); + + return gitHookPipeline.build(); +}; + +const main = () => { + const data = getPipeline().serialize(); + process.stdout.write(data); +}; + +main(); -- cgit v1.2.3-70-g09d2