canonical / dqlite

Embeddable, replicated and fault-tolerant SQL engine.
https://dqlite.io
Other
3.89k stars 219 forks source link

github: Test with musl #682

Closed cole-miller closed 2 months ago

cole-miller commented 3 months ago

MicroK8s and Juju consume dqlite as a static library build against musl libc, so let's test this in our CI to avoid unexpected breaks like #679.

Signed-off-by: Cole Miller cole.miller@canonical.com

codecov[bot] commented 3 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 81.26%. Comparing base (494d6e7) to head (1fb3a1f). Report is 25 commits behind head on master.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #682 +/- ## ========================================== + Coverage 77.91% 81.26% +3.34% ========================================== Files 197 197 Lines 28011 29070 +1059 Branches 5536 4046 -1490 ========================================== + Hits 21826 23624 +1798 + Misses 4329 3832 -497 + Partials 1856 1614 -242 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

cole-miller commented 3 months ago

Running into this issue it seems: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764335.

cole-miller commented 3 months ago

I like how using a Dockerfile for this cleans things up. Looking into the segfaults.

cole-miller commented 3 months ago

This is ready. The new contrib/build-static.sh test script is derived from the one used by MicroK8s, and should be much more representative than building in an Alpine container.

The other changes in this PR are tweaks to the test suite to make it musl-friendly.