From a894846245707f12ab49dfa5fd14cab10c01971a Mon Sep 17 00:00:00 2001 From: Vatsal2005 <83007841+Vatsal2005@users.noreply.github.com> Date: Fri, 23 Oct 2026 22:41:18 +0200 Subject: [PATCH 1/4] ci: check the game with node 22 on pull requests Run clean installation, type checking, tests and the production build for game changes and the workflow itself. Keep the independent document and art workflows unchanged. --- .github/workflows/game.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/game.yml diff --git a/.github/workflows/game.yml b/.github/workflows/game.yml new file mode 100644 index 0000000..fb917b6 --- /dev/null +++ b/.github/workflows/game.yml @@ -0,0 +1,34 @@ +name: Game +on: + pull_request: + paths: + - game/** + - .github/workflows/game.yml + push: + branches: [main] + paths: + - game/** + - .github/workflows/game.yml +permissions: + contents: read +concurrency: + group: game-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true +jobs: + game: + runs-on: ubuntu-latest + timeout-minutes: 10 + defaults: + run: + working-directory: game + steps: + - uses: actions/checkout@v7 + - uses: actions/setup-node@v7 + with: + node-version: '22' + cache: npm + cache-dependency-path: game/package-lock.json + - run: npm ci + - run: npm run typecheck + - run: npm test + - run: npm run build From ef8bb8480208bcf5550261b8fb20adb4f2cd9783 Mon Sep 17 00:00:00 2001 From: Vatsal2005 <83007841+Vatsal2005@users.noreply.github.com> Date: Fri, 23 Oct 2026 22:42:19 +0200 Subject: [PATCH 2/4] test: verify ci rejects an intentional type error Exercise the negative verification required by issue 25 on this draft PR. This temporary probe must make the Game typecheck step fail; remove it after recording the run. --- game/src/core/ci-typecheck-probe.ts | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 game/src/core/ci-typecheck-probe.ts diff --git a/game/src/core/ci-typecheck-probe.ts b/game/src/core/ci-typecheck-probe.ts new file mode 100644 index 0000000..c052ddd --- /dev/null +++ b/game/src/core/ci-typecheck-probe.ts @@ -0,0 +1,2 @@ +// Temporary negative CI probe for #25; removed after the failing run is recorded. +export const ciTypecheckProbe: number = 'intentional type error for CI verification'; From 71b2c9df285167755433a3a02f73c4f2e5e77b27 Mon Sep 17 00:00:00 2001 From: Vatsal2005 <83007841+Vatsal2005@users.noreply.github.com> Date: Fri, 23 Oct 2026 22:43:29 +0200 Subject: [PATCH 3/4] test: remove the verified negative ci probe The Game workflow rejected the deliberate type error with TS2322 in run 40021287225. Restore the clean source so the same pipeline can verify the green path. --- game/src/core/ci-typecheck-probe.ts | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 game/src/core/ci-typecheck-probe.ts diff --git a/game/src/core/ci-typecheck-probe.ts b/game/src/core/ci-typecheck-probe.ts deleted file mode 100644 index c052ddd..0000000 --- a/game/src/core/ci-typecheck-probe.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Temporary negative CI probe for #25; removed after the failing run is recorded. -export const ciTypecheckProbe: number = 'intentional type error for CI verification'; From 2f8720a1ccff61cb43c0c0ebe13e63ec6a85ecde Mon Sep 17 00:00:00 2001 From: Vatsal2005 <83007841+Vatsal2005@users.noreply.github.com> Date: Fri, 23 Oct 2026 23:22:56 +0200 Subject: [PATCH 4/4] ci: provision python for generated stage builds The merged prebuild hook now exports stage assets using the standard-library Python tool. Provide Python 3.13 explicitly so Game CI checks the same generated build as local development. --- .github/workflows/game.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/game.yml b/.github/workflows/game.yml index fb917b6..0d2dafa 100644 --- a/.github/workflows/game.yml +++ b/.github/workflows/game.yml @@ -23,6 +23,9 @@ jobs: working-directory: game steps: - uses: actions/checkout@v7 + - uses: actions/setup-python@v5 + with: + python-version: '3.13' - uses: actions/setup-node@v7 with: node-version: '22'