Skip to content

Commit ebef767

Browse files
committed
Build the questionnaire test toolkit wherever the app is built or tested
Once the toolkit's entry points reference dist instead of src, the workspace symlink resolves to a package whose dist does not exist until it is built. Any path that runs npm ci and then touches the toolkit has to build it first. That is five places: the root build-all-deps-first-run script, build-smart-forms-app and playwright-test in build_test_lint.yml, deploy_app.yml, vitest_715.yml, and the Dockerfile - which already copied the toolkit but never built it. This matters for the app's production typecheck, not only for test jobs: apps/smart-forms-app's tsc includes src/test, so without the build it fails with 14 x TS2307. The Dockerfile also moves from node:18 to node:20 in the builder stage, matching the setup-node version every workflow here already uses.
1 parent 083a0df commit ebef767

5 files changed

Lines changed: 11 additions & 3 deletions

File tree

‎.github/workflows/build_test_lint.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ jobs:
2323
npm run build -w packages/sdc-populate
2424
npm run build -w packages/sdc-template-extract
2525
npm run build -w packages/smart-forms-renderer
26+
npm run build -w packages/questionnaire-test-toolkit
2627
2728
- name: Build application
2829
run: npm run build -w apps/smart-forms-app
@@ -245,6 +246,7 @@ jobs:
245246
npm run build -w packages/sdc-populate
246247
npm run build -w packages/sdc-template-extract
247248
npm run build -w packages/smart-forms-renderer
249+
npm run build -w packages/questionnaire-test-toolkit
248250
249251
- name: Install Playwright Browsers
250252
run: npx playwright install --with-deps

‎.github/workflows/deploy_app.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ jobs:
3939
npm run build -w packages/sdc-populate
4040
npm run build -w packages/sdc-template-extract
4141
npm run build -w packages/smart-forms-renderer
42+
npm run build -w packages/questionnaire-test-toolkit
4243
4344
- name: Build application
4445
run: npm run build -w apps/smart-forms-app

‎.github/workflows/vitest_715.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
npm run build -w packages/sdc-populate
2323
npm run build -w packages/sdc-template-extract
2424
npm run build -w packages/smart-forms-renderer
25+
npm run build -w packages/questionnaire-test-toolkit
2526
2627
- name: Run vitest tests
2728
run: npm run test-715 -w apps/smart-forms-app

‎apps/smart-forms-app/Dockerfile‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Dockerfile
22

33
# Step 1: Use a Node.js image to build the app
4-
FROM --platform=$BUILDPLATFORM node:18 AS builder
4+
FROM --platform=$BUILDPLATFORM node:20 AS builder
55

66
# Set working directory inside the container
77
WORKDIR /app
@@ -21,6 +21,7 @@ COPY packages/sdc-assemble/package*.json ./packages/sdc-assemble/
2121
COPY packages/sdc-populate/package*.json ./packages/sdc-populate/
2222
COPY packages/sdc-template-extract/package*.json ./packages/sdc-template-extract/
2323
COPY packages/smart-forms-renderer/package*.json ./packages/smart-forms-renderer/
24+
COPY packages/questionnaire-test-toolkit/package*.json ./packages/questionnaire-test-toolkit/
2425
COPY apps/smart-forms-app/package*.json ./apps/smart-forms-app/
2526

2627
# Install all workspace dependencies from the root
@@ -31,13 +32,15 @@ COPY packages/sdc-assemble/ ./packages/sdc-assemble/
3132
COPY packages/sdc-populate/ ./packages/sdc-populate/
3233
COPY packages/sdc-template-extract/ ./packages/sdc-template-extract/
3334
COPY packages/smart-forms-renderer/ ./packages/smart-forms-renderer/
35+
COPY packages/questionnaire-test-toolkit/ ./packages/questionnaire-test-toolkit/
3436
COPY apps/smart-forms-app/ ./apps/smart-forms-app/
3537

3638
# Build packages in dependency order (mirrors deploy_app.yml)
3739
RUN npm run build --workspace=packages/sdc-assemble
3840
RUN npm run build --workspace=packages/sdc-populate
3941
RUN npm run build --workspace=packages/sdc-template-extract
4042
RUN npm run build --workspace=packages/smart-forms-renderer
43+
RUN npm run build --workspace=packages/questionnaire-test-toolkit
4144

4245
# Build the app
4346
RUN npm run build --workspace=apps/smart-forms-app

‎package.json‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
"prettier": "prettier --check .",
88
"prettier-fix": "prettier --write .",
99
"clean-folders": "find . -type d \\( -name \"node_modules\" -o -name \"dist\" -o -name \"lib\" \\) -exec rm -rf {} +",
10-
"build-all-deps-first-run": "npm run build:sdc-assemble && npm run build:sdc-populate && npm run build:sdc-template-extract && npm run build:smart-forms-renderer",
10+
"build-all-deps-first-run": "npm run build:sdc-assemble && npm run build:sdc-populate && npm run build:sdc-template-extract && npm run build:smart-forms-renderer && npm run build:questionnaire-test-toolkit",
1111
"build:sdc-assemble": "cd packages/sdc-assemble && npm run build",
1212
"build:sdc-populate": "cd packages/sdc-populate && npm run build",
1313
"build:sdc-template-extract": "cd packages/sdc-template-extract && npm run build",
14-
"build:smart-forms-renderer": "cd packages/smart-forms-renderer && npm run build"
14+
"build:smart-forms-renderer": "cd packages/smart-forms-renderer && npm run build",
15+
"build:questionnaire-test-toolkit": "cd packages/questionnaire-test-toolkit && npm run build"
1516
},
1617
"workspaces": [
1718
"apps/smart-forms-app",

0 commit comments

Comments
 (0)