summaryrefslogtreecommitdiffhomepage
path: root/packages/containers/script/build.ts
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2026-01-29 23:13:07 -0500
committerDax Raad <[email protected]>2026-01-29 23:13:07 -0500
commit5ea1042ffba32b4e1b66e8944b5ec8c3899f5674 (patch)
tree1cb70cea0810db2ad6b2452b7d2ac08bb047c399 /packages/containers/script/build.ts
parent71d280d570ea77c9330942722b0e34383de831d9 (diff)
downloadopencode-5ea1042ffba32b4e1b66e8944b5ec8c3899f5674.tar.gz
opencode-5ea1042ffba32b4e1b66e8944b5ec8c3899f5674.zip
ci
Diffstat (limited to 'packages/containers/script/build.ts')
-rw-r--r--packages/containers/script/build.ts25
1 files changed, 18 insertions, 7 deletions
diff --git a/packages/containers/script/build.ts b/packages/containers/script/build.ts
index 8fd6a7d4d..0ace10731 100644
--- a/packages/containers/script/build.ts
+++ b/packages/containers/script/build.ts
@@ -2,25 +2,36 @@
import { $ } from "bun"
-const dir = new URL("..", import.meta.url).pathname
-process.chdir(dir)
+const rootDir = new URL("../../..", import.meta.url).pathname
+process.chdir(rootDir)
const reg = process.env.REGISTRY ?? "ghcr.io/anomalyco"
const tag = process.env.TAG ?? "24.04"
const push = process.argv.includes("--push") || process.env.PUSH === "1"
+const root = new URL("package.json", new URL(rootDir)).pathname
+const pkg = await Bun.file(root).json()
+const manager = pkg.packageManager ?? ""
+const bun = manager.startsWith("bun@") ? manager.slice(4) : ""
+if (!bun) throw new Error("packageManager must be bun@<version>")
+
const images = ["base", "bun-node", "rust", "tauri-linux", "publish"]
for (const name of images) {
const image = `${reg}/build/${name}:${tag}`
const file = `packages/containers/${name}/Dockerfile`
- const arg = name === "base" ? "" : `--build-arg REGISTRY=${reg}`
- console.log(`docker build -f ${file} -t ${image} ${arg} .`)
- if (arg) {
- await $`docker build -f ${file} -t ${image} --build-arg REGISTRY=${reg} .`
- } else {
+ if (name === "base") {
+ console.log(`docker build -f ${file} -t ${image} .`)
await $`docker build -f ${file} -t ${image} .`
}
+ if (name === "bun-node") {
+ console.log(`docker build -f ${file} -t ${image} --build-arg REGISTRY=${reg} --build-arg BUN_VERSION=${bun} .`)
+ await $`docker build -f ${file} -t ${image} --build-arg REGISTRY=${reg} --build-arg BUN_VERSION=${bun} .`
+ }
+ if (name !== "base" && name !== "bun-node") {
+ console.log(`docker build -f ${file} -t ${image} --build-arg REGISTRY=${reg} .`)
+ await $`docker build -f ${file} -t ${image} --build-arg REGISTRY=${reg} .`
+ }
if (push) {
await $`docker push ${image}`