Skip to content
New issue

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

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

Already on GitHub? # to your account

Add GitHub Actions workflow for testing #56

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

paurkedal
Copy link
Collaborator

No description provided.

@paurkedal paurkedal force-pushed the ci branch 10 times, most recently from abbc536 to 3170651 Compare September 6, 2024 13:12
@paurkedal paurkedal changed the title Ci Add GitHub Actions workflow for testing Sep 9, 2024
@paurkedal paurkedal force-pushed the ci branch 19 times, most recently from db12168 to 72aa649 Compare September 9, 2024 12:58
@paurkedal
Copy link
Collaborator Author

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.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant