Fix Docker builds for pnpm v11 (#1532)

This commit is contained in:
Konsti Wohlwend
2026-06-02 14:41:18 -07:00
committed by GitHub
parent bd910737e1
commit 9fa3a19920
15 changed files with 1019 additions and 1112 deletions
+8 -22
View File
@@ -64,17 +64,14 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
# Node/pnpm are needed on both arches: arm64 also runs
# generate-env-development.mjs inside build-image.sh. amd64 additionally
# builds and runs the CLI for the verification steps below.
# Node is needed on both arches for generate-env-development.mjs.
# pnpm is needed for build-image.sh (runs pnpm install inside Docker
# context via the lockfile).
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
with:
version: 10.23.0
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 22
cache: pnpm
- name: Install system dependencies
run: |
@@ -145,17 +142,6 @@ jobs:
# image to verify it works end-to-end before publishing. arm64 runs
# under cross-arch TCG on an amd64 host, which can't reliably boot
# Next.js within any sane window — skipped.
- name: Build stack-cli (for emulator CLI)
if: matrix.arch == 'amd64'
run: |
# Turbo's task graph for stack-cli#build includes
# @hexclave/dashboard#build:rde-standalone, which transitively
# depends on @hexclave/next#build (via dashboard → stack).
# The pnpm filter must cover the dashboard dep tree too so that
# devDependencies like tailwindcss are installed for the build.
pnpm install --frozen-lockfile --filter '@hexclave/cli...' --filter '@hexclave/dashboard...'
pnpm exec turbo run build --filter='@hexclave/cli...'
- name: Start emulator and verify
if: matrix.arch == 'amd64'
env:
@@ -163,7 +149,9 @@ jobs:
EMULATOR_READY_TIMEOUT: 3200
EMULATOR_IMAGE_DIR: ${{ env.EMULATOR_IMAGE_DIR }}
EMULATOR_RUN_DIR: ${{ env.EMULATOR_RUN_DIR }}
run: node packages/stack-cli/dist/index.js emulator start
run: |
chmod +x docker/local-emulator/qemu/run-emulator.sh
docker/local-emulator/qemu/run-emulator.sh start
- name: Verify services are healthy
if: matrix.arch == 'amd64'
@@ -171,7 +159,7 @@ jobs:
EMULATOR_ARCH: ${{ matrix.arch }}
EMULATOR_IMAGE_DIR: ${{ env.EMULATOR_IMAGE_DIR }}
EMULATOR_RUN_DIR: ${{ env.EMULATOR_RUN_DIR }}
run: node packages/stack-cli/dist/index.js emulator status
run: docker/local-emulator/qemu/run-emulator.sh status
- name: Stop emulator
if: always() && matrix.arch == 'amd64'
@@ -179,7 +167,7 @@ jobs:
EMULATOR_ARCH: ${{ matrix.arch }}
EMULATOR_IMAGE_DIR: ${{ env.EMULATOR_IMAGE_DIR }}
EMULATOR_RUN_DIR: ${{ env.EMULATOR_RUN_DIR }}
run: node packages/stack-cli/dist/index.js emulator stop
run: docker/local-emulator/qemu/run-emulator.sh stop
- name: Package image
run: |
@@ -259,8 +247,6 @@ jobs:
fi
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
with:
version: 10.23.0
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with: