New CI, more architectures may be needed

[email protected] (Pierre Joye) Wed, 1 Sep 2021 10:33:39 +0700
Newsgroups php.gd.devel
Message-ID <CAEZPtU5UBaUqs82M3x2w-_jqYyjxJAAdT=pEN-Dho87PzO8tBg@mail.gmail.com>
Good morning libGDers,

We have added a long due (relatively) full CI to our github
repository. So far we have:

- Ubuntu 20.04LTS, Intel
(https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md)
 . GCC (x64)
. CLang (x64)

- Ubuntu 20.04LTS, ARM (graviton2)
 . AWS Ubuntu Image
 . GCC (64bit)
. CLang (64bit)

- Windows Server 2019, x64
(https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md)
. Visual Studio Enterprise 2019 (x64, x86 and arm64 cross compiliations)
 . MingW GCC (x86, x64 and ucrt64)

- MacOS 11, Intel
(https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11-Readme.md)
 . GCC x64
 . MacOS 11, M1 in place but we don't manage to get M1 runners

To our knowledge, there are other platforms used as well, like s390,
MIPS or similar architectures. We would be happy to add them as self
hosted runners if we have access to a host with these specs.

A few things need some tweaks and a hand:

- CLang in general
 . it seems we need some more fine tuned flags to bring full
compatibility for the builds. We do see some floating operations
returning different results than other platforms. Also on AWS
Graviton2, we see some random tests failing for very trivial tests.
Any help would be appreciated here. These tests pass when run manually
outside the gh actions service (same hosts). Maybe some distros
maintainers can help here?

One last thing would be amazing is to add tests from projects using
libgd. That would drastically help to prevent BC breaks.

More details available here
https://github.com/libgd/libgd/blob/master/docs/README_CI.md

The results of the CI can be seen in the Github Actions
https://github.com/libgd/libgd/actions

best,
-- 
Pierre

@pierrejoye | http://www.libgd.org