diff --git a/apps/server/Dockerfile b/apps/server/Dockerfile index b5849f373..5190b9620 100644 --- a/apps/server/Dockerfile +++ b/apps/server/Dockerfile @@ -3,12 +3,13 @@ # See https://github.com/lenra-io/dofigen # install -FROM oven/bun@sha256:66ba69deede44e3af5dc542def218fdb3bcad2205900ea761dc5623bf973d2df AS install +FROM oven/bun@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 AS install LABEL \ - org.opencontainers.image.base.digest="sha256:66ba69deede44e3af5dc542def218fdb3bcad2205900ea761dc5623bf973d2df" \ - org.opencontainers.image.base.name="docker.io/oven/bun:1.2.22" + org.opencontainers.image.base.digest="sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025" \ + org.opencontainers.image.base.name="docker.io/oven/bun:latest" WORKDIR /app/ RUN \ + --mount=type=bind,target=bunfig.toml,source=bunfig.toml \ --mount=type=bind,target=package.json,source=package.json \ --mount=type=bind,target=apps/server/package.json,source=apps/server/package.json \ --mount=type=bind,target=packages/analytics/package.json,source=packages/analytics/package.json \ @@ -27,10 +28,10 @@ RUN \ bun install --production --ignore-scripts --frozen-lockfile --verbose # build -FROM oven/bun@sha256:66ba69deede44e3af5dc542def218fdb3bcad2205900ea761dc5623bf973d2df AS build +FROM oven/bun@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 AS build LABEL \ - org.opencontainers.image.base.digest="sha256:66ba69deede44e3af5dc542def218fdb3bcad2205900ea761dc5623bf973d2df" \ - org.opencontainers.image.base.name="docker.io/oven/bun:1.2.22" + org.opencontainers.image.base.digest="sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025" \ + org.opencontainers.image.base.name="docker.io/oven/bun:latest" ENV NODE_ENV="production" WORKDIR /app/apps/server COPY \ diff --git a/apps/server/dofigen.lock b/apps/server/dofigen.lock index 7541bed76..6240c92b8 100644 --- a/apps/server/dofigen.lock +++ b/apps/server/dofigen.lock @@ -13,10 +13,10 @@ effective: | build: fromImage: path: oven/bun - digest: sha256:66ba69deede44e3af5dc542def218fdb3bcad2205900ea761dc5623bf973d2df + digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 label: - org.opencontainers.image.base.digest: sha256:66ba69deede44e3af5dc542def218fdb3bcad2205900ea761dc5623bf973d2df - org.opencontainers.image.base.name: docker.io/oven/bun:1.2.22 + org.opencontainers.image.base.name: docker.io/oven/bun:latest + org.opencontainers.image.base.digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 workdir: /app/apps/server env: NODE_ENV: production @@ -33,16 +33,18 @@ effective: | install: fromImage: path: oven/bun - digest: sha256:66ba69deede44e3af5dc542def218fdb3bcad2205900ea761dc5623bf973d2df + digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 label: - org.opencontainers.image.base.name: docker.io/oven/bun:1.2.22 - org.opencontainers.image.base.digest: sha256:66ba69deede44e3af5dc542def218fdb3bcad2205900ea761dc5623bf973d2df + org.opencontainers.image.base.name: docker.io/oven/bun:latest + org.opencontainers.image.base.digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 workdir: /app/ run: - bun install --production --ignore-scripts --frozen-lockfile --verbose cache: - target: /root/.bun/install/cache bind: + - target: bunfig.toml + source: bunfig.toml - target: package.json source: package.json - target: apps/server/package.json @@ -76,8 +78,8 @@ effective: | digest: sha256:f807f4b16002c623115b0247dca6a55711c6b1ae821dc64fb8a2339e4ce2115d label: io.dofigen.version: 2.5.0 - org.opencontainers.image.base.digest: sha256:f807f4b16002c623115b0247dca6a55711c6b1ae821dc64fb8a2339e4ce2115d org.opencontainers.image.base.name: docker.io/debian:bullseye-slim + org.opencontainers.image.base.digest: sha256:f807f4b16002c623115b0247dca6a55711c6b1ae821dc64fb8a2339e4ce2115d copy: - fromBuilder: build paths: @@ -96,11 +98,11 @@ images: digest: sha256:f807f4b16002c623115b0247dca6a55711c6b1ae821dc64fb8a2339e4ce2115d oven: bun: - 1.2.22: - digest: sha256:66ba69deede44e3af5dc542def218fdb3bcad2205900ea761dc5623bf973d2df + latest: + digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 resources: dofigen.yml: - hash: c33b0ae4d7cb8b20272296f794520ca20d7a2ad447e571a7dfb56c54100fbcf6 + hash: 80f5ad94c76e0469d736252fb05adbb099557c1aefb96587f5688a351022de4c content: | ignore: - node_modules @@ -114,10 +116,11 @@ resources: - /packages/integrations/vercel builders: install: - fromImage: oven/bun:1.2.22 + fromImage: oven/bun workdir: /app/ # Copy project bind: + - bunfig.toml - package.json - apps/server/package.json - packages/analytics/package.json @@ -138,7 +141,7 @@ resources: cache: - /root/.bun/install/cache build: - fromImage: oven/bun:1.2.22 + fromImage: oven/bun workdir: /app/apps/server copy: - . /app/ diff --git a/apps/server/dofigen.yml b/apps/server/dofigen.yml index 1b7e44842..5e30b399d 100644 --- a/apps/server/dofigen.yml +++ b/apps/server/dofigen.yml @@ -10,10 +10,11 @@ ignore: - /packages/integrations/vercel builders: install: - fromImage: oven/bun:1.2.22 + fromImage: oven/bun workdir: /app/ # Copy project bind: + - bunfig.toml - package.json - apps/server/package.json - packages/analytics/package.json @@ -34,7 +35,7 @@ builders: cache: - /root/.bun/install/cache build: - fromImage: oven/bun:1.2.22 + fromImage: oven/bun workdir: /app/apps/server copy: - . /app/ diff --git a/apps/workflows/Dockerfile b/apps/workflows/Dockerfile index 4dbd031a2..f138d5c1f 100644 --- a/apps/workflows/Dockerfile +++ b/apps/workflows/Dockerfile @@ -3,12 +3,13 @@ # See https://github.com/lenra-io/dofigen # install -FROM oven/bun@sha256:6ebf306367da43ad75c4d5119563e24de9b66372929ad4fa31546be053a16f74 AS install +FROM oven/bun@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 AS install LABEL \ - org.opencontainers.image.base.digest="sha256:6ebf306367da43ad75c4d5119563e24de9b66372929ad4fa31546be053a16f74" \ - org.opencontainers.image.base.name="docker.io/oven/bun:1.2.23" + org.opencontainers.image.base.digest="sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025" \ + org.opencontainers.image.base.name="docker.io/oven/bun:latest" WORKDIR /app/ RUN \ + --mount=type=bind,target=bunfig.toml,source=bunfig.toml \ --mount=type=bind,target=package.json,source=package.json \ --mount=type=bind,target=apps/workflows/package.json,source=apps/workflows/package.json \ --mount=type=bind,target=packages/assertions/package.json,source=packages/assertions/package.json \ diff --git a/apps/workflows/dofigen.lock b/apps/workflows/dofigen.lock index b9a93aa14..cdffdc90d 100644 --- a/apps/workflows/dofigen.lock +++ b/apps/workflows/dofigen.lock @@ -12,39 +12,21 @@ effective: | - /packages/error - /packages/tracker builders: - build: + install: fromImage: path: oven/bun digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 label: org.opencontainers.image.base.name: docker.io/oven/bun:latest org.opencontainers.image.base.digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 - workdir: /app/apps/workflows - env: - NODE_ENV: production - copy: - - paths: - - . - target: /app/ - - fromBuilder: install - paths: - - /app/node_modules - target: /app/node_modules - run: - - bun build --compile --sourcemap --format=cjs src/index.ts --outfile=app - install: - fromImage: - path: oven/bun - digest: sha256:6ebf306367da43ad75c4d5119563e24de9b66372929ad4fa31546be053a16f74 - label: - org.opencontainers.image.base.name: docker.io/oven/bun:1.2.23 - org.opencontainers.image.base.digest: sha256:6ebf306367da43ad75c4d5119563e24de9b66372929ad4fa31546be053a16f74 workdir: /app/ run: - bun install --production --ignore-scripts --frozen-lockfile --verbose cache: - target: /root/.bun/install/cache bind: + - target: bunfig.toml + source: bunfig.toml - target: package.json source: package.json - target: apps/workflows/package.json @@ -81,13 +63,33 @@ effective: | source: packages/tinybird/package.json - target: packages/upstash/package.json source: packages/upstash/package.json + build: + fromImage: + path: oven/bun + digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 + label: + org.opencontainers.image.base.name: docker.io/oven/bun:latest + org.opencontainers.image.base.digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 + workdir: /app/apps/workflows + env: + NODE_ENV: production + copy: + - paths: + - . + target: /app/ + - fromBuilder: install + paths: + - /app/node_modules + target: /app/node_modules + run: + - bun build --compile --sourcemap --format=cjs src/index.ts --outfile=app fromImage: path: debian digest: sha256:f807f4b16002c623115b0247dca6a55711c6b1ae821dc64fb8a2339e4ce2115d label: - io.dofigen.version: 2.5.0 org.opencontainers.image.base.name: docker.io/debian:bullseye-slim org.opencontainers.image.base.digest: sha256:f807f4b16002c623115b0247dca6a55711c6b1ae821dc64fb8a2339e4ce2115d + io.dofigen.version: 2.5.0 copy: - fromBuilder: build paths: @@ -108,11 +110,9 @@ images: bun: latest: digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 - 1.2.23: - digest: sha256:6ebf306367da43ad75c4d5119563e24de9b66372929ad4fa31546be053a16f74 resources: dofigen.yml: - hash: 54e4e0066d6a49d4775fe6dd4f4d95c5649c0b86a9cc8df3950712b51c3acaaa + hash: 9be6075fa415f4f265964fb4db272498168c362211b09cdca638a0bd3ee00746 content: | ignore: - node_modules @@ -128,10 +128,11 @@ resources: - /packages/tracker builders: install: - fromImage: oven/bun:1.2.23 + fromImage: oven/bun workdir: /app/ # Copy project bind: + - bunfig.toml - package.json - apps/workflows/package.json - packages/assertions/package.json diff --git a/apps/workflows/dofigen.yml b/apps/workflows/dofigen.yml index 23270444d..6933acbb9 100644 --- a/apps/workflows/dofigen.yml +++ b/apps/workflows/dofigen.yml @@ -12,10 +12,11 @@ ignore: - /packages/tracker builders: install: - fromImage: oven/bun:1.2.23 + fromImage: oven/bun workdir: /app/ # Copy project bind: + - bunfig.toml - package.json - apps/workflows/package.json - packages/assertions/package.json diff --git a/bunfig.toml b/bunfig.toml new file mode 100644 index 000000000..57f75baf9 --- /dev/null +++ b/bunfig.toml @@ -0,0 +1,2 @@ +[install] +linker = "hoisted"