Move CI pipelines to Github Actions#3
Conversation
|
Looks like the LLVM PPA doesn't allow multiple versions of clang at the same time. I am reducing them to |
|
I tried multiple approaches, but Ubuntu is making it quite hard to install multiple versions of LLVM/clang together. Either c++ ABI is missing and downstream projects fail to compile or different versions of c++ ABI packages clash. I will try to focus on a single clang version, but in the future I will need to have different Docker images for different compiler versions. |
|
I am benching this effort for now. Cross-compiling with clang for a given version seems to be completely broken. cmake is failing to find the correct stdc++ libs even though they're installed: CMake Error at /usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake:60 (message):
The C++ compiler
"/usr/bin/clang++-19"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: '/opt/raylib-games/build/CMakeFiles/CMakeScratch/TryCompile-WV2Pee'
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e36f3/fast
/usr/bin/gmake -f CMakeFiles/cmTC_e36f3.dir/build.make CMakeFiles/cmTC_e36f3.dir/build
gmake[1]: Entering directory '/opt/raylib-games/build/CMakeFiles/CMakeScratch/TryCompile-WV2Pee'
Building CXX object CMakeFiles/cmTC_e36f3.dir/testCXXCompiler.cxx.o
/usr/bin/clang++-19 -MD -MT CMakeFiles/cmTC_e36f3.dir/testCXXCompiler.cxx.o -MF CMakeFiles/cmTC_e36f3.dir/testCXXCompiler.cxx.o.d -o CMakeFiles/cmTC_e36f3.dir/testCXXCompiler.cxx.o -c /opt/raylib-games/build/CMakeFiles/CMakeScratch/TryCompile-WV2Pee/testCXXCompiler.cxx
Linking CXX executable cmTC_e36f3
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e36f3.dir/link.txt --verbose=1
/usr/bin/clang++-19 CMakeFiles/cmTC_e36f3.dir/testCXXCompiler.cxx.o -o cmTC_e36f3
/usr/bin/ld: cannot find -lstdc++: No such file or directory
clang++-19: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[1]: *** [CMakeFiles/cmTC_e36f3.dir/build.make:100: cmTC_e36f3] Error 1
gmake[1]: Leaving directory '/opt/raylib-games/build/CMakeFiles/CMakeScratch/TryCompile-WV2Pee'
gmake: *** [Makefile:127: cmTC_e36f3/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:4 (project)What is stranger is that even the default clang setup doesn't really work. |
|
Found the issue - clang++ is relying on GCC C++ components which are not installed by default if just installing regular gcc packages. |
This reverts commit 7e39367.
Fixes #2
Moves CI from Travis CI to Github Actions
Builds raylib from source (github repo checkout)
Generates a Docker image called
raylib_basecontaining raylib + several compiler toolchainsBuilds the main
raylib-gamesproject on Clang 20, GCC 12, GCC 13 and GCC 14 in Github Actions job matrixRemoves old travis CI YAML