summaryrefslogtreecommitdiff
path: root/worker/scripts/build_image
diff options
context:
space:
mode:
authorElizabeth Alexander Hunt <me@liz.coffee>2025-05-12 09:40:12 -0700
committerElizabeth <me@liz.coffee>2025-05-26 14:15:42 -0700
commitd51c9d74857aca3c2f172609297266968bc7f809 (patch)
tree64327f9cc4219729aa11af32d7d4c70cddfc2292 /worker/scripts/build_image
parent30729a0cf707d9022bae0a7baaba77379dc31fd5 (diff)
downloadci-d51c9d74857aca3c2f172609297266968bc7f809.tar.gz
ci-d51c9d74857aca3c2f172609297266968bc7f809.zip
The big refactor TM
Diffstat (limited to 'worker/scripts/build_image')
-rwxr-xr-xworker/scripts/build_image91
1 files changed, 0 insertions, 91 deletions
diff --git a/worker/scripts/build_image b/worker/scripts/build_image
deleted file mode 100755
index 07c07c9..0000000
--- a/worker/scripts/build_image
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/usr/bin/env -S deno run --allow-env --allow-net --allow-run
-
-import type { BuildDockerImageJobProps } from "@liz-ci/model";
-import {
- BitwardenSession,
- getRequiredEnv,
- getStdout,
- loggerWithPrefix,
- type LoginItem,
-} from "@liz-ci/utils";
-
-const args: BuildDockerImageJobProps = {
- registry: getRequiredEnv("registry"),
- namespace: getRequiredEnv("namespace"),
- repository: getRequiredEnv("repository"),
- imageTag: getRequiredEnv("imageTag"),
-
- context: getRequiredEnv("context"),
- dockerfile: getRequiredEnv("dockerfile"),
- buildTarget: getRequiredEnv("buildTarget"),
-};
-
-const logger = loggerWithPrefix(() =>
- `[${
- new Date().toISOString()
- }] [build_image.${args.repository}.${args.imageTag}]`
-);
-
-const run = async () => {
- logger.log("Starting Docker image build job");
-
- const bitwardenSession = new BitwardenSession();
- const { username: registryUsername, password: registryPassword } =
- (await bitwardenSession.getItem<LoginItem>(args.registry))?.login ?? {};
- if (!(registryUsername && registryPassword)) {
- throw new Error("where's the login info bruh");
- }
-
- logger.log(`Logging in to Docker registry: ${args.registry}`);
- await getStdout(
- [
- "docker",
- "login",
- "--username",
- registryUsername,
- "--password",
- registryPassword,
- args.registry,
- ],
- );
-
- const tag =
- `${args.registry}/${args.namespace}/${args.repository}:${args.imageTag}`;
- const buildCmd = [
- "docker",
- "build",
- "--target",
- args.buildTarget,
- "-t",
- tag,
- "-f",
- `${args.dockerfile}`,
- `${args.context}`,
- ];
-
- logger.log(`building`, tag, buildCmd);
- await getStdout(
- buildCmd,
- {
- clearEnv: true,
- env: {},
- },
- );
-
- const pushCmd = [
- "docker",
- "push",
- tag,
- ];
- logger.log(`pushing`, pushCmd);
- await getStdout(pushCmd);
-};
-
-if (import.meta.main) {
- try {
- await run();
- } catch (e) {
- logger.error("womp womp D:", e);
- throw e;
- }
-}