It would be nice if we could investigate testing through opam, for unreleased libbinaryen versions to catch downstream failures.
I think a good workflow process would be:
- If
install-deps fails (Would be nice if we could say specifically due to libbinaryen not being available)
- Check if
package.json contains resolutions['@grain/libbinaryen']
- Parse out the
repo url and commit hash.
- Dispatch a workflow run to a
run-local-tests script with the repo and commit hash
- Clone the repo
- Check out the hash
- Pin the local package to override the version specified via opam
- Try rebuilding.
This should still cause the opam tests to fail, but should help to catch any downstream issues in libbinaryen before we do releases.
If we want to get really fancy, we could have release-please in libbinaryen dispatch a workflow to open a pr with the resolution changed to pre-test releases (This would fail with typical api changes in binaryen through).
If we want to optimize this a little as well, it may make sense to run the standard Ubuntu build of the opam test on 5.3.0 and, depending on the state, dispatch the rest of the runs so we avoid doing the failover work multiple times.
It would be nice if we could investigate testing through opam, for unreleased libbinaryen versions to catch downstream failures.
I think a good workflow process would be:
install-depsfails (Would be nice if we could say specifically due to libbinaryen not being available)package.jsoncontainsresolutions['@grain/libbinaryen']repo urlandcommit hash.run-local-testsscript with the repo and commit hashThis should still cause the opam tests to fail, but should help to catch any downstream issues in libbinaryen before we do releases.
If we want to get really fancy, we could have release-please in libbinaryen dispatch a workflow to open a pr with the resolution changed to pre-test releases (This would fail with typical api changes in binaryen through).
If we want to optimize this a little as well, it may make sense to run the standard Ubuntu build of the opam test on
5.3.0and, depending on the state, dispatch the rest of the runs so we avoid doing the failover work multiple times.