Add CI testing on 32-bit i386 of OCaml 4.14 and 5.3 via Docker containers #335
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds CI tests on 32-bit i386 of OCaml 4.14 and 5.3 via Docker containers.
Background:
The PRNG changed in OCaml5, meaning outputs differ between 4 and 5, even when run with the same seed.
On top, OCaml supports 32-bit (on OCaml5 only via bytecode). Again, this means different output behaviour between 32-bit and 64-bit, resulting in 4 combinations overall, that QCheck supports.
Our current CI only tests on 64-bit, thus leaving a blind angle.
More than once have I discovered out-of-date 32-bit expect test files during a release to the opam-repo, which tests 32-bit in its CI. This is a bit late to catch something that ideally would come with each PR.
This PR thus offers exactly that: CI testing of 32-bit builds via Docker containers.
I've only added 2 entries - one representative (4.14 and 5.3) from each side of the PRNG split.
The addition battles a bit to make the ends meet between the prebuilt opam-images using
HOME=/home/opam
and an accompanyingopam
user with~/.opamrc
etc, and GitHub actions insisting on adding-e "HOME=/github/home"
last when invokingdocker
🤷