It turns out to be tricky to get OS coverage, but I think it was worth some effort for this project, esp. to cover the MariaDB client library options. In the current state it covers the MariaDB C connector via Alpine Linux and libmariadb via Ubuntu, and tests with the minimum compiler version, OCaml 4.07, and the current latest, OCaml 5.2.
Some information about the challenges, for future reference:
Without containers, GitHub Actions offers linux (ubuntu), macos, and windows. However server containers are only supported for linux, so we would be left with only one OS where we can run the test suite.
I opted for ocaml/opam containers to reduce the build time. They have an outdated opam executable and I didn't want to spend time debugging why depext didn't work, so it uses explicit package installations for now.
GitHub Actions does not work seamlessly with containers, cf chown -Rh opam: ..
GitHub Actions does not work at all with Ubuntu 18.04 containers, since libc is too old for the node.js executable. This means the libmariadbclient alternative from the configure script is not tested.
It turns out to be tricky to get OS coverage, but I think it was worth some effort for this project, esp. to cover the MariaDB client library options. In the current state it covers the MariaDB C connector via Alpine Linux and libmariadb via Ubuntu, and tests with the minimum compiler version, OCaml 4.07, and the current latest, OCaml 5.2.
Some information about the challenges, for future reference:
chown -Rh opam: .
.libmariadbclient
alternative from the configure script is not tested.