Skip to content

test(windows): fail packaging tests when installer.nsi lags the @tauri-apps/cli pin - #1433

Merged
raydocs merged 1 commit into
mainfrom
claude/nsis-template-sync-guard-20261007
Oct 7, 2026
Merged

raydocs merged 1 commit into
mainfrom
claude/nsis-template-sync-guard-20261007

Conversation

@raydocs

@raydocs raydocs commented Oct 7, 2026

Copy link
Copy Markdown
Owner

Follow-up to #1431's limitation. Ops plan (build-chain regression guard, not a ship gate).

packages/windows/installer.nsi is a fork of tauri-bundler's template, but utils.nsh is still supplied by the bundler at build time. #1421 moved @tauri-apps/cli 2.11.5 → 2.12.1 without diffing the upstream template and the 7502 Windows candidate died in makensis.

  • installer.nsi gets a ; TEMPLATE_SYNCED_WITH_TAURI_CLI <version> marker.
  • One new test in windows-packaging.test.mjs: the marker must equal package.json's @tauri-apps/cli, and the 2.12 contract must hold (!include "Win\RestartManager.nsh", both CheckIfAppIsRunning sites pass "$INSTDIR\${MAINBINARYNAME}.exe"). Bumping the cli pin now requires re-diffing crates/tauri-bundler/src/bundle/windows/nsis/ and moving the marker.

Verification

  • node --test apps/windows/app/scripts/windows-packaging.test.mjs: 39/39.
  • Red proofs: marker set to 2.11.5 → 1 fail (@tauri-apps/cli is 2.12.1 but installer.nsi was last synced with 2.11.5); one call site reverted to the bare exe name → 1 fail; restored → 39/39.

Limitations

  • Guards the version pin and the two known 2.12 contract points only; a future upstream template change still needs the manual diff the marker demands.
  • The duplicated XCTest step between macos-release.yml and macos-ci.yml is a separate PR.

Record: docs/changelog.d/2026-10-07-nsis-template-sync-guard.md.

🤖 Generated with Claude Code

https://claude.ai/code/session_01TCaYZLcT8rtQDuuTVhSPaC

…i-apps/cli pin

The forked NSIS template still consumes the bundler's utils.nsh, so a cli
upgrade must be diffed against the upstream template (#1421 -> #1431 was not,
and the 7502 Windows candidate died in makensis). installer.nsi carries a
TEMPLATE_SYNCED_WITH_TAURI_CLI marker; one test asserts it equals package.json's
@tauri-apps/cli and that the 2.12 contract holds (RestartManager include, full
executable path at both CheckIfAppIsRunning sites). Red on a stale marker and on
a bare-name call site, 39/39 green.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TCaYZLcT8rtQDuuTVhSPaC
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@raydocs

raydocs commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

jev-route review record — decision d8465421

  • Review decision: dual_cross_family via jev, confidence 0.49
  • Slots: opus → anthropic (high effort, success); codex → openai (high effort, success); substitutions: none
  • Verification: none recorded; confirmed 0, refuted 0, downgraded 0; rechecked: none
  • Chain: d8465421 PASSED; fix rounds: 0
  • Stop rule: does not qualify (no fix round yet)
  • Head 4a3139fa477c6f61bfd1a9eaf426a6d6c7b287c1, range origin/main...HEAD

Verification (merging agent)

  • ci-gate run 37659891809 green on head 4a3139fa (windows-ci ran the Tauri app node --test; Rust and macOS paths untouched).
  • MacBook: node --test apps/windows/app/scripts/windows-packaging.test.mjs 39/39 on the branch; red with the marker set to 2.11.5 and with a bare-name CheckIfAppIsRunning call site (restored).
  • No review threads, no CHANGES_REQUESTED. Merging with a merge commit (not a UI PR).

@raydocs
raydocs merged commit 30ee93a into main Oct 7, 2026
30 checks passed
@raydocs
raydocs deleted the claude/nsis-template-sync-guard-20261007 branch October 7, 2026 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant