Testing using ubuntu 20.04 in container #792
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
linux-oldest: | |
runs-on: ubuntu-24.04 | |
container: | |
image: ubuntu:20.04 | |
env: | |
SFML_VERSION: 2.5.1 # 2.5.0 has issue with mesa | |
SDL_VERSION: 2.0.18 # older versions aren't supported in SDL_RENDERER backend | |
SDL_TTF_VERSION: 2.0.15 # 2.0.14 has no cmake script | |
GLFW_VERSION: '3.2' | |
RAYLIB_VERSION: '4.2.0' | |
CMAKE_VERSION: '3.16' | |
CMAKE_VERSION_PATCH: 0 | |
GCC_VERSION: 7 | |
CLANG_VERSION: '6.0' | |
DEBIAN_FRONTEND: noninteractive | |
TZ: Etc/UTC | |
steps: | |
- name: Checkout TGUI | |
uses: actions/checkout@v4 | |
- name: Cache SFML | |
uses: actions/cache@v4 | |
id: cache-sfml | |
with: | |
path: SFML_INSTALL | |
key: CACHE_LINUX_OLDEST_SFML_${{env.SFML_VERSION}} | |
- name: Cache SDL | |
uses: actions/cache@v4 | |
id: cache-sdl | |
with: | |
path: SDL_INSTALL | |
key: CACHE_LINUX_OLDEST_SDL_${{env.SDL_VERSION}} | |
- name: Cache SDL_ttf | |
uses: actions/cache@v4 | |
id: cache-sdl-ttf | |
with: | |
path: SDL_TTF_INSTALL | |
key: CACHE_LINUX_OLDEST_SDL_TTF_${{env.SDL_TTF_VERSION}} | |
- name: Cache GLFW | |
uses: actions/cache@v4 | |
id: cache-glfw | |
with: | |
path: GLFW_INSTALL | |
key: CACHE_LINUX_OLDEST_GLFW_${{env.GLFW_VERSION}} | |
- name: Cache raylib | |
uses: actions/cache@v4 | |
id: cache-raylib | |
with: | |
path: RAYLIB_INSTALL | |
key: CACHE_LINUX_OLDEST_RAYLIB_${{env.RAYLIB_VERSION}} | |
- name: Install build tools and dependencies | |
run: | | |
apt-get update | |
apt-get -y install g++-$GCC_VERSION clang-$CLANG_VERSION ninja-build wget | |
apt-get -y install xorg-dev libudev-dev libopenal-dev libflac-dev libvorbis-dev libgl1-mesa-dev libegl1-mesa-dev libfreetype6-dev | |
sh -c 'wget -nv -O- "https://cmake.org/files/v${{env.CMAKE_VERSION}}/cmake-${{env.CMAKE_VERSION}}.${{env.CMAKE_VERSION_PATCH}}-Linux-x86_64.tar.gz" | tar --strip-components=1 -xz -C /usr/local' | |
- name: Build SFML | |
if: steps.cache-sfml.outputs.cache-hit != 'true' | |
run: | | |
mkdir SFML | |
wget -nv -O- "https://github.com/SFML/SFML/archive/refs/tags/$SFML_VERSION.tar.gz" | tar --strip-components=1 -xz -C SFML | |
cmake -GNinja -DCMAKE_CXX_COMPILER=g++-$GCC_VERSION -DCMAKE_C_COMPILER=gcc-$GCC_VERSION -DCMAKE_INSTALL_PREFIX=SFML_INSTALL -DBUILD_SHARED_LIBS=ON -DSFML_BUILD_AUDIO=OFF -DSFML_BUILD_NETWORK=OFF -S SFML -B SFML-build | |
cmake --build SFML-build --config Release --target install | |
- name: Build SDL | |
if: steps.cache-sdl.outputs.cache-hit != 'true' | |
run: | | |
mkdir SDL | |
wget -nv -O- "https://github.com/libsdl-org/SDL/archive/refs/tags/release-$SDL_VERSION.tar.gz" | tar --strip-components=1 -xz -C SDL | |
cmake -GNinja -DCMAKE_CXX_COMPILER=g++-$GCC_VERSION -DCMAKE_C_COMPILER=gcc-$GCC_VERSION -DCMAKE_INSTALL_PREFIX=SDL_INSTALL -DBUILD_SHARED_LIBS=ON -S SDL -B SDL-build | |
cmake --build SDL-build --config Release --target install | |
- name: Build SDL_ttf | |
if: steps.cache-sdl-ttf.outputs.cache-hit != 'true' | |
run: | | |
mkdir SDL_TTF | |
wget -nv -O- "https://github.com/libsdl-org/SDL_ttf/archive/refs/tags/release-$SDL_TTF_VERSION.tar.gz" | tar --strip-components=1 -xz -C SDL_TTF | |
cmake -GNinja -DCMAKE_CXX_COMPILER=g++-$GCC_VERSION -DCMAKE_C_COMPILER=gcc-$GCC_VERSION -DCMAKE_INSTALL_PREFIX=SDL_TTF_INSTALL -DSDL2_DIR="$GITHUB_WORKSPACE/SDL_INSTALL/lib/cmake/SDL2" -DBUILD_SHARED_LIBS=ON -S SDL_TTF -B SDL_TTF-build | |
cmake --build SDL_TTF-build --config Release --target install | |
- name: Build GLFW | |
if: steps.cache-glfw.outputs.cache-hit != 'true' | |
run: | | |
mkdir GLFW | |
wget -nv -O- "https://github.com/glfw/glfw/archive/refs/tags/$GLFW_VERSION.tar.gz" | tar --strip-components=1 -xz -C GLFW | |
cmake -GNinja -DCMAKE_CXX_COMPILER=g++-$GCC_VERSION -DCMAKE_C_COMPILER=gcc-$GCC_VERSION -DCMAKE_INSTALL_PREFIX=GLFW_INSTALL -DBUILD_SHARED_LIBS=ON -S GLFW -B GLFW-build | |
cmake --build GLFW-build --config Release --target install | |
- name: Build raylib | |
if: steps.cache-raylib.outputs.cache-hit != 'true' | |
run: | | |
mkdir raylib | |
wget -nv -O- "https://github.com/raysan5/raylib/archive/refs/tags/$RAYLIB_VERSION.tar.gz" | tar --strip-components=1 -xz -C raylib | |
cmake -GNinja -DCMAKE_CXX_COMPILER=g++-$GCC_VERSION -DCMAKE_C_COMPILER=gcc-$GCC_VERSION -DCMAKE_INSTALL_PREFIX=RAYLIB_INSTALL -DBUILD_SHARED_LIBS=ON -S raylib -B raylib-build | |
cmake --build raylib-build --config Release --target install | |
- name: Build TGUI (old gcc) | |
run: > | |
cmake -B TGUI-build-gcc -GNinja | |
-DCMAKE_CXX_COMPILER=g++-$GCC_VERSION | |
-DSFML_DIR="$GITHUB_WORKSPACE/SFML_INSTALL/lib/cmake/SFML/" | |
-DSDL2_DIR="$GITHUB_WORKSPACE/SDL_INSTALL/lib/cmake/SDL2/" | |
-DSDL2_TTF_PATH="$GITHUB_WORKSPACE/SDL_TTF_INSTALL" | |
-Dglfw3_DIR="$GITHUB_WORKSPACE/GLFW_INSTALL/lib/cmake/glfw3/" | |
-Draylib_ROOT="$GITHUB_WORKSPACE/RAYLIB_INSTALL/" | |
-Draylib_USE_STATIC_LIBS=OFF | |
-DBUILD_SHARED_LIBS=ON | |
-DTGUI_CXX_STANDARD=14 | |
-DTGUI_WARNINGS_AS_ERRORS=ON | |
-DTGUI_BUILD_EXAMPLES=ON | |
-DTGUI_BUILD_GUI_BUILDER=ON | |
-DTGUI_BUILD_TESTS=OFF | |
-DTGUI_BACKEND=Custom | |
-DTGUI_HAS_BACKEND_SFML_GRAPHICS=ON | |
-DTGUI_HAS_BACKEND_SFML_OPENGL3=ON | |
-DTGUI_HAS_BACKEND_SDL_RENDERER=ON | |
-DTGUI_HAS_BACKEND_SDL_OPENGL3=ON | |
-DTGUI_HAS_BACKEND_SDL_GLES2=ON | |
-DTGUI_HAS_BACKEND_SDL_TTF_OPENGL3=ON | |
-DTGUI_HAS_BACKEND_SDL_TTF_GLES2=ON | |
-DTGUI_HAS_BACKEND_GLFW_OPENGL3=ON | |
-DTGUI_HAS_BACKEND_GLFW_GLES2=ON | |
-DTGUI_HAS_BACKEND_RAYLIB=ON | |
cmake --build TGUI-build-gcc --config Release | |
- name: Build TGUI (old clang) | |
run: > | |
cmake -B TGUI-build-clang -GNinja | |
-DCMAKE_CXX_COMPILER=clang++-$CLANG_VERSION | |
-DSFML_DIR="$GITHUB_WORKSPACE/SFML_INSTALL/lib/cmake/SFML/" | |
-DSDL2_DIR="$GITHUB_WORKSPACE/SDL_INSTALL/lib/cmake/SDL2/" | |
-DSDL2_TTF_PATH="$GITHUB_WORKSPACE/SDL_TTF_INSTALL" | |
-Dglfw3_DIR="$GITHUB_WORKSPACE/GLFW_INSTALL/lib/cmake/glfw3/" | |
-Draylib_ROOT="$GITHUB_WORKSPACE/RAYLIB_INSTALL/" | |
-Draylib_USE_STATIC_LIBS=OFF | |
-DBUILD_SHARED_LIBS=ON | |
-DTGUI_CXX_STANDARD=14 | |
-DTGUI_WARNINGS_AS_ERRORS=ON | |
-DTGUI_BUILD_EXAMPLES=OFF | |
-DTGUI_BUILD_GUI_BUILDER=OFF | |
-DTGUI_BUILD_TESTS=OFF | |
-DTGUI_BACKEND=Custom | |
-DTGUI_HAS_BACKEND_SFML_GRAPHICS=ON | |
-DTGUI_HAS_BACKEND_SFML_OPENGL3=ON | |
-DTGUI_HAS_BACKEND_SDL_RENDERER=ON | |
-DTGUI_HAS_BACKEND_SDL_OPENGL3=ON | |
-DTGUI_HAS_BACKEND_SDL_GLES2=ON | |
-DTGUI_HAS_BACKEND_SDL_TTF_OPENGL3=ON | |
-DTGUI_HAS_BACKEND_SDL_TTF_GLES2=ON | |
-DTGUI_HAS_BACKEND_GLFW_OPENGL3=ON | |
-DTGUI_HAS_BACKEND_GLFW_GLES2=ON | |
-DTGUI_HAS_BACKEND_RAYLIB=ON | |
cmake --build TGUI-build-clang --config Debug --target install | |
- name: Test TGUIConfig.cmake | |
run: > | |
cmake -GNinja -S tests/cmake -B tests/cmake/build | |
-DCMAKE_CXX_COMPILER=g++-$GCC_VERSION | |
-DCMAKE_C_COMPILER=gcc-$GCC_VERSION | |
-DSFML_DIR="$GITHUB_WORKSPACE/SFML_INSTALL/lib/cmake/SFML/" | |
-DSDL2_DIR="$GITHUB_WORKSPACE/SDL_INSTALL/lib/cmake/SDL2/" | |
-DSDL2_TTF_PATH="$GITHUB_WORKSPACE/SDL_TTF_INSTALL" | |
-Dglfw3_DIR="$GITHUB_WORKSPACE/GLFW_INSTALL/lib/cmake/glfw3/" | |
-Draylib_ROOT="$GITHUB_WORKSPACE/RAYLIB_INSTALL/" | |
-Draylib_USE_STATIC_LIBS=OFF | |
cmake --build tests/cmake/build --config Debug | |
test -e tests/cmake/build/TguiTest | |