From a3a61710d3ce0d07e83e49d6b3dbc07497185944 Mon Sep 17 00:00:00 2001 From: maxDorninger <97409287+maxDorninger@users.noreply.github.com> Date: Mon, 30 Jun 2025 15:46:59 +0200 Subject: [PATCH] trying to optimize runtime of worklfow building the frontend containers --- .github/workflows/build-push-frontend.yml | 6 +++++- web/Dockerfile | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-push-frontend.yml b/.github/workflows/build-push-frontend.yml index 6473617..2c2e824 100644 --- a/.github/workflows/build-push-frontend.yml +++ b/.github/workflows/build-push-frontend.yml @@ -26,8 +26,10 @@ jobs: uses: actions/setup-node@v4 with: node-version: '20' + cache: 'npm' + cache-dependency-path: './web/package-lock.json' - name: Install dependencies - run: npm install + run: npm ci working-directory: ./web - name: Lint code run: npm run lint @@ -91,3 +93,5 @@ jobs: labels: ${{ steps.meta.outputs.labels }} build-args: | VERSION=${{ steps.version.outputs.version }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/web/Dockerfile b/web/Dockerfile index b056f28..e4967c7 100644 --- a/web/Dockerfile +++ b/web/Dockerfile @@ -4,16 +4,15 @@ FROM node:24-alpine AS deps WORKDIR /app COPY package*.json ./ -RUN npm ci --only=production +RUN npm ci --only=production && npm cache clean --force FROM node:24-alpine AS build WORKDIR /app ARG VERSION ARG BASE_URL -COPY --from=deps /app/node_modules ./node_modules COPY package*.json ./ -RUN npm ci +RUN npm ci && npm cache clean --force COPY . . RUN env PUBLIC_VERSION=${VERSION} BASE_URL=${BASE_URL} npm run build @@ -30,7 +29,8 @@ ENV PUBLIC_SSR_WEB=false COPY --from=build /app/build/ ./build/ COPY package*.json ./ COPY --chmod=755 mediamanager-frontend-startup.sh ./ -RUN npm ci --only=production + +COPY --from=deps /app/node_modules ./node_modules EXPOSE 3000 USER node