Skip to content

ci: pin libtaurus v0.25.8; drop Windows export workaround - #11

Merged
ronaldtse merged 2 commits into
mainfrom
chore/pin-libtaurus-v0.25.8
Aug 19, 2026
Merged

ci: pin libtaurus v0.25.8; drop Windows export workaround#11
ronaldtse merged 2 commits into
mainfrom
chore/pin-libtaurus-v0.25.8

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Summary

  • .github/workflows/build.yml: pin libtaurus v0.25.0 → v0.25.8 and remove -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON
  • README.adoc: update the CI pin note

Why drop the export flag

v0.25.8 fixes lutaml/taurus#278: taurus.h now accepts TAURUS_BUILDING_DLL (the define CMake actually sets on taurus_shared) for __declspec(dllexport). The DLL now exports symbols through the standard mechanism, so the blanket CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS workaround is obsolete — and it was the source of the recurring MSB3073 post-build failure that kept every Windows job red.

Also new upstream (not yet bound)

taurus_parse_string_flags() with TAURUS_PARSE_DROP_WS_TEXT — drops whitespace-only text nodes at parse time (pugixml default / libxml2 XML_PARSE_NOBLANKS / Nokogiri noblanks). Available as follow-up Ruby-side work.

Verification

  • Header diff v0.25.0 → v0.25.8: the #278 macro fix + the new parse API only; no changes to the 173 existing bindings
  • Local suite against v0.25.8: 176/176 passing

Test plan

  • CI green on Linux + macOS
  • Windows jobs green for the first time (or at minimum a different failure than the known MSB3073 signature)
  • After merge: trigger release (next_version=patch) for v0.1.4

v0.25.8 fixes lutaml/taurus#278 upstream: taurus.h now accepts
TAURUS_BUILDING_DLL (what CMake actually defines on taurus_shared)
for __declspec(dllexport), so the DLL exports its symbols through
the standard mechanism. CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON is no
longer needed and was the source of the MSB3073 post-build failure
on every Windows job since the workflow was introduced.

Also new upstream: taurus_parse_string_flags() with
TAURUS_PARSE_DROP_WS_TEXT (whitespace-only text node skipping) --
not yet bound on the Ruby side.

Local verification against v0.25.8: 176/176 specs passing.
@ronaldtse
ronaldtse merged commit f006692 into main Aug 19, 2026
9 of 12 checks passed
@ronaldtse
ronaldtse deleted the chore/pin-libtaurus-v0.25.8 branch August 19, 2026 22:44
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.

Windows: TAURUS_API macro checks TAURUS_BUILD_SHARED but CMake defines TAURUS_BUILDING_DLL — DLL exports no symbols

1 participant