trilogy-libraries / trilogy

Trilogy is a client library for MySQL-compatible database servers, designed for performance, flexibility, and ease of embedding.
MIT License
697 stars 68 forks source link

A more native GitHub Actions workflow would be nice #170

Open bensheldon opened 5 months ago

bensheldon commented 5 months ago

The GitHub Actions workflow for testing Trilogy would likely be faster and more maintainable if it used more GitHub Actions-native functionality. This would mean for the workflow to set up different services through GitHub Actions and use ruby/setup-ruby to run tests within a matrix.

The current GitHub Actions workflow uses Docker in the script/cibuild to build and run docker containers within the CI environment, which is slow and not the best use of GitHub Actions:

https://github.com/trilogy-libraries/trilogy/blob/b11647aa57f56318143ec28de02da3d107eb7e0d/script/cibuild#L53-L57

ngan commented 5 months ago

@bensheldon @composerinteralia Is there a specific reason we're testing trilogy specifically on debian? Is ubuntu good enough?

And is there a reason for this specific permutation? https://github.com/trilogy-libraries/trilogy/blob/6ed9857fd185d66643d7bff30cdb269be31cdb76/.github/workflows/ci.yml#L22-L24

bensheldon commented 5 months ago

I think that is trying to bracket with the oldest supported versions. I do think there may be some applications still using debian:buster, so unless it's a pain to keep that, I think we should keep it another year or 2 (or till we do feel pain, because I imagine coming back to this issue 4 years from now 👋)