aklomp / base64

Fast Base64 stream encoder/decoder in C99, with SIMD acceleration
BSD 2-Clause "Simplified" License
866 stars 162 forks source link

chore: add alt-arch tests to GHA #85

Closed mayeut closed 2 years ago

mayeut commented 2 years ago

Add alt-arch tests to GHA

Use alpine images rather the debian/ubuntu images that were used on TravisCI as they are much lighter (5.5 MB vs 65 MB). The size of downloaded packages shall be roughly the same in any case.

fixes #83

build on top of #87

aklomp commented 2 years ago

Thanks, not bad, I see shades of my other project here :smile_cat:

I was going to take this ticket, but you beat me to it. My plan was to split out the multiarch stuff into a separate workflow file called .github/workflows/multiarch.yml, to separate the different workflows a bit. In my opinion, multiarch testing is different from functional testing. What do you think?

aklomp commented 2 years ago

I noticed that at least on makefile-alpine-aarch64-clang, the NEON64 codec is not enabled. That reduces the value of the tests by a lot.

aklomp commented 2 years ago

Same for e.g. cmake-alpine-armv7-clang and NEON32.

mayeut commented 2 years ago

My plan was to split out the multiarch stuff into a separate workflow file called .github/workflows/multiarch.yml, to separate the different workflows a bit. In my opinion, multiarch testing is different from functional testing. What do you think?

I think if we test specific code (I missed NEON64/NEON32 for makefile, will add it) or big-endian, it's still functional testing. But more than that, it's easy to update one workflow and forget the other one in another file so I feel it's less error prone to have them in a single file (given it does not increase its complexity/readablity by much).

aklomp commented 2 years ago

Can we remove the Travis CI support in a separate issue? I'd like to separate that concern. Also, some extra commits would need to be made, such as removing the Travis badge from the README.md and replacing it with a GHA badge.