Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically build and release upon push of a new tag. #2

Merged
merged 5 commits into from
Dec 13, 2022

Conversation

LTLA
Copy link
Contributor

@LTLA LTLA commented Nov 16, 2022

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 where XXX is some arbitrary name that does not contain underscores, and YYY 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.)

@LTLA
Copy link
Contributor Author

LTLA commented Dec 9, 2022

Nudge - any thoughts?

@bmaranville
Copy link
Member

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!

@bmaranville bmaranville self-requested a review December 12, 2022 15:41
@bmaranville
Copy link
Member

Can you make a release of your cmake docker image so we can pin the version number in the action?

@LTLA
Copy link
Contributor Author

LTLA commented Dec 13, 2022

Done, pinned to 2022-12-13.

@bmaranville bmaranville merged commit 63fe8cb into usnistgov:main Dec 13, 2022
@bmaranville
Copy link
Member

I forgot I have to get administrators to enable actions for this repo... I'll try publishing a release after that is done.

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