From ae9e50a6b98efe2e44b87486acc289799f61e214 Mon Sep 17 00:00:00 2001 From: Chris Nesbitt-Smith Date: Tue, 21 Apr 2026 12:16:43 +0100 Subject: [PATCH] fix(ci): unblock deploy-blueprints synth jobs Three of the five scenario synth jobs were failing on the main-branch deploy-blueprints workflow, and had been since 2026-04-16. - synth-localgov-drupal: TypeScript 6.0 (via a dependabot bump of the typescript devDep) no longer auto-resolves @types/jest for global describe/test/expect without an explicit compilerOptions.types entry. Reproduced locally after a clean npm ci. Added types: ["jest", "node"] to localgov-drupal/cdk/tsconfig.json. Local `tsc --noEmit` now passes. - synth-localgov-ims + synth-minute: both jobs used setup-node with cache: 'npm' and a cache-dependency-path pointing at package-lock.json, but those lock files aren't tracked (root .gitignore ignores package-lock.json). setup-node failed at "Some specified paths were not resolved", skipping all downstream steps. `npm ci` in the next step would have failed for the same reason. Aligned both jobs with the synth-simply-readable pattern: no npm cache, and `npm install` instead of `npm ci`. Slightly slower cold runs; deterministic enough for CI synth+validate. --- .github/workflows/deploy-blueprints.yml | 8 ++------ .../scenarios/localgov-drupal/cdk/tsconfig.json | 3 ++- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deploy-blueprints.yml b/.github/workflows/deploy-blueprints.yml index 0d97cfe3..f250fa94 100644 --- a/.github/workflows/deploy-blueprints.yml +++ b/.github/workflows/deploy-blueprints.yml @@ -92,13 +92,11 @@ jobs: - uses: actions/setup-node@v6 with: node-version: '22' - cache: 'npm' - cache-dependency-path: cloudformation/scenarios/localgov-ims/cdk/package-lock.json - name: Build and synth localgov-ims CDK working-directory: cloudformation/scenarios/localgov-ims/cdk run: | - npm ci + npm install npm run build npx cdk synth @@ -246,13 +244,11 @@ jobs: - uses: actions/setup-node@v6 with: node-version: '22' - cache: 'npm' - cache-dependency-path: cloudformation/scenarios/minute/cdk/package-lock.json - name: Build minute CDK working-directory: cloudformation/scenarios/minute/cdk run: | - npm ci + npm install npx cdk synth - name: Strip bootstrap cruft and validate template diff --git a/cloudformation/scenarios/localgov-drupal/cdk/tsconfig.json b/cloudformation/scenarios/localgov-drupal/cdk/tsconfig.json index a2570dd1..b7c62fc7 100644 --- a/cloudformation/scenarios/localgov-drupal/cdk/tsconfig.json +++ b/cloudformation/scenarios/localgov-drupal/cdk/tsconfig.json @@ -18,7 +18,8 @@ "experimentalDecorators": true, "strictPropertyInitialization": false, "outDir": "./dist", - "rootDir": "./" + "rootDir": "./", + "types": ["jest", "node"] }, "exclude": [ "node_modules",