diff --git a/.github/workflows/ci-host.yaml b/.github/workflows/ci-host.yaml index 1346ea281fc..60bcecc3471 100644 --- a/.github/workflows/ci-host.yaml +++ b/.github/workflows/ci-host.yaml @@ -16,6 +16,7 @@ on: - ".github/workflows/ci-host.yaml" - "package.json" - "pnpm-lock.yaml" + - "pnpm-workspace.yaml" # CI boot path: see comment on the equivalent block in ci.yaml. - ".mise.toml" - ".github/actions/**" @@ -149,7 +150,7 @@ jobs: use_cache=true while IFS= read -r file; do case "$file" in - packages/realm-server/*|packages/runtime-common/*|packages/postgres/*|packages/boxel-ui/*|package.json|pnpm-lock.yaml) + packages/realm-server/*|packages/runtime-common/*|packages/postgres/*|packages/boxel-ui/*|package.json|pnpm-lock.yaml|pnpm-workspace.yaml) use_cache=false echo "Index-behavior change detected: $file" break diff --git a/.github/workflows/ci-software-factory.yaml b/.github/workflows/ci-software-factory.yaml index cf2a6bbab57..0d8b8a2f24c 100644 --- a/.github/workflows/ci-software-factory.yaml +++ b/.github/workflows/ci-software-factory.yaml @@ -20,6 +20,7 @@ on: - "packages/software-factory/**" - "package.json" - "pnpm-lock.yaml" + - "pnpm-workspace.yaml" # CI boot path: see comment on the equivalent block in ci.yaml. - ".mise.toml" - ".github/actions/**" diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ae6ff4b60d0..9cc60358a02 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -54,6 +54,7 @@ jobs: - 'packages/runtime-common/**' - 'package.json' - 'pnpm-lock.yaml' + - 'pnpm-workspace.yaml' # CI boot path. Each gated suite runs `./.github/actions/init` # (which calls `jdx/mise-action`, sourcing `.mise.toml` for tool # versions) and then `mise run test-services:*` (which sources diff --git a/.github/workflows/pr-boxel-ui.yml b/.github/workflows/pr-boxel-ui.yml index 35878b92eb1..464af24625b 100644 --- a/.github/workflows/pr-boxel-ui.yml +++ b/.github/workflows/pr-boxel-ui.yml @@ -8,6 +8,7 @@ on: - ".github/workflows/pr-boxel-ui.yml" - "package.json" - "pnpm-lock.yaml" + - "pnpm-workspace.yaml" permissions: contents: read diff --git a/.github/workflows/preview-host.yml b/.github/workflows/preview-host.yml index 591826f3dad..2ec9cc40d2d 100644 --- a/.github/workflows/preview-host.yml +++ b/.github/workflows/preview-host.yml @@ -10,6 +10,7 @@ on: - ".github/workflows/preview-host.yml" - "package.json" - "pnpm-lock.yaml" + - "pnpm-workspace.yaml" concurrency: group: preview-host-${{ github.head_ref || github.run_id }} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 96e487c5f35..f7953459284 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -257,6 +257,15 @@ catalog: yaml: ^2.5.1 yargs: ^17.5.1 +# pnpm 11 defaults this to `install`, making every `pnpm run` first check +# node_modules freshness and silently run a full install when the check +# fails. The check never passes in CI, so each of the ~9 services `run-p` +# boots kicks off its own concurrent workspace-wide install into the same +# node_modules; when they collide badly enough, start:matrix never reaches +# `docker run` and the shard dies with "Failed to reach Synapse". Disabling +# restores pnpm 10 behavior: scripts run against node_modules as-is. +verifyDepsBeforeRun: false + minimumReleaseAge: 1440 minimumReleaseAgeExclude: - "@glint/ember-tsc"