Closed LTLA closed 1 year ago
Nudge - any thoughts?
It is unfortunate that there isn't ABI compatibility; given that, I can see this approach of building for multiple emscripten versions will be a useful thing to do. Thanks for the PR!
Can you make a release of your cmake docker image so we can pin the version number in the action?
Done, pinned to 2022-12-13
.
I forgot I have to get administrators to enable actions for this repo... I'll try publishing a release after that is done.
This is motivated by the fact that Emscripten does not guarantee ABI compatibility across its versions. (See comments here; I recall seeing a statement of non-compatibility in the docs, but can't find it anymore.) This implies that HDF5 compiled with one version of emscripten may not work with libraries compiled with another version; we've been fortunate so far, but may not be so lucky in the future. I've already started observing link failures when trying to migrate my application to 64-bit Wasm.
This PR adds an action that allows the h5wasm maintainer to easily build and publish tarballs with a new version of emscripten. Simply create and push a tag of the structure
vXXX_YYY
whereXXX
is some arbitrary name that does not contain underscores, andYYY
is the desired version of Emscripten. This will then automatically do a build and create a release like https://github.com/LTLA/libhdf5-wasm/releases/tag/v0.2.0-test_3.1.8. So, if anyone requests a new set of builds, you can easily just push a tag, walk away, and let the CI handle the rest.(Well, almost. 1.10.8 fails with Emscripten 3.1.25 because its clang is more strict about some bad C code. In that case, one could just create a new branch, remove 1_10_8 from the Makefile, and then push a new tag on that branch.)