.gitlab-ci.yml 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698
  1. stages:
  2. - lint
  3. - prebuild
  4. - build
  5. - deploy
  6. # with :; prevent from run it on windows
  7. before_script:
  8. - ":; uname -a"
  9. - ":; cat /etc/os-release"
  10. - ":; pwd"
  11. - ":; cat /proc/sys/kernel/core_pattern"
  12. - ":; mkdir logs || true"
  13. - ":; ${UPDATEREPOS}"
  14. - ":; ${DOCKERRETRY} ${PMUPDATE} >logs/apt.log"
  15. - ":; ${DOCKERRETRY} ${PMINSTALL} ${PACKAGES} >>logs/apt.log"
  16. image: debian:unstable
  17. variables:
  18. GET_SOURCES_ATTEMPTS: "5"
  19. ARTIFACT_DOWNLOAD_ATTEMPTS: "5"
  20. UPDATEREPOS: "tools/ci/scripts/updaterepos.sh"
  21. PMUPDATE: "apt-get update"
  22. PMINSTALL: "apt-get install -y -qq"
  23. DOCKERRETRY: "./tools/ci/scripts/dockerretry.sh"
  24. GIT_DEPTH: "1"
  25. .job-push: &job-push
  26. artifacts:
  27. paths:
  28. - logs
  29. when: always
  30. expire_in: 3 week
  31. except:
  32. - triggers
  33. dependencies: []
  34. .job-always: &job-always
  35. artifacts:
  36. paths:
  37. - logs
  38. when: always
  39. expire_in: 3 week
  40. dependencies: []
  41. .job-pages: &job-pages
  42. artifacts:
  43. paths:
  44. - logs
  45. - public
  46. when: always
  47. expire_in: 1 day
  48. dependencies:
  49. - doxygen
  50. - gcov_gcc6
  51. # pre build
  52. gcc-5_c++11_i386:
  53. stage: prebuild
  54. script:
  55. - ./tools/ci/scripts/patchsdl1.sh
  56. - ./tools/ci/jobs/gcc5_c++11.sh
  57. - ./tools/ci/scripts/runtests.sh
  58. image: i386/ubuntu:xenial
  59. <<: *job-push
  60. variables:
  61. PACKAGES: gcc-5 g++-5
  62. make autoconf automake autopoint gettext
  63. libxml2-dev libcurl4-gnutls-dev libpng-dev
  64. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  65. gdb valgrind netcat-openbsd procps
  66. tags:
  67. - docker
  68. gcc-8-i386:
  69. stage: prebuild
  70. script:
  71. - ./tools/ci/scripts/patchsdl1.sh
  72. - ./tools/ci/jobs/gcc8.sh
  73. - ./tools/ci/scripts/runtests.sh
  74. image: i386/debian:buster
  75. <<: *job-push
  76. variables:
  77. PACKAGES: gcc-8 g++-8
  78. make autoconf automake autopoint gettext
  79. libxml2-dev libcurl4-gnutls-dev libpng-dev
  80. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  81. gdb valgrind netcat-openbsd procps
  82. tags:
  83. - docker
  84. gcc-snapshot_sdl2:
  85. stage: prebuild
  86. script:
  87. - export PATH="/usr/lib/gcc-snapshot/bin:/usr/lib/gcc-snapshot/lib:$PATH"
  88. - export LD_LIBRARY_PATH="/usr/lib/gcc-snapshot/lib:$LD_LIBRARY_PATH"
  89. - ./tools/ci/jobs/gccsnapshot_sdl2.sh
  90. - ./tools/ci/scripts/runtests.sh
  91. <<: *job-push
  92. variables:
  93. ABOUTYOFFSET: 380
  94. PACKAGES: gcc-snapshot
  95. make autoconf automake autopoint gettext
  96. libxml2-dev libcurl4-gnutls-dev libpng-dev
  97. libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
  98. git gdb valgrind netcat-openbsd procps
  99. tags:
  100. - docker
  101. gcc-10-i386:
  102. stage: prebuild
  103. script:
  104. - ./tools/ci/scripts/patchsdl1.sh
  105. - ./tools/ci/jobs/gcc10.sh
  106. - ./tools/ci/scripts/runtests.sh
  107. - ./tools/ci/scripts/rundyecmd.sh
  108. image: i386/debian:unstable
  109. <<: *job-push
  110. variables:
  111. PACKAGES: gcc-10 g++-10
  112. make autoconf automake autopoint gettext
  113. libxml2-dev libcurl4-gnutls-dev libpng-dev
  114. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  115. gdb valgrind netcat-openbsd procps
  116. tags:
  117. - docker
  118. clang-3.9:
  119. stage: prebuild
  120. script:
  121. - ./tools/ci/scripts/patchsdl1.sh
  122. - ./tools/ci/jobs/clang39.sh
  123. - ./tools/ci/scripts/runtests.sh
  124. - ./tools/ci/scripts/rundyecmd.sh
  125. image: debian:stretch
  126. <<: *job-push
  127. variables:
  128. PACKAGES: clang-3.9 libc++-dev libc++abi-dev
  129. make autoconf automake autopoint gettext
  130. libxml2-dev libcurl4-gnutls-dev libpng-dev
  131. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  132. gdb valgrind netcat-openbsd procps
  133. gcc-6:
  134. stage: prebuild
  135. script:
  136. - ./tools/ci/scripts/patchsdl1.sh
  137. - ./tools/ci/jobs/gcc6.sh
  138. - ./tools/ci/scripts/runtests.sh
  139. - ./tools/ci/scripts/rundyecmd.sh
  140. image: debian:stretch
  141. <<: *job-push
  142. variables:
  143. PACKAGES: gcc-6 g++-6
  144. make autoconf automake autopoint gettext
  145. libxml2-dev libcurl4-gnutls-dev libpng-dev
  146. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  147. gdb valgrind netcat-openbsd procps
  148. gcc-8:
  149. stage: prebuild
  150. script:
  151. - ./tools/ci/scripts/patchsdl1.sh
  152. - ./tools/ci/jobs/gcc8.sh
  153. - ./tools/ci/scripts/runtests.sh
  154. - ./tools/ci/scripts/rundyecmd.sh
  155. image: debian:buster
  156. <<: *job-push
  157. variables:
  158. PACKAGES: gcc-8 g++-8
  159. make autoconf automake autopoint gettext
  160. libxml2-dev libcurl4-gnutls-dev libpng-dev
  161. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  162. gdb valgrind netcat-openbsd procps
  163. gcc-6_default:
  164. stage: prebuild
  165. script:
  166. - ./tools/ci/scripts/patchsdl1.sh
  167. - ./tools/ci/jobs/any_compiler.sh --enable-werror
  168. - ./tools/ci/scripts/runtests.sh
  169. - ./tools/ci/scripts/rundyecmd.sh
  170. image: debian:stretch
  171. <<: *job-push
  172. variables:
  173. LOGFILE: gcc6.log
  174. CC: gcc-6
  175. CXX: g++-6
  176. CXXFLAGS: "-Wall -Wextra"
  177. PACKAGES: gcc-6 g++-6
  178. make autoconf automake autopoint gettext
  179. libxml2-dev libcurl4-gnutls-dev libpng-dev
  180. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  181. gdb valgrind netcat-openbsd procps
  182. gcc-10_default:
  183. stage: prebuild
  184. script:
  185. - ./tools/ci/scripts/patchsdl1.sh
  186. - ./tools/ci/jobs/any_compiler.sh --enable-werror
  187. - ./tools/ci/scripts/runtests.sh
  188. - ./tools/ci/scripts/rundyecmd.sh
  189. <<: *job-push
  190. variables:
  191. LOGFILE: gcc10.log
  192. CC: gcc-10
  193. CXX: g++-10
  194. CXXFLAGS: "-Wall -Wextra"
  195. PACKAGES: gcc-10 g++-10
  196. make autoconf automake autopoint gettext
  197. libxml2-dev libcurl4-gnutls-dev libpng-dev
  198. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  199. gdb valgrind netcat-openbsd procps
  200. mxe_gcc6_shared_32:
  201. only:
  202. - branches@manaplus/manaplus
  203. stage: prebuild
  204. script:
  205. - ls /mxe
  206. - ./tools/ci/jobs/mxe_gcc6.sh
  207. <<: *job-push
  208. image: registry.gitlab.com/manaplus/mxe:gcc6_shared_32
  209. variables:
  210. PACKAGES: bash
  211. CROSS: i686-w64-mingw32.shared
  212. tags:
  213. - docker
  214. mxe_gcc6_shared_64:
  215. only:
  216. - branches@manaplus/manaplus
  217. stage: prebuild
  218. script:
  219. - ls /mxe
  220. - ./tools/ci/jobs/mxe_gcc6.sh
  221. <<: *job-push
  222. image: registry.gitlab.com/manaplus/mxe:gcc6_shared_64
  223. variables:
  224. PACKAGES: bash
  225. CROSS: x86_64-w64-mingw32.shared
  226. tags:
  227. - docker
  228. gcc-5_sdl2:
  229. stage: prebuild
  230. script:
  231. - ./tools/ci/jobs/gcc5_sdl2.sh
  232. - ./tools/ci/scripts/rundyecmd.sh
  233. - ./tools/ci/scripts/runtests.sh
  234. - ./tools/ci/jobs/gcc5_sdl2_c++11.sh
  235. - ./tools/ci/scripts/runtests.sh
  236. <<: *job-push
  237. image: ubuntu:xenial
  238. variables:
  239. PACKAGES: gcc-5 g++-5
  240. make autoconf automake autopoint gettext
  241. libxml2-dev libcurl4-gnutls-dev libpng-dev
  242. libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
  243. gdb valgrind netcat-openbsd procps
  244. gcc-10_game_only:
  245. stage: prebuild
  246. script:
  247. - ./tools/ci/scripts/patchsdl1.sh
  248. - ./tools/ci/jobs/gcc10.sh --without-dyecmd
  249. - ./tools/ci/scripts/runtests.sh
  250. <<: *job-push
  251. variables:
  252. PACKAGES: gcc-10 g++-10
  253. make autoconf automake autopoint gettext
  254. libxml2-dev libcurl4-gnutls-dev libpng-dev
  255. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  256. gdb valgrind netcat-openbsd procps
  257. gcc-10_dyecmd_only:
  258. stage: prebuild
  259. script:
  260. - ./tools/ci/scripts/patchsdl1.sh
  261. - ./tools/ci/jobs/gcc10.sh --without-manaplusgame
  262. - ./tools/ci/scripts/rundyecmd.sh
  263. <<: *job-push
  264. variables:
  265. PACKAGES: gcc-10 g++-10
  266. make autoconf automake autopoint gettext
  267. libxml2-dev libcurl4-gnutls-dev libpng-dev
  268. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  269. gcc-8_unittestsbin:
  270. stage: prebuild
  271. script:
  272. - ./tools/ci/scripts/patchsdl1.sh
  273. - ./tools/ci/jobs/gcc8_silent.sh --enable-unittestsbin --without-manaplusgame --without-dyecmd
  274. image: debian:buster
  275. <<: *job-push
  276. variables:
  277. PACKAGES: gcc-8 g++-8
  278. make autoconf automake autopoint gettext
  279. libxml2-dev libcurl4-gnutls-dev libpng-dev
  280. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  281. mplint:
  282. stage: lint
  283. script:
  284. - ./tools/ci/jobs/mplint.sh src
  285. - ./tools/ci/jobs/mplint.sh po
  286. - ./tools/ci/jobs/mplint.sh data
  287. <<: *job-push
  288. variables:
  289. PACKAGES: gcc g++ git
  290. make autoconf automake autopoint gettext
  291. linters:
  292. stage: lint
  293. script:
  294. - ./tools/ci/jobs/pngcheck.sh
  295. - ./tools/ci/jobs/imagemagiccheck.sh
  296. - ./tools/ci/jobs/cpplint.sh
  297. - ./tools/ci/jobs/nsiqcppstyle.sh
  298. image: debian:buster
  299. <<: *job-push
  300. variables:
  301. PACKAGES: python wget pngcheck imagemagick git grep
  302. gcc-5_h_all:
  303. stage: prebuild
  304. script:
  305. - ./tools/ci/scripts/patchsdl1.sh
  306. - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -I/usr/include/SDL
  307. - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_LIBXML -I/usr/include/SDL
  308. - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -DUNITTESTS -DUNITTESTS_CATCH -DUNITTESTS_EMBED -I/usr/include/SDL
  309. - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DENABLE_LIBXML -I/usr/include/SDL
  310. - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -I/usr/include/SDL
  311. <<: *job-push
  312. image: ubuntu:xenial
  313. variables:
  314. PACKAGES: gcc-5 g++-5
  315. make autoconf automake autopoint gettext
  316. libxml2-dev libcurl4-gnutls-dev libpng-dev
  317. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  318. gcc-5_h_all_i386:
  319. stage: prebuild
  320. script:
  321. - ./tools/ci/scripts/patchsdl1.sh
  322. - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -I/usr/include/SDL
  323. - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_LIBXML -I/usr/include/SDL
  324. - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -DUNITTESTS -DUNITTESTS_CATCH -DUNITTESTS_EMBED -I/usr/include/SDL
  325. - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DENABLE_LIBXML -I/usr/include/SDL
  326. - ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -I/usr/include/SDL
  327. image: i386/ubuntu:xenial
  328. <<: *job-push
  329. variables:
  330. PACKAGES: gcc-5 g++-5
  331. make autoconf automake autopoint gettext
  332. libxml2-dev libcurl4-gnutls-dev libpng-dev
  333. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  334. tags:
  335. - docker
  336. gcov_gcc6:
  337. stage: build
  338. image: debian:stretch
  339. script:
  340. - mkdir -p coverage/
  341. - ./tools/ci/scripts/patchsdl1.sh
  342. - ./tools/ci/jobs/gcc6_tests_gcov.sh --without-dyecmd --without-manaplusgame
  343. variables:
  344. PACKAGES: gcc-6 g++-6
  345. make autoconf automake autopoint gettext
  346. libxml2-dev libcurl4-gnutls-dev libpng-dev
  347. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  348. gcovr
  349. git-core valgrind
  350. coverage: /^\s*lines:\s*\d+.\d+\%/
  351. artifacts:
  352. paths:
  353. - coverage
  354. expire_in: 2 days
  355. name: ${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}
  356. reports:
  357. coverage_report:
  358. coverage_format: cobertura
  359. path: coverage/gcc-6.xml
  360. tags:
  361. - docker
  362. doxygen:
  363. stage: build
  364. image: debian:stretch
  365. script:
  366. - ./tools/ci/scripts/patchsdl1.sh
  367. - ./tools/ci/jobs/doxygen.sh
  368. variables:
  369. PACKAGES: doxygen graphviz
  370. libxml2-dev libcurl4-gnutls-dev libpng-dev
  371. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  372. git-core
  373. artifacts:
  374. paths:
  375. - doxygen
  376. expire_in: 2 days
  377. tags:
  378. - docker
  379. pages:
  380. stage: deploy
  381. image: debian:stretch
  382. script:
  383. - mkdir -p public
  384. - cp -r doxygen/html/ public/doxygen/
  385. - cp -r coverage/ public/coverage/
  386. - echo "<DOCTYPE html><head></head><body><a href='./doxygen/index.html'>Doxygen</a><br><a href='./coverage/gcc-6.html'>Coverage</a></body>" > public/index.html
  387. <<: *job-pages
  388. # tests
  389. triggers:
  390. stage: build
  391. only:
  392. - branches@manaplus/manaplus
  393. script:
  394. - ./tools/ci/scripts/triggers.sh
  395. <<: *job-push
  396. variables:
  397. PACKAGES: curl
  398. # disabled due gitlab bug
  399. .gcc-10_SDL_SDL-1.2_sanitize2_test:
  400. stage: build
  401. script:
  402. - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  403. - echo /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvz}
  404. - export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.4
  405. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} env
  406. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc10_sanitize_tests.sh --enable-unittests=yes --without-manaplusgame --without-dyecmd
  407. - export LD_PRELOAD
  408. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests
  409. - ldd ./src/manaplustests | grep "libasan"
  410. <<: *job-push
  411. variables:
  412. LIBNAME: SDL
  413. LIBVERSION: SDL-1.2_asan
  414. PACKAGES: gcc-10 g++-10
  415. make autoconf automake autopoint gettext pkg-config
  416. libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev
  417. valgrind
  418. wget unzip
  419. JOBS: 1
  420. ASAN_OPTIONS: "detect_leaks=0"
  421. runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh
  422. runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh
  423. tags:
  424. - docker
  425. # disabled due gitlab bug
  426. .gcc-10_SDL_default_sanitize2_test:
  427. stage: build
  428. script:
  429. - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  430. - export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.4
  431. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc10_sanitize_tests.sh --enable-unittests=yes --with-sdl2 --without-manaplusgame --without-dyecmd
  432. - export LD_PRELOAD
  433. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests
  434. - ldd ./src/manaplustests | grep "libasan"
  435. <<: *job-push
  436. variables:
  437. LIBNAME: SDL
  438. LIBVERSION: default_asan
  439. PACKAGES: gcc-10 g++-10
  440. make autoconf automake autopoint gettext pkg-config
  441. libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
  442. valgrind
  443. wget unzip
  444. JOBS: 1
  445. ASAN_OPTIONS: "detect_leaks=0"
  446. runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh
  447. runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh
  448. tags:
  449. - docker
  450. # disabled due gitlab bug
  451. .gcc-10_SDL_SDL-1.2_sanitize_test:
  452. stage: build
  453. script:
  454. - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  455. - echo /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvz}
  456. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} env
  457. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc10_sanitize_tests.sh --enable-unittests=yes --without-manaplusgame --without-dyecmd
  458. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests
  459. - ldd ./src/manaplustests | grep "libasan"
  460. <<: *job-push
  461. variables:
  462. LIBNAME: SDL
  463. LIBVERSION: SDL-1.2
  464. PACKAGES: gcc-10 g++-10
  465. make autoconf automake autopoint gettext pkg-config
  466. libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev
  467. valgrind
  468. wget unzip
  469. runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh
  470. runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh
  471. tags:
  472. - docker
  473. # disabled due gitlab bug
  474. .gcc-10_SDL_default_sanitize_test:
  475. stage: build
  476. script:
  477. - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  478. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc10_sanitize_tests.sh --enable-unittests=yes --with-sdl2 --without-manaplusgame --without-dyecmd
  479. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests
  480. - ldd ./src/manaplustests | grep "libasan"
  481. <<: *job-push
  482. variables:
  483. LIBNAME: SDL
  484. LIBVERSION: default
  485. PACKAGES: gcc-10 g++-10
  486. make autoconf automake autopoint gettext pkg-config
  487. libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
  488. valgrind
  489. wget unzip
  490. runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh
  491. runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh
  492. tags:
  493. - docker
  494. # disabled due gitlab bug
  495. .gcc-10_SDL_SDL-1.2_old_sanitize_test:
  496. stage: build
  497. script:
  498. - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  499. - echo /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvz}
  500. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} env
  501. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc10_sanitize_tests.sh --enable-unittests=yes --without-manaplusgame --without-dyecmd
  502. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests
  503. - ldd ./src/manaplustests | grep "libasan"
  504. <<: *job-push
  505. variables:
  506. LIBNAME: SDL
  507. LIBVERSION: SDL-1.2_old
  508. PACKAGES: gcc-10 g++-10
  509. make autoconf automake autopoint gettext pkg-config
  510. libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev
  511. valgrind
  512. libjpeg-dev libtiff-dev
  513. wget unzip
  514. runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_v1.2.5.sh
  515. runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_v2.9.1.sh
  516. POST_CXXFLAGS: "-Wno-undef"
  517. tags:
  518. - docker
  519. # disabled due gitlab bug
  520. .gcc-10_SDL_default_old_sanitize_test:
  521. stage: build
  522. script:
  523. - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  524. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc10_sanitize_tests.sh --enable-unittests=yes --with-sdl2 --without-manaplusgame --without-dyecmd
  525. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests
  526. - ldd ./src/manaplustests | grep "libasan"
  527. <<: *job-push
  528. variables:
  529. LIBNAME: SDL
  530. LIBVERSION: default_old
  531. PACKAGES: gcc-10 g++-10
  532. make autoconf automake autopoint gettext pkg-config
  533. libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
  534. valgrind
  535. libjpeg-dev libtiff-dev
  536. wget unzip
  537. runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_v1.2.5.sh
  538. runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_v2.9.1.sh
  539. POST_CXXFLAGS: "-Wno-undef"
  540. tags:
  541. - docker
  542. # error compilation. cant find SDL.
  543. .gcc-10_zlib_ng_develop:
  544. stage: build
  545. script:
  546. - ./tools/ci/scripts/patchsdl1.sh
  547. - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  548. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/jobs/gcc10.sh
  549. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/scripts/checkldd.sh src/manaplus
  550. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ./tools/ci/scripts/runtests.sh
  551. <<: *job-push
  552. variables:
  553. LIBNAME: zlib_ng
  554. LIBVERSION: develop
  555. PACKAGES: gcc-10 g++-10
  556. make autoconf automake autopoint gettext
  557. libxml2-dev libcurl4-gnutls-dev libpng-dev
  558. libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
  559. wget unzip gdb valgrind netcat-openbsd procps
  560. tags:
  561. - docker
  562. # disabled due gitlab bug
  563. .gcc-10_SDL_SDL-1.2_sanitize:
  564. stage: build
  565. script:
  566. - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  567. - echo /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvz}
  568. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} env
  569. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc10_sanitize.sh
  570. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/runtests.sh
  571. - ldd ./src/manaplus | grep "libasan"
  572. <<: *job-push
  573. variables:
  574. LIBNAME: SDL
  575. LIBVERSION: SDL-1.2
  576. PACKAGES: gcc-10 g++-10
  577. make autoconf automake autopoint gettext pkg-config
  578. libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev
  579. valgrind netcat-openbsd
  580. wget unzip
  581. runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh
  582. runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh
  583. tags:
  584. - docker
  585. # disabled due gitlab bug
  586. .gcc-10_SDL_default_sanitize:
  587. stage: build
  588. script:
  589. - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  590. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc10_sanitize.sh --with-sdl2
  591. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/runtests.sh
  592. - ldd ./src/manaplus | grep "libasan"
  593. <<: *job-push
  594. variables:
  595. LIBNAME: SDL
  596. LIBVERSION: default
  597. PACKAGES: gcc-10 g++-10
  598. make autoconf automake autopoint gettext pkg-config
  599. libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
  600. valgrind netcat-openbsd
  601. wget unzip
  602. runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh
  603. runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh
  604. tags:
  605. - docker
  606. # disabled due gitlab bug
  607. .gcc-10_SDL_SDL-1.2_old_sanitize:
  608. stage: build
  609. script:
  610. - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  611. - echo /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvz}
  612. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} env
  613. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc10_sanitize.sh
  614. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/runtests.sh
  615. - ldd ./src/manaplus | grep "libasan"
  616. <<: *job-push
  617. variables:
  618. LIBNAME: SDL
  619. LIBVERSION: SDL-1.2_old
  620. PACKAGES: gcc-10 g++-10
  621. make autoconf automake autopoint gettext pkg-config
  622. libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev
  623. valgrind netcat-openbsd
  624. libjpeg-dev libtiff-dev
  625. wget unzip
  626. runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_v1.2.5.sh
  627. runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_v2.9.1.sh
  628. POST_CXXFLAGS: "-Wno-undef"
  629. tags:
  630. - docker
  631. # disabled due gitlab bug
  632. .gcc-10_SDL_default_old_sanitize:
  633. stage: build
  634. script:
  635. - ./tools/ci/scripts/downloadlib.sh ${LIBNAME} ${LIBVERSION}
  636. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc10_sanitize.sh --with-sdl2
  637. - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/runtests.sh
  638. - ldd ./src/manaplus | grep "libasan"
  639. <<: *job-push
  640. variables:
  641. LIBNAME: SDL
  642. LIBVERSION: default_old
  643. PACKAGES: gcc-10 g++-10
  644. make autoconf automake autopoint gettext pkg-config
  645. libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev
  646. valgrind netcat-openbsd
  647. libjpeg-dev libtiff-dev
  648. wget unzip
  649. runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_v1.2.5.sh
  650. runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_v2.9.1.sh
  651. POST_CXXFLAGS: "-Wno-undef"
  652. tags:
  653. - docker