-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy path.gitlab-ci.yml
133 lines (124 loc) · 4.09 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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
variables:
GIT_SUBMODULE_STRATEGY: normal
stages:
- test
- build
- pages
tests:
stage: test
before_script:
- apt-get update -qq
- apt-get install -y -qq libsdl1.2-dev libpng-dev libsdl-ttf2.0-dev libsdl-image1.2-dev liblua5.3-dev
script:
- "CFLAGS=-fsanitize=address LDFLAGS=-fsanitize=address OPTIM=0 make check || exit 1"
artifacts:
reports:
junit: test-report.xml
checkversions:
stage: test
allow_failure: true
script:
- "make -C 3rdparty/ checkversions && test ! -f 3rdparty/check-version-failed || exit 1"
job_linux:
stage: build
before_script:
- apt-get update -qq && apt-get install -y -qq zip
- apt-get install -y -qq libsdl1.2-dev libpng-dev libsdl-ttf2.0-dev libsdl-image1.2-dev liblua5.3-dev
- apt-get install -y -qq libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev doxygen graphviz
script:
- "make -j3 || exit 1"
- "make ziprelease || exit 1"
- "API=sdl2 make -j3 && API=sdl2 make ziprelease || exit 1"
- "make docarchive || exit 1"
after_script:
- "echo $CI_JOB_ID > LINUX_JOB_ID"
artifacts:
paths:
- "*.zip"
- "grafx2*.tgz"
- "VERSION"
- "LINUX_JOB_ID"
pages:
stage: pages
script:
- "NOLUA=1 API=x11 make htmldoc"
- "mkdir -p public/htmldoc && cp doc/html/* public/htmldoc/"
- "cp share/grafx2/gfx2.png public/"
- "./.gitlab-page.sh"
- "cd public && tar xzf ../grafx2*doxygen.tgz"
artifacts:
paths:
- public
only:
- master
- gitlab-pages
job_win32:
stage: build
before_script:
- apt-get update -qq && apt-get install -y -qq zip dos2unix
- apt-get install -y -qq gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-tools nsis
script:
- "WIN32CROSS=1 make 3rdparty -j2 || exit 1"
- "WIN32CROSS=1 make -j2 || exit 1"
- "WIN32CROSS=1 make ziprelease || exit 1"
- "WIN32CROSS=1 make win32installer || exit 1"
- "WIN32CROSS=1 API=win32 make -j2 || exit 1"
- "WIN32CROSS=1 API=win32 make ziprelease || exit 1"
- "WIN32CROSS=1 API=win32 make win32installer || exit 1"
- "WIN32CROSS=1 API=sdl2 make 3rdparty -j2 || exit 1"
- "WIN32CROSS=1 API=sdl2 make -j2 || exit 1"
- "WIN32CROSS=1 API=sdl2 make ziprelease || exit 1"
- "WIN32CROSS=1 API=sdl2 make win32installer || exit 1"
after_script:
- "echo $CI_JOB_ID > WIN32_JOB_ID"
artifacts:
paths:
- "*.zip"
- "install/grafx2*.exe"
- "WIN32_JOB_ID"
job_atari:
stage: build
before_script:
- apt-get update -qq && apt-get install -y -qq zip dos2unix lsb-release
- "sh ./.install-cross-mint.sh"
script:
- "ATARICROSS=1 make 3rdparty -j2 || exit 1"
- "ATARICROSS=1 make -j2 || exit 1"
- "ATARICROSS=1 make ziprelease || exit 1"
after_script:
- "echo $CI_JOB_ID > ATARI_JOB_ID"
artifacts:
paths:
- "*.zip"
- "ATARI_JOB_ID"
job_gp2x:
stage: build
before_script:
- dpkg --add-architecture i386
- apt-get update -qq && apt-get install -y -qq zip dos2unix
- apt-get install -y -qq multiarch-support libc6:i386
- "sh ./.install-gp2x-toolchain.sh"
script:
- "NOLUA=1 GP2XCROSS=1 make -j2 grafx2 || exit 1"
- "NOLUA=1 GP2XCROSS=1 make ziprelease || exit 1"
after_script:
- "echo $CI_JOB_ID > GP2X_JOB_ID"
artifacts:
paths:
- "*.zip"
- "GP2X_JOB_ID"
job_switch:
stage: build
image: devkitpro/devkita64
before_script:
- apt-get update -qq && apt-get install -y -qq build-essential libpng-dev zip dos2unix
- "export PATH=$PATH:$DEVKITPRO/portlibs/switch/bin"
script:
- "SWITCH=1 make -j2 grafx2 || exit 1"
- "SWITCH=1 make ziprelease || exit 1"
after_script:
- "echo $CI_JOB_ID > SWITCH_JOB_ID"
artifacts:
paths:
- "*.zip"
- "SWITCH_JOB_ID"