Skip to content

github: Build the Windows CI job with the MSVC toolchain#2242

Merged
penberg merged 1 commit into
mainfrom
windows-ci
May 28, 2026
Merged

github: Build the Windows CI job with the MSVC toolchain#2242
penberg merged 1 commit into
mainfrom
windows-ci

Conversation

@penberg
Copy link
Copy Markdown
Collaborator

@penberg penberg commented May 27, 2026

The Windows job's cargo build -p libsql --all-features was being built with the x86_64-pc-windows-gnu toolchain (MinGW/GCC), set as the default host triple by hecrj/setup-rust-action@v2. MSVC was never exercised. So breaks that only fail under MSVC -- like the SQLite 3.47.0 #warning that errors with C1021 -- compiled green here. We discovered the gap when libsql-js (which builds with --target x86_64-pc-windows-msvc) failed downstream on the same code.

Add --target x86_64-pc-windows-msvc --release so the Windows job actually compiles the bundled SQLite encryption amalgamation (sqlite3mc) with MSVC, and breaks surface in CI.

cargo clean -p libsql-ffi runs first so sqlite3mc is rebuilt from source rather than restored from a cached target/.

@penberg penberg force-pushed the windows-ci branch 6 times, most recently from 12a9b00 to 59f9833 Compare May 28, 2026 09:53
@penberg penberg changed the title github: Compile sqlite3mc in the Windows CI job github: Build the Windows CI job with the MSVC toolchain May 28, 2026
The Windows job's `cargo build -p libsql --all-features` was being built
with the `x86_64-pc-windows-gnu` toolchain (MinGW/GCC), set as the default
host triple by `hecrj/setup-rust-action@v2`. MSVC was never exercised. So
breaks that only fail under MSVC -- like the SQLite 3.47.0 `#warning` that
errors with C1021 -- compiled green here. We discovered the gap when
libsql-js (which builds with `--target x86_64-pc-windows-msvc`) failed
downstream on the same code.

Add `--target x86_64-pc-windows-msvc --release` so the Windows job
actually compiles the bundled SQLite encryption amalgamation (sqlite3mc)
with MSVC, and breaks surface in CI.

`cargo clean -p libsql-ffi` runs first so sqlite3mc is rebuilt from source
rather than restored from a cached target/.
@penberg penberg merged commit 5816145 into main May 28, 2026
19 checks passed
@penberg penberg deleted the windows-ci branch May 28, 2026 12:43
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