shibatch / sleef

SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT
https://sleef.org
Boost Software License 1.0
635 stars 129 forks source link

Test more OS-es in Github Actions #493

Closed blapie closed 3 months ago

blapie commented 9 months ago

Add runs on windows and macos in Github Actions.

Make a plan for more OS-es via docker: iOS, Android, FreeBSD...

blapie commented 3 months ago

PR #540 is currently looking to add GHA workflows/jobs to build and run test on windows (x86 with msys2). As well as some jobs to cross compile on Linux runners for Windows on x86 and arm64 using llvm-mingw. Running test for Windows on Arm might not be possible with GH-hosted runners any time soon but that is a good start.

Andarwinux commented 3 months ago

I can add CI for macOS, but aarch64 seems to fail a lot of tests. Also, macOS runner is very expensive and I'm not sure there is enough quota to run macOS CI for each commit.

blapie commented 3 months ago

Thanks for the contributions, looking into them now.

can add CI for macOS, but aarch64 seems to fail a lot of tests.

At the moment we test macos on aarch64 internally, and I dont think we see test failures. Could you please share the logs?

Also, macOS runner is very expensive and I'm not sure there is enough quota to run macOS CI for each commit.

This would be very handy to have, but as you said is very expensive to run on github hosted runners. For now it would be good to just manually trigger them. We will soon enable some self-hosted runners (principally aarch64 ones), hopefully they will be able to run macos as well.

Andarwinux commented 3 months ago

At the moment we test macos on aarch64 internally, and I dont think we see test failures. Could you please share the logs?

see https://github.com/Andarwinux/sleef/actions/runs/9216863992/job/25357988023#step:6:109

blapie commented 3 months ago

Thanks! So is that using the newly-available arm64 runners?

Andarwinux commented 3 months ago

Thanks! So is that using the newly-available arm64 runners?

GHA's M1-based macOS runner has been generally available for a long time, but it doesn't support nested virtualization like the old x86_64 runner.

blapie commented 3 months ago

In light of the recent OS-es additions to GHA, we are going to close this issue.

A dedicated issue (#544) was raised to allow testing libm and quad with MinGW/MSYS2, in order to claim full support for Windows (MSYS2). This requires rewriting the test engine to not rely on sys/wait.h.

Regarding iOS, Android and FreeBSD we will wait for users to request these, as implementing CI tests is not as straightforward as other major OS-es. Feel free to open a new issue to discuss this particular topic.