-
Notifications
You must be signed in to change notification settings - Fork 20
/
.gitlab-ci.yml
101 lines (94 loc) · 2.96 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
variables:
CLICOLOR_FORCE: "1"
TERM: xterm
CPM_SOURCE_CACHE: ${CI_PROJECT_DIR}/.cache/cpm
cache:
key: cpm
paths: [.cache/cpm]
image: registry.fedoraproject.org/fedora-minimal:40
linux:
stage: build
script:
- microdnf install -y cmake ninja-build gcc-c++ fontconfig-devel freetype-devel libvorbis-devel libwebp-devel SDL2-devel libtheora-devel clang util-linux clang-tools-extra >/dev/null
- .github/ci.py
- CXXFLAGS=-fdiagnostics-color cmake -Bbuild -GNinja
- cd build
- ninja
- microdnf install -y mesa-dri-drivers xorg-x11-drivers >/dev/null
- Xorg -config ../data/xorg.conf &>/dev/null &
- sleep 1 # wait for Xorg to boot up
- DISPLAY=:0 ./jngl-unittest
- cd ..
- CC=clang CXX=clang++ CXXFLAGS=-fdiagnostics-color cmake -Bbuild-clang -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DJNGL_CLANG_TIDY=1
- cd build-clang
- ninja
mingw:
stage: build
script:
- microdnf install -y cmake ninja-build mingw64-pkg-config mingw64-libvorbis mingw64-SDL2 mingw64-fontconfig mingw64-libwebp mingw64-dlfcn mingw64-gcc-c++ > /dev/null
- mingw64-cmake -GNinja -Bbuild-debug -DCMAKE_BUILD_TYPE=Debug
- ninja -C build-debug
- mingw64-cmake -GNinja -Bbuild-release -DCMAKE_BUILD_TYPE=Release
- ninja -C build-release
android:
image: registry.gitlab.com/jhasse/android-ndk-docker:r27b
stage: build
script:
- make -C android
steamos:
image: registry.gitlab.steamos.cloud/steamrt/sniper/sdk
stage: build
script:
- apt-get update
- apt-get install -y libboost-dev libc++abi-16-dev libc++-16-dev clang-16
- export LDFLAGS=-static-libstdc++
- export CXXFLAGS=-stdlib=libc++
- export CC=clang-16
- export CXX=clang++-16
- cmake -Bbuild-steamos -GNinja -DCMAKE_BUILD_TYPE=Debug
- cd build-steamos
- ninja
- DEBIAN_FRONTEND=noninteractive apt-get install -y xserver-xorg-video-dummy >/dev/null
- Xorg -config ../data/xorg.conf &>/dev/null &
- sleep 1 # wait for Xorg to boot up
- DISPLAY=:0 ./jngl-unittest
- cd -
- cmake -Bbuild-steamos-release -GNinja -DCMAKE_BUILD_TYPE=Release -DJNGL_VIDEO=0 -DJNGL_BUILD_WEBP_FROM_SOURCE=1 -DBUILD_SHARED_LIBS=0
- cd build-steamos-release
- ninja
- DISPLAY=:0 ./jngl-unittest
web:
image: emscripten/emsdk:3.1.61
stage: build
script:
- emcmake cmake -Bbuild-web
- cp -r data build-web/
- cd build-web
- make -j$(nproc)
- mkdir -p ../public/demo
- mv jngl-test.html ../public/demo
- mv jngl-test.wasm ../public/demo
- mv jngl-test.js ../public/demo
- mv jngl-test.data ../public/demo
artifacts:
paths:
- public/demo
# pages:
# stage: deploy
# dependencies:
# - web
# script:
# - microdnf install -y doxygen cmake make tar xz git texlive-latex texlive-newunicodechar texlive-dvips pdf2svg ghostscript >/dev/null
# - cd doc
# - cmake .
# - make
# - doxygen
# - mv ../public __tmp
# - mv html ../public
# - mv __tmp/demo ../public
# - rm -r __tmp
# artifacts:
# paths:
# - public
# only:
# - master