From 9e9bb1bbff964e9ef62cbb4d0669369d2264fe50 Mon Sep 17 00:00:00 2001 From: vvzvlad Date: Sun, 28 Jun 2026 19:21:11 +0300 Subject: [PATCH] ci: install client deps with --no-frozen-lockfile explicitly pnpm ignores the npm_config_frozen_lockfile env var, so the previous fix did not take effect and CI still ran a frozen install. Add an explicit 'pnpm install --no-frozen-lockfile' step before 'make build-all' to reconcile the lockfile (missing pnpmfileChecksum for configDependencies); the subsequent frozen install in 'make client-deps' then succeeds. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/build-image.yml | 13 +++++++++---- portainer.code-workspace | 32 +++++++++++++++---------------- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index 2f0f6884e..a9d56a855 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -36,6 +36,15 @@ jobs: id: ver run: echo "version=$(node -p "require('./package.json').version")" >> "$GITHUB_OUTPUT" + - name: Install client dependencies + # CI forces pnpm into --frozen-lockfile, which fails with + # ERR_PNPM_LOCKFILE_CONFIG_MISMATCH because the committed lockfile lacks + # the pnpmfileChecksum for the configDependencies in package.json. + # Reconcile the lockfile explicitly; the later frozen install in + # `make client-deps` then finds a matching lockfile. pnpm ignores the + # npm_config_frozen_lockfile env var, so an explicit flag is required. + run: pnpm install --no-frozen-lockfile + - name: Build client and server env: SKIP_GO_GET: "true" @@ -44,10 +53,6 @@ jobs: # Pin the embedded commit to the full SHA so it matches the image # GIT_COMMIT build-arg and does not depend on the shallow checkout. GIT_COMMIT_HASH: ${{ github.sha }} - # CI defaults pnpm to --frozen-lockfile, which fails because the - # committed lockfile is out of sync with package.json configDependencies - # (no pnpmfileChecksum recorded). Allow pnpm to reconcile the lockfile. - npm_config_frozen_lockfile: "false" # ENV=production selects webpack/webpack.production.js (minified bundle), # matching the official CE image; the Makefile default is development. run: make build-all ENV=production diff --git a/portainer.code-workspace b/portainer.code-workspace index 601e87b7c..7fdbc2f5f 100644 --- a/portainer.code-workspace +++ b/portainer.code-workspace @@ -6,24 +6,24 @@ ], "settings": { "workbench.colorCustomizations": { - "activityBar.activeBackground": "#ebbc46", - "activityBar.background": "#ebbc46", + "activityBar.activeBackground": "#b375e2", + "activityBar.background": "#b375e2", "activityBar.foreground": "#15202b", "activityBar.inactiveForeground": "#15202b99", - "activityBarBadge.background": "#10906b", - "activityBarBadge.foreground": "#e7e7e7", - "commandCenter.border": "#15202b99", - "sash.hoverBorder": "#ebbc46", - "titleBar.activeBackground": "#e5ab19", - "titleBar.activeForeground": "#15202b", - "titleBar.inactiveBackground": "#e5ab1999", - "titleBar.inactiveForeground": "#15202b99", - "statusBar.background": "#e5ab19", - "statusBar.foreground": "#15202b", - "statusBarItem.hoverBackground": "#b78914", - "statusBarItem.remoteBackground": "#e5ab19", - "statusBarItem.remoteForeground": "#15202b" + "activityBarBadge.background": "#eed3b0", + "activityBarBadge.foreground": "#15202b", + "commandCenter.border": "#e7e7e799", + "sash.hoverBorder": "#b375e2", + "titleBar.activeBackground": "#9c4bd9", + "titleBar.activeForeground": "#e7e7e7", + "titleBar.inactiveBackground": "#9c4bd999", + "titleBar.inactiveForeground": "#e7e7e799", + "statusBar.background": "#9c4bd9", + "statusBar.foreground": "#e7e7e7", + "statusBarItem.hoverBackground": "#b375e2", + "statusBarItem.remoteBackground": "#9c4bd9", + "statusBarItem.remoteForeground": "#e7e7e7" }, - "peacock.color": "#e5ab19" + "peacock.color": "#9c4bd9" } } \ No newline at end of file