diff --git a/web/docker/run-turbo-build.sh b/web/docker/run-turbo-build.sh new file mode 100644 index 0000000000..249c00b60b --- /dev/null +++ b/web/docker/run-turbo-build.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +set -eu + +TARGET_FILTER="$1" + +if [ -s /run/secrets/turbo_team ] && [ -s /run/secrets/turbo_token ]; then + export TURBO_TEAM="$(cat /run/secrets/turbo_team)" + export TURBO_TOKEN="$(cat /run/secrets/turbo_token)" + echo "Turbo remote cache enabled for ${TARGET_FILTER}" +else + echo "Turbo remote cache not configured. Using local Turbo cache only." +fi + +pnpm turbo run build --filter="${TARGET_FILTER}" diff --git a/web/ee/docker/Dockerfile.gh b/web/ee/docker/Dockerfile.gh index 32a13d51f1..146d4587da 100644 --- a/web/ee/docker/Dockerfile.gh +++ b/web/ee/docker/Dockerfile.gh @@ -23,6 +23,10 @@ FROM base AS builder ENV NODE_OPTIONS="--max_old_space_size=4096" ENV TURBO_CACHE_DIR="/app/.turbo" +COPY docker/run-turbo-build.sh /usr/local/bin/run-turbo-build.sh + +RUN chmod +x /usr/local/bin/run-turbo-build.sh + # Copy package.json files first (changes less frequently than source) COPY ee/package.json ./ee/package.json COPY oss/package.json ./oss/package.json @@ -42,7 +46,9 @@ COPY ee/ ./ee/ RUN --mount=type=cache,id=turbo-ee,target=/app/.turbo \ --mount=type=cache,id=nextjs-ee,target=/app/ee/.next/cache \ --mount=type=cache,id=nextjs-oss,target=/app/oss/.next/cache \ - pnpm turbo run build --filter=@agenta/ee + --mount=type=secret,id=turbo_team,required=false \ + --mount=type=secret,id=turbo_token,required=false \ + /usr/local/bin/run-turbo-build.sh @agenta/ee FROM node:20.18.0-slim AS runner diff --git a/web/oss/docker/Dockerfile.gh b/web/oss/docker/Dockerfile.gh index 57b7de79aa..8d76f60304 100644 --- a/web/oss/docker/Dockerfile.gh +++ b/web/oss/docker/Dockerfile.gh @@ -23,6 +23,10 @@ FROM base AS builder ENV NODE_OPTIONS="--max_old_space_size=4096" ENV TURBO_CACHE_DIR="/app/.turbo" +COPY docker/run-turbo-build.sh /usr/local/bin/run-turbo-build.sh + +RUN chmod +x /usr/local/bin/run-turbo-build.sh + # Copy package.json files first (changes less frequently than source) COPY oss/package.json ./oss/package.json COPY --parents packages/*/package.json ./ @@ -39,7 +43,9 @@ COPY oss/ ./oss/ RUN --mount=type=cache,id=turbo-oss,target=/app/.turbo \ --mount=type=cache,id=nextjs-oss,target=/app/oss/.next/cache \ - pnpm turbo run build --filter=@agenta/oss + --mount=type=secret,id=turbo_team,required=false \ + --mount=type=secret,id=turbo_token,required=false \ + /usr/local/bin/run-turbo-build.sh @agenta/oss FROM node:20.18.0-slim AS runner