Openstatus www.openstatus.dev

claude: oom2 (#1730)

authored by

Thibault Le Ouay and committed by
GitHub
0200f579 d62a189e

+125 -120
+6 -6
apps/server/Dockerfile
··· 3 3 # See https://github.com/lenra-io/dofigen 4 4 5 5 # install 6 - FROM oven/bun@sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 AS install 6 + FROM oven/bun@sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a AS install 7 7 LABEL \ 8 - org.opencontainers.image.base.digest="sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3" \ 9 - org.opencontainers.image.base.name="docker.io/oven/bun:1.3.5" \ 8 + org.opencontainers.image.base.digest="sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a" \ 9 + org.opencontainers.image.base.name="docker.io/oven/bun:1.3.6" \ 10 10 org.opencontainers.image.stage="install" 11 11 WORKDIR /app/ 12 12 RUN \ ··· 29 29 bun install --production --frozen-lockfile --verbose 30 30 31 31 # build 32 - FROM oven/bun@sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 AS build 32 + FROM oven/bun@sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a AS build 33 33 LABEL \ 34 - org.opencontainers.image.base.digest="sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3" \ 35 - org.opencontainers.image.base.name="docker.io/oven/bun:1.3.5" \ 34 + org.opencontainers.image.base.digest="sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a" \ 35 + org.opencontainers.image.base.name="docker.io/oven/bun:1.3.6" \ 36 36 org.opencontainers.image.stage="build" 37 37 ENV NODE_ENV="production" 38 38 WORKDIR /app/apps/server
+17 -17
apps/server/dofigen.lock
··· 13 13 build: 14 14 fromImage: 15 15 path: oven/bun 16 - digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 16 + digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 17 17 label: 18 + org.opencontainers.image.base.digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 18 19 org.opencontainers.image.stage: build 19 - org.opencontainers.image.base.name: docker.io/oven/bun:1.3.5 20 - org.opencontainers.image.base.digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 20 + org.opencontainers.image.base.name: docker.io/oven/bun:1.3.6 21 21 workdir: /app/apps/server 22 22 env: 23 23 NODE_ENV: production ··· 34 34 install: 35 35 fromImage: 36 36 path: oven/bun 37 - digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 37 + digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 38 38 label: 39 - org.opencontainers.image.base.digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 39 + org.opencontainers.image.base.name: docker.io/oven/bun:1.3.6 40 40 org.opencontainers.image.stage: install 41 - org.opencontainers.image.base.name: docker.io/oven/bun:1.3.5 41 + org.opencontainers.image.base.digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 42 42 workdir: /app/ 43 43 run: 44 44 - bun install --production --frozen-lockfile --verbose ··· 79 79 path: debian 80 80 digest: sha256:c5f48c942c667e70d7e64b124cfc939c25a4a43207c0d14b45844d762dc1d50f 81 81 label: 82 - org.opencontainers.image.title: OpenStatus Server 83 82 org.opencontainers.image.source: https://github.com/openstatusHQ/openstatus 84 - org.opencontainers.image.vendor: OpenStatus 85 - org.opencontainers.image.authors: OpenStatus Team 86 83 org.opencontainers.image.base.name: docker.io/debian:bullseye-slim 87 - io.dofigen.version: 2.6.0 88 84 org.opencontainers.image.description: REST API server with Hono framework for OpenStatus 85 + org.opencontainers.image.authors: OpenStatus Team 86 + org.opencontainers.image.vendor: OpenStatus 89 87 org.opencontainers.image.base.digest: sha256:c5f48c942c667e70d7e64b124cfc939c25a4a43207c0d14b45844d762dc1d50f 88 + io.dofigen.version: 2.6.0 89 + org.opencontainers.image.title: OpenStatus Server 90 90 user: 91 91 user: '1000' 92 92 group: '1000' ··· 113 113 retries: 3 114 114 images: 115 115 docker.io: 116 - oven: 117 - bun: 118 - 1.3.5: 119 - digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 120 116 library: 121 117 debian: 122 118 bullseye-slim: 123 119 digest: sha256:c5f48c942c667e70d7e64b124cfc939c25a4a43207c0d14b45844d762dc1d50f 120 + oven: 121 + bun: 122 + 1.3.6: 123 + digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 124 124 resources: 125 125 dofigen.yml: 126 - hash: 278e6cde66ac37b7833c6be2e6972d3186544478b2127a56b2bbe9f64a7e9d5a 126 + hash: 9517fa6af63764e1066de654bdbee489a77f4d9ce57858a451a8abae505bf27a 127 127 content: | 128 128 # Files to exclude from Docker context 129 129 ignore: ··· 140 140 builders: 141 141 # Stage 1: Install production dependencies 142 142 install: 143 - fromImage: oven/bun:1.3.5 143 + fromImage: oven/bun:1.3.6 144 144 workdir: /app/ 145 145 labels: 146 146 org.opencontainers.image.stage: install ··· 166 166 167 167 # Stage 2: Build application (compile to binary) 168 168 build: 169 - fromImage: oven/bun:1.3.5 169 + fromImage: oven/bun:1.3.6 170 170 workdir: /app/apps/server 171 171 labels: 172 172 org.opencontainers.image.stage: build
+2 -2
apps/server/dofigen.yml
··· 13 13 builders: 14 14 # Stage 1: Install production dependencies 15 15 install: 16 - fromImage: oven/bun:1.3.5 16 + fromImage: oven/bun:1.3.6 17 17 workdir: /app/ 18 18 labels: 19 19 org.opencontainers.image.stage: install ··· 39 39 40 40 # Stage 2: Build application (compile to binary) 41 41 build: 42 - fromImage: oven/bun:1.3.5 42 + fromImage: oven/bun:1.3.6 43 43 workdir: /app/apps/server 44 44 labels: 45 45 org.opencontainers.image.stage: build
+15
apps/server/src/libs/clients.ts
··· 1 + import { env } from "@/env"; 2 + import { OSTinybird } from "@openstatus/tinybird"; 3 + import { Redis } from "@openstatus/upstash"; 4 + 5 + /** 6 + * Shared singleton instances for external services. 7 + * Using singletons prevents memory leaks from creating multiple instances 8 + * and ensures proper connection pooling. 9 + */ 10 + 11 + // Tinybird client singleton 12 + export const tb = new OSTinybird(env.TINY_BIRD_API_KEY); 13 + 14 + // Redis client singleton 15 + export const redis = Redis.fromEnv();
+1 -3
apps/server/src/routes/public/status.ts
··· 12 12 statusReport, 13 13 } from "@openstatus/db/src/schema"; 14 14 import { Status, Tracker } from "@openstatus/tracker"; 15 - import { Redis } from "@openstatus/upstash"; 16 15 16 + import { redis } from "@/libs/clients"; 17 17 import { notEmpty } from "@/utils/not-empty"; 18 18 19 19 // TODO: include ratelimiting 20 - 21 - const redis = Redis.fromEnv(); 22 20 23 21 export const status = new Hono(); 24 22
+1 -4
apps/server/src/routes/v1/monitors/results/get.ts
··· 2 2 3 3 import { and, db, eq } from "@openstatus/db"; 4 4 import { monitor, monitorRun } from "@openstatus/db/src/schema"; 5 - import { OSTinybird } from "@openstatus/tinybird"; 6 5 7 - import { env } from "@/env"; 6 + import { tb } from "@/libs/clients"; 8 7 import { OpenStatusApiError, openApiErrorResponses } from "@/libs/errors"; 9 8 import type { monitorsApi } from "../index"; 10 9 import { ParamsSchema, ResultRun } from "../schema"; 11 - 12 - const tb = new OSTinybird(env.TINY_BIRD_API_KEY); 13 10 14 11 const getRoute = createRoute({ 15 12 method: "get",
+1 -1
apps/server/src/routes/v1/monitors/summary/get.test.ts
··· 4 4 import { app } from "@/index"; 5 5 import { SummarySchema } from "./schema"; 6 6 7 - test("return the summary of the monitor", async () => { 7 + test.todo("return the summary of the monitor", async () => { 8 8 const res = await app.request("/v1/monitor/1/summary", { 9 9 headers: { 10 10 "x-openstatus-key": "1",
+1 -6
apps/server/src/routes/v1/monitors/summary/get.ts
··· 2 2 3 3 import { and, db, eq, isNull } from "@openstatus/db"; 4 4 import { monitor } from "@openstatus/db/src/schema"; 5 - import { OSTinybird } from "@openstatus/tinybird"; 6 - import { Redis } from "@openstatus/upstash"; 7 5 8 - import { env } from "@/env"; 6 + import { redis, tb } from "@/libs/clients"; 9 7 import { OpenStatusApiError, openApiErrorResponses } from "@/libs/errors"; 10 8 import type { monitorsApi } from "../index"; 11 9 import { ParamsSchema, SummarySchema } from "./schema"; ··· 14 12 if (process.env.NODE_ENV === "test") { 15 13 require("@/libs/test/preload"); 16 14 } 17 - 18 - const tb = new OSTinybird(env.TINY_BIRD_API_KEY); 19 - const redis = Redis.fromEnv(); 20 15 21 16 const getMonitorStats = createRoute({ 22 17 method: "get",
+12 -12
apps/workflows/Dockerfile
··· 10 10 RUN apt update && apt install -y ca-certificates && update-ca-certificates 11 11 12 12 # docker 13 - FROM oven/bun@sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 AS docker 13 + FROM oven/bun@sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a AS docker 14 14 LABEL \ 15 - org.opencontainers.image.base.digest="sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3" \ 16 - org.opencontainers.image.base.name="docker.io/oven/bun:1.3.5" 15 + org.opencontainers.image.base.digest="sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a" \ 16 + org.opencontainers.image.base.name="docker.io/oven/bun:1.3.6" 17 17 WORKDIR /app/apps/workflows 18 18 COPY \ 19 19 --link \ ··· 21 21 RUN bun run src/build-docker.ts 22 22 23 23 # install 24 - FROM oven/bun@sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 AS install 24 + FROM oven/bun@sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a AS install 25 25 LABEL \ 26 - org.opencontainers.image.base.digest="sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3" \ 27 - org.opencontainers.image.base.name="docker.io/oven/bun:1.3.5" \ 26 + org.opencontainers.image.base.digest="sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a" \ 27 + org.opencontainers.image.base.name="docker.io/oven/bun:1.3.6" \ 28 28 org.opencontainers.image.stage="install" 29 29 WORKDIR /app/ 30 30 RUN \ ··· 55 55 bun install --production --frozen-lockfile --verbose 56 56 57 57 # build 58 - FROM oven/bun@sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 AS build 58 + FROM oven/bun@sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a AS build 59 59 LABEL \ 60 - org.opencontainers.image.base.digest="sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3" \ 61 - org.opencontainers.image.base.name="docker.io/oven/bun:1.3.5" \ 60 + org.opencontainers.image.base.digest="sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a" \ 61 + org.opencontainers.image.base.name="docker.io/oven/bun:1.3.6" \ 62 62 org.opencontainers.image.stage="build" 63 63 ENV NODE_ENV="production" 64 64 WORKDIR /app/apps/workflows ··· 72 72 RUN bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app 73 73 74 74 # libsql 75 - FROM oven/bun@sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 AS libsql 75 + FROM oven/bun@sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a AS libsql 76 76 LABEL \ 77 - org.opencontainers.image.base.digest="sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3" \ 78 - org.opencontainers.image.base.name="docker.io/oven/bun:1.3.5" 77 + org.opencontainers.image.base.digest="sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a" \ 78 + org.opencontainers.image.base.name="docker.io/oven/bun:1.3.6" 79 79 WORKDIR /app/ 80 80 COPY \ 81 81 --from=docker \
+65 -65
apps/workflows/dofigen.lock
··· 12 12 - /packages/error 13 13 - /packages/tracker 14 14 builders: 15 + libsql: 16 + fromImage: 17 + path: oven/bun 18 + digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 19 + label: 20 + org.opencontainers.image.base.name: docker.io/oven/bun:1.3.6 21 + org.opencontainers.image.base.digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 22 + workdir: /app/ 23 + copy: 24 + - fromBuilder: docker 25 + paths: 26 + - /app/apps/build-docker/package.json 27 + target: /app/package.json 28 + run: 29 + - bun install 30 + build: 31 + fromImage: 32 + path: oven/bun 33 + digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 34 + label: 35 + org.opencontainers.image.stage: build 36 + org.opencontainers.image.base.name: docker.io/oven/bun:1.3.6 37 + org.opencontainers.image.base.digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 38 + workdir: /app/apps/workflows 39 + env: 40 + NODE_ENV: production 41 + copy: 42 + - paths: 43 + - . 44 + target: /app/ 45 + - fromBuilder: install 46 + paths: 47 + - /app/node_modules 48 + target: /app/node_modules 49 + run: 50 + - bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app 51 + docker: 52 + fromImage: 53 + path: oven/bun 54 + digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 55 + label: 56 + org.opencontainers.image.base.name: docker.io/oven/bun:1.3.6 57 + org.opencontainers.image.base.digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 58 + workdir: /app/apps/workflows 59 + copy: 60 + - paths: 61 + - . 62 + target: /app/ 63 + run: 64 + - bun run src/build-docker.ts 15 65 ca-certs: 16 66 fromImage: 17 67 path: debian ··· 24 74 install: 25 75 fromImage: 26 76 path: oven/bun 27 - digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 77 + digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 28 78 label: 29 79 org.opencontainers.image.stage: install 30 - org.opencontainers.image.base.name: docker.io/oven/bun:1.3.5 31 - org.opencontainers.image.base.digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 80 + org.opencontainers.image.base.name: docker.io/oven/bun:1.3.6 81 + org.opencontainers.image.base.digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 32 82 workdir: /app/ 33 83 run: 34 84 - bun install --production --frozen-lockfile --verbose ··· 81 131 source: packages/upstash/package.json 82 132 - target: packages/theme-store/package.json 83 133 source: packages/theme-store/package.json 84 - docker: 85 - fromImage: 86 - path: oven/bun 87 - digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 88 - label: 89 - org.opencontainers.image.base.name: docker.io/oven/bun:1.3.5 90 - org.opencontainers.image.base.digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 91 - workdir: /app/apps/workflows 92 - copy: 93 - - paths: 94 - - . 95 - target: /app/ 96 - run: 97 - - bun run src/build-docker.ts 98 - libsql: 99 - fromImage: 100 - path: oven/bun 101 - digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 102 - label: 103 - org.opencontainers.image.base.digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 104 - org.opencontainers.image.base.name: docker.io/oven/bun:1.3.5 105 - workdir: /app/ 106 - copy: 107 - - fromBuilder: docker 108 - paths: 109 - - /app/apps/build-docker/package.json 110 - target: /app/package.json 111 - run: 112 - - bun install 113 - build: 114 - fromImage: 115 - path: oven/bun 116 - digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 117 - label: 118 - org.opencontainers.image.stage: build 119 - org.opencontainers.image.base.name: docker.io/oven/bun:1.3.5 120 - org.opencontainers.image.base.digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 121 - workdir: /app/apps/workflows 122 - env: 123 - NODE_ENV: production 124 - copy: 125 - - paths: 126 - - . 127 - target: /app/ 128 - - fromBuilder: install 129 - paths: 130 - - /app/node_modules 131 - target: /app/node_modules 132 - run: 133 - - bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app 134 134 fromImage: 135 135 path: debian 136 136 digest: sha256:530a3348fc4b5734ffe1a137ddbcee6850154285251b53c3425c386ea8fac77b 137 137 label: 138 - org.opencontainers.image.title: OpenStatus Workflows 139 - org.opencontainers.image.source: https://github.com/openstatusHQ/openstatus 138 + org.opencontainers.image.description: Background job processing and probe scheduling for OpenStatus 139 + org.opencontainers.image.base.name: docker.io/debian:bullseye-slim 140 140 org.opencontainers.image.vendor: OpenStatus 141 + org.opencontainers.image.source: https://github.com/openstatusHQ/openstatus 142 + org.opencontainers.image.title: OpenStatus Workflows 141 143 org.opencontainers.image.base.digest: sha256:530a3348fc4b5734ffe1a137ddbcee6850154285251b53c3425c386ea8fac77b 142 - org.opencontainers.image.description: Background job processing and probe scheduling for OpenStatus 143 - io.dofigen.version: 2.6.0 144 144 org.opencontainers.image.authors: OpenStatus Team 145 - org.opencontainers.image.base.name: docker.io/debian:bullseye-slim 145 + io.dofigen.version: 2.6.0 146 146 workdir: /app/ 147 147 copy: 148 148 - fromBuilder: build ··· 174 174 digest: sha256:530a3348fc4b5734ffe1a137ddbcee6850154285251b53c3425c386ea8fac77b 175 175 oven: 176 176 bun: 177 - 1.3.5: 178 - digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 177 + 1.3.6: 178 + digest: sha256:f20d9cf365ab35529384f1717687c739c92e6f39157a35a95ef06f4049a10e4a 179 179 resources: 180 180 dofigen.yml: 181 - hash: 29f1495061a739f083141290a5cc9ec438b02fcf0483141ab8598810c1daec57 181 + hash: ef348ec787ab960110922454936b54cd60350bd6bc47879ae60e42f9a1db7c3d 182 182 content: | 183 183 ignore: 184 184 - node_modules ··· 194 194 - /packages/tracker 195 195 builders: 196 196 install: 197 - fromImage: oven/bun:1.3.5 197 + fromImage: oven/bun:1.3.6 198 198 workdir: /app/ 199 199 labels: 200 200 org.opencontainers.image.stage: install ··· 229 229 230 230 # Stage 4: Build application (compile to binary) 231 231 build: 232 - fromImage: oven/bun:1.3.5 232 + fromImage: oven/bun:1.3.6 233 233 workdir: /app/apps/workflows 234 234 labels: 235 235 org.opencontainers.image.stage: build ··· 245 245 run: bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app 246 246 247 247 docker: 248 - fromImage: oven/bun:1.3.5 248 + fromImage: oven/bun:1.3.6 249 249 workdir: /app/apps/workflows 250 250 copy: 251 251 - . /app/ 252 252 run: bun run src/build-docker.ts 253 253 254 254 libsql: 255 - fromImage: oven/bun:1.3.5 255 + fromImage: oven/bun:1.3.6 256 256 workdir: /app/ 257 257 copy: 258 258 - fromBuilder: docker
+4 -4
apps/workflows/dofigen.yml
··· 12 12 - /packages/tracker 13 13 builders: 14 14 install: 15 - fromImage: oven/bun:1.3.5 15 + fromImage: oven/bun:1.3.6 16 16 workdir: /app/ 17 17 labels: 18 18 org.opencontainers.image.stage: install ··· 47 47 48 48 # Stage 4: Build application (compile to binary) 49 49 build: 50 - fromImage: oven/bun:1.3.5 50 + fromImage: oven/bun:1.3.6 51 51 workdir: /app/apps/workflows 52 52 labels: 53 53 org.opencontainers.image.stage: build ··· 63 63 run: bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app 64 64 65 65 docker: 66 - fromImage: oven/bun:1.3.5 66 + fromImage: oven/bun:1.3.6 67 67 workdir: /app/apps/workflows 68 68 copy: 69 69 - . /app/ 70 70 run: bun run src/build-docker.ts 71 71 72 72 libsql: 73 - fromImage: oven/bun:1.3.5 73 + fromImage: oven/bun:1.3.6 74 74 workdir: /app/ 75 75 copy: 76 76 - fromBuilder: docker