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