1+ name : Build and Test
2+
3+ on :
4+ push :
5+ branches : [ "main" ]
6+ pull_request :
7+ branches : [ "main" ]
8+ # Allow to run manually
9+ workflow_dispatch :
10+
11+ env :
12+ BUILD_TYPE : Release
13+ XDG_RUNTIME_DIR : /tmp/openrw-runtimedir
14+ ALSOFT_DRIVERS : " null"
15+
16+ jobs :
17+ archlinux :
18+ name : Arch Linux
19+ runs-on : ubuntu-latest
20+ container :
21+ image : docker.io/archlinux/archlinux:latest
22+ steps :
23+ - name : Install dependencies
24+ run : |
25+ pacman -Syy --noconfirm --disable-sandbox \
26+ git core/gcc extra/llvm extra/clang make ninja curl \
27+ extra/boost extra/cmake extra/ffmpeg extra/bullet extra/glm \
28+ extra/openal extra/sdl2 extra/qt5-base extra/freetype2
29+ - name : Checkout
30+ uses : actions/checkout@v4
31+ with :
32+ submodules : recursive
33+ - name : Make runtime directory
34+ run : mkdir -p ${XDG_RUNTIME_DIR}
35+ - name : Build and test
36+ run : mkdir build && cd build && ctest -VV -S ../cmake/ctest/script_ci.ctest
37+ fedora :
38+ name : Fedora
39+ runs-on : ubuntu-latest
40+ container :
41+ image : quay.io/fedora/fedora:latest
42+ steps :
43+ - name : Install dependencies
44+ run : |
45+ dnf install -y git-core boost-devel gcc gcc-c++ clang llvm lcov curl \
46+ boost-devel cmake make ninja-build bullet-devel ffmpeg-free-devel \
47+ glm-devel openal-soft-devel SDL2-devel qt5-qtbase-devel \
48+ freetype-devel libasan
49+ - name : Checkout
50+ uses : actions/checkout@v4
51+ with :
52+ submodules : recursive
53+ - name : Make runtime directory
54+ run : mkdir -p ${XDG_RUNTIME_DIR}
55+ - name : Build and test
56+ run : mkdir build && cd build && ctest -VV -S ../cmake/ctest/script_ci.ctest
57+ ubuntu :
58+ name : Ubuntu
59+ runs-on : ubuntu-latest
60+ steps :
61+ - name : Install dependencies
62+ run : |
63+ sudo apt-get update && \
64+ sudo apt-get install --no-install-recommends --no-upgrade -y \
65+ git-core build-essential cmake ninja-build clang llvm lcov curl \
66+ libavcodec-dev libavformat-dev libboost-program-options-dev \
67+ libboost-system-dev libbullet-dev libglm-dev libopenal-dev \
68+ libsdl2-dev libboost-test-dev libqt5opengl5-dev libfreetype6-dev \
69+ iwyu qtbase5-dev qt5-qmake
70+ env :
71+ DEBIAN_FRONTEND : noninteractive
72+ - name : Checkout
73+ uses : actions/checkout@v4
74+ with :
75+ submodules : recursive
76+ - name : Make runtime directory
77+ run : mkdir -p ${XDG_RUNTIME_DIR}
78+ - name : Build and test
79+ run : mkdir build && cd build && ctest -VV -S ../cmake/ctest/script_ci.ctest
0 commit comments