noloader / cryptopp-cmake

CMake files for Crypto++ project
BSD 3-Clause "New" or "Revised" License
92 stars 68 forks source link

GCC Compile Farm Accounts for Testing #2

Open noloader opened 6 years ago

noloader commented 6 years ago

@alonbl, @Guozht, @Azer0s, @anonimal, @wildbiotiger, @UKMonkey, @UKMonkey, @Marc--Olivier, @Romain-Geissler-1A, @ZahlGraf, @nexussafe, @egorpugin, @HeinrichJanzing, @geoffbeier, @FloriansGit, @steady286, @zabulus, @morozovcookie, @GamePad64, @solvingj,

One of the ways we test Crypto++ is through the GCC Compile Farm. The compile farm is open to anyone working on free and open software projects. The farm provides access to additional hardware, operating systems and compilers, like PowerPC and PPC-64, Aarch64, AIX, and IBM XL C/C++ compiler.

Another good testing practice is to buy a few inexpensive dev-boards, like a BeagleBone, CubieTruck and MIPS Creator. They offer you local ARM and MIPS testing for 30 to 50 US dollars. And don't forget Android because its NDK uses some unusual flags, like -mfloat-abi=soft (Linux usually uses hard floats).

Yet another good testing practice is to setup VMs with Solaris and some of the BSDs, like OpenBSD, FreeBSD, NetBSD and DragonFly. Solaris is one of the most frustrating platforms to work on, so be sure to have one handy for testing. Sun's C++ compiler is full of surprises.

Finally, Debian Chroots are useful for testing Debian. You get access to the supported ports and some unsupported ports. Be sure to visit the Crypto++ wiki documentation at Debian Chroots. It has the recipes to set up the chroots.

CMake testing on some of the lesser used platforms will go a long way in promoting the stability of the CMake project files.

solvingj commented 6 years ago

That is a great resource, I'm glad to learn about it.

To add, I don't actually have experience with this, but Dockcross seems to be an interesting project which might help with local cross-compile testing, perhaps before pushing to the compile farm. https://github.com/dockcross/dockcross

jcfr commented 6 years ago

Indeed, dockcross can definitively be used to setup continuous integration of PR using CircleCI.

It also includes emulator to run the tests. That said, CMake >= 3.8 is preferred to fully leverage this (see https://github.com/Kitware/CMake/commit/e7480d6)

noloader commented 2 years ago

@abdes,

Email me at noloader, gmail account. I want to ensure you get a CFarm account for testing. We'll reach out to the CFarm admins together.

Jeff