From bacf28f26b2674bf0f292465005f0db6d4c68d9a Mon Sep 17 00:00:00 2001 From: CJ_Clippy Date: Thu, 18 Jul 2024 12:48:52 -0800 Subject: [PATCH] build worker first --- .gitea/workflows/builder.yaml | 20 ++++++++++---------- d.worker.dockerfile | 10 ++++++---- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/builder.yaml b/.gitea/workflows/builder.yaml index 2b0b05e..1cc2a88 100644 --- a/.gitea/workflows/builder.yaml +++ b/.gitea/workflows/builder.yaml @@ -14,6 +14,16 @@ jobs: name: Check out code + - uses: mr-smithers-excellent/docker-build-push@v6 + name: Build futureporn/worker + with: + image: futureporn/worker + tags: latest + registry: gitea.futureporn.net + dockerfile: d.worker.dockerfile + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - uses: mr-smithers-excellent/docker-build-push@v6 name: Build futureporn/scout with: @@ -44,13 +54,3 @@ jobs: dockerfile: d.strapi.dockerfile username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - - - uses: mr-smithers-excellent/docker-build-push@v6 - name: Build futureporn/worker - with: - image: futureporn/worker - tags: latest - registry: gitea.futureporn.net - dockerfile: d.worker.dockerfile - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} \ No newline at end of file diff --git a/d.worker.dockerfile b/d.worker.dockerfile index db48953..a368a42 100644 --- a/d.worker.dockerfile +++ b/d.worker.dockerfile @@ -19,13 +19,13 @@ ## this way, when we're building the various @futureporn library-type packages, we don't have to filter and COPY the dependency packages one-by-one. ## instead, we add the entire `packages/*` directory and then move on to the next step. -FROM node:20 as base +FROM node:20 AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" WORKDIR /app RUN corepack enable && corepack prepare pnpm@9.2.0 --activate -FROM base as build +FROM base AS build WORKDIR /app RUN mkdir -p /app/packages/temporal-worker && mkdir -p /prod/temporal-worker @@ -53,14 +53,16 @@ COPY ./packages/types/ ./packages/types/ COPY ./packages/utils/ ./packages/utils/ ## Transpile TS into JS -## we have to build temporal-workflows first because other packages depend on it's built js files +## we have to build @futureporn/image first because other packages depend on it's build js files +## next we have to build temporal-workflows because other packages depend on it's built js files +RUN pnpm --filter=@futureporn/image build RUN pnpm --filter=@futureporn/temporal-workflows build RUN pnpm --filter=!@futureporn/temporal-workflows -r build ## Deploy (copy all production code into one place) RUN pnpm deploy --filter=@futureporn/temporal-worker --prod /prod/temporal-worker -FROM base as worker +FROM base AS worker COPY --from=build /prod/temporal-worker . RUN ls -la . ENTRYPOINT ["pnpm", "start"]