Linux: Fix build to use pnpm version from lock file

Co-authored-by: ayumi-signal <143036029+ayumi-signal@users.noreply.github.com>
This commit is contained in:
automated-signal
2026-09-10 08:26:14 -04:00
committed by GitHub
co-authored by ayumi-signal
parent 1fe43d231e
commit 9b875ea854
3 changed files with 18 additions and 6 deletions
@@ -100,6 +100,12 @@ jobs:
NODE_VERSION=$(cat .nvmrc)
echo "version=$NODE_VERSION" >> $GITHUB_OUTPUT
- name: Get pnpm version for docker build arg
id: pnpm_version
run: |
PNPM_VERSION=$(grep -A 2 '^\s*pnpm:' pnpm-lock.yaml | grep 'version:' | awk '{print $2}')
echo "pnpm_version=$PNPM_VERSION" >> $GITHUB_OUTPUT
- name: Set up docker Buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3
- name: Build docker image
@@ -115,6 +121,7 @@ jobs:
build-args: |
SOURCE_DATE_EPOCH=1
NODE_VERSION=${{ steps.node_version.outputs.version }}
PNPM_VERSION=${{ steps.pnpm_version.outputs.pnpm_version }}
cache-from: type=gha
cache-to: type=gha,mode=max
+2 -1
View File
@@ -10,6 +10,7 @@ ENV SOURCE_DATE_EPOCH=1
# Due to some issues with NVM reading .nvmrc, we define the version
# as an environment variable and use that instead.
ARG NODE_VERSION
ARG PNPM_VERSION
ENV SIGNAL_ENV=production
@@ -50,7 +51,7 @@ ENV PATH=$NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
ENV CI=true
# Install pnpm
RUN npm install -g pnpm@10.18.1
RUN npm install -g pnpm@${PNPM_VERSION}
RUN git config --global --add safe.directory /project
+9 -5
View File
@@ -18,7 +18,11 @@
# all build dependencies at specific versions.
# We set SOURCE_DATE_EPOCH to make system build timestamps deterministic.
if [ -z "${SKIP_DOCKER_BUILD}" ]; then
docker build -t signal-desktop --build-arg SOURCE_DATE_EPOCH=1 --build-arg NODE_VERSION=$(cat ../.nvmrc) .
docker build -t signal-desktop \
--build-arg SOURCE_DATE_EPOCH=1 \
--build-arg NODE_VERSION="$(cat ../.nvmrc)" \
--build-arg PNPM_VERSION="$(grep -A 2 '^\s*pnpm:' ../pnpm-lock.yaml | grep 'version:' | awk '{print $2}')" \
.
else
echo "Skipping docker build step because SKIP_DOCKER_BUILD was set"
fi
@@ -53,7 +57,7 @@ docker run --rm \
--user "$(id -u):$(id -g)" \
-e NPM_CONFIG_CACHE=/tmp/.npm-cache \
-e PNPM_HOME=/tmp/.pnpm-home \
-e SOURCE_DATE_EPOCH=$source_date_epoch \
-e BUILD_TARGETS=$BUILD_TARGETS \
-e BUILD_ARCH=$BUILD_ARCH \
signal-desktop $1
-e SOURCE_DATE_EPOCH="$source_date_epoch" \
-e BUILD_TARGETS="$BUILD_TARGETS" \
-e BUILD_ARCH="$BUILD_ARCH" \
signal-desktop "$1"