From 03b900d67321479a5433670a0584626d462323c8 Mon Sep 17 00:00:00 2001 From: Vigneshraj Sekar Babu Date: Fri, 23 Oct 2026 09:35:48 -0700 Subject: [PATCH 1/2] fix(docker): pin pnpm to the packageManager version in images --- Dockerfile | 3 +-- app.Dockerfile | 1 + base.Dockerfile | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index f877ab10..0cb6389c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,8 +45,6 @@ RUN curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/s COPY ./scripts/install_deps.sh ./scripts/install_deps.sh RUN ./scripts/install_deps.sh -RUN npm install pnpm --global - # We need the codefresh CLI for triggering pipelines RUN npm install codefresh@0.81.5 --global RUN npm install dotenv-cli --global @@ -55,6 +53,7 @@ FROM base AS packages WORKDIR /app COPY package.json pnpm-lock.yaml ./ +RUN npm install --global "$(node -p "require('./package.json').packageManager.split('+')[0]")" RUN pnpm install --frozen-lockfile FROM packages diff --git a/app.Dockerfile b/app.Dockerfile index 51d67f9b..925db57d 100644 --- a/app.Dockerfile +++ b/app.Dockerfile @@ -21,6 +21,7 @@ ENV PORT=$PORT WORKDIR /app COPY package.json pnpm-lock.yaml ./ +RUN npm install --global "$(node -p "require('./package.json').packageManager.split('+')[0]")" RUN pnpm install --frozen-lockfile FROM packages diff --git a/base.Dockerfile b/base.Dockerfile index e41d5e96..f3365a13 100644 --- a/base.Dockerfile +++ b/base.Dockerfile @@ -51,7 +51,9 @@ RUN if [ "$TARGETARCH" = "arm64" ]; then \ chmod +x ./kubectl && \ mv ./kubectl /usr/local/bin/kubectl -RUN npm install pnpm --global +# Keep in sync with packageManager in package.json +ARG PNPM_VERSION=9.15.0 +RUN npm install pnpm@${PNPM_VERSION} --global RUN npm install codefresh@0.81.5 --global From 935ddaf614f570e42f0fed17fa67edeb707c079f Mon Sep 17 00:00:00 2001 From: Vigneshraj Sekar Babu Date: Fri, 23 Oct 2026 14:07:22 -0700 Subject: [PATCH 2/2] fix(docker): use a static pnpm version pin --- Dockerfile | 5 ++++- app.Dockerfile | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0cb6389c..8440566f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,6 +45,10 @@ RUN curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/s COPY ./scripts/install_deps.sh ./scripts/install_deps.sh RUN ./scripts/install_deps.sh +# Keep in sync with packageManager in package.json +ARG PNPM_VERSION=9.15.0 +RUN npm install pnpm@${PNPM_VERSION} --global + # We need the codefresh CLI for triggering pipelines RUN npm install codefresh@0.81.5 --global RUN npm install dotenv-cli --global @@ -53,7 +57,6 @@ FROM base AS packages WORKDIR /app COPY package.json pnpm-lock.yaml ./ -RUN npm install --global "$(node -p "require('./package.json').packageManager.split('+')[0]")" RUN pnpm install --frozen-lockfile FROM packages diff --git a/app.Dockerfile b/app.Dockerfile index 925db57d..3515f7fd 100644 --- a/app.Dockerfile +++ b/app.Dockerfile @@ -16,12 +16,14 @@ ARG BASE_IMAGE_TAG=v2 FROM lifecycleoss/app-base:${BASE_IMAGE_TAG} AS packages ARG PORT +# Keep in sync with packageManager in package.json +ARG PNPM_VERSION=9.15.0 ENV PORT=$PORT WORKDIR /app COPY package.json pnpm-lock.yaml ./ -RUN npm install --global "$(node -p "require('./package.json').packageManager.split('+')[0]")" +RUN npm install pnpm@${PNPM_VERSION} --global RUN pnpm install --frozen-lockfile FROM packages