Skip to content

fix(ci): install libxml2 for the Windows release build - #130

Merged
n-dusan merged 1 commit into
mainfrom
ndusan/fix-windows-release-libxml2
Sep 17, 2026
Merged

n-dusan merged 1 commit into
mainfrom
ndusan/fix-windows-release-libxml2

Conversation

@n-dusan

@n-dusan n-dusan commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Description (e.g. "Related to ...", etc.)

The upload-assets (windows-latest) job of the Release workflow fails while
building taf-server
(run 35223976783):

error: failed to run custom build command for `libxml v0.3.21`
  vcpkg did not succeed in finding libxml2.
  Could not find libxml2.

On MSVC targets the libxml build script looks up libxml2 through vcpkg, and
nothing in the workflow installs it on the Windows runner. The Windows build has
failed the same way on every release since v0.6.8 (v0.6.8, v0.6.8-alpha.1,
v0.6.9-alpha.1, v0.6.9, v0.7.0-alpha.1), so none of those releases ship a
Windows binary.

The fix

  • cd.yml: on Windows only, run vcpkg install libxml2:x64-windows-static-md
    before upload-rust-binary-action, and set VCPKG_ROOT to the runner's
    preinstalled vcpkg (VCPKG_INSTALLATION_ROOT). x64-windows-static-md is the
    triplet the vcpkg crate looks for by default. It links libxml2 statically, so
    the released .zip works without any libxml2 DLLs next to the executable.

Checked

The fix is exercised by the Release workflow on the next tag push; the Windows
upload-assets job should now build and upload taf-server-x86_64-pc-windows-msvc-<tag>.zip.

Code review checklist (for code reviewer to complete)

  • Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR) — getting the Windows release binary to build.
  • Title summarizes what is changing
  • Commit messages are meaningful (see this for details)
  • Tests have been included and/or updated, as appropriate — n/a, release workflow change
  • Docstrings have been included and/or updated, as appropriate — n/a, workflow-only change
  • Standalone docs have been updated accordingly — CHANGELOG.md entry added

Automated tests, benchmarks and linters

You can run the tests, lints and benchmarks that are run on CI locally with:

just ci

🤖 Generated with Claude Code

The libxml build script finds libxml2 through vcpkg on MSVC, but the
windows-latest runner has no libxml2 installed, so every release since
v0.6.8 failed to upload a Windows binary. Install the
x64-windows-static-md triplet (the vcpkg crate's default) and point
VCPKG_ROOT at the runner's vcpkg.
@n-dusan
n-dusan force-pushed the ndusan/fix-windows-release-libxml2 branch from 1720453 to e0977f4 Compare September 17, 2026 13:17
@n-dusan
n-dusan requested a review from BojanG99 September 17, 2026 13:17
@n-dusan n-dusan self-assigned this Sep 17, 2026
@n-dusan
n-dusan merged commit 7cb8502 into main Sep 17, 2026
9 checks passed
@n-dusan
n-dusan deleted the ndusan/fix-windows-release-libxml2 branch September 17, 2026 13:33
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.

2 participants