mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-09-29 08:25:24 +01:00
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:
co-authored by
ayumi-signal
parent
1fe43d231e
commit
9b875ea854
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user