blob: 66896894652049afe8bb05ca0b758e20a9f200e0 (
plain) (
tree)
|
|
stages:
- lint
- prebuild
- build
- deploy
# with :; prevent from run it on windows
before_script:
- ":; uname -a"
- ":; cat /etc/os-release"
- ":; pwd"
- ":; cat /proc/sys/kernel/core_pattern"
- ":; mkdir logs || true"
- ":; ${UPDATEREPOS}"
- ":; ${DOCKERRETRY} ${PMUPDATE} >logs/apt.log"
- ":; ${DOCKERRETRY} ${PMINSTALL} ${PACKAGES} >>logs/apt.log"
image: debian:unstable
variables:
GET_SOURCES_ATTEMPTS: "5"
ARTIFACT_DOWNLOAD_ATTEMPTS: "5"
UPDATEREPOS: "tools/ci/scripts/updaterepos.sh"
PMUPDATE: "apt-get update"
PMINSTALL: "apt-get install -y -qq"
DOCKERRETRY: "./tools/ci/scripts/dockerretry.sh"
GIT_DEPTH: "1"
.job-push: &job-push
artifacts:
paths:
- logs
when: always
expire_in: 3 week
except:
- triggers
dependencies: []
.job-always: &job-always
artifacts:
paths:
- logs
when: always
expire_in: 3 week
dependencies: []
.job-pages: &job-pages
artifacts:
paths:
- logs
- public
when: always
expire_in: 1 day
dependencies:
- doxygen
- gcov_gcc6
# stage: lint
mplint:
stage: lint
script:
- ./tools/ci/jobs/mplint.sh src
- ./tools/ci/jobs/mplint.sh po
- ./tools/ci/jobs/mplint.sh data
<<: *job-push
variables:
PACKAGES: gcc g++ git
make autoconf automake autopoint gettext
tags:
- docker
linters:
stage: lint
script:
- ./tools/ci/jobs/pngcheck.sh
- ./tools/ci/jobs/imagemagiccheck.sh
- ./tools/ci/jobs/cpplint.sh
- ./tools/ci/jobs/nsiqcppstyle.sh
image: debian:buster
<<: *job-push
variables:
PACKAGES: python wget pngcheck imagemagick git grep
tags:
- docker
# stage: prebuild
clang-3.9:
stage: prebuild
script:
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/clang39.sh
- ./tools/ci/scripts/runtests.sh 2
- ./tools/ci/scripts/rundyecmd.sh
image: debian:stretch
<<: *job-push
variables:
PACKAGES: clang-3.9 libc++-dev libc++abi-dev
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
gdb valgrind netcat-openbsd procps
tags:
- docker
clang-11.0:
stage: prebuild
script:
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/clang110.sh
- ./tools/ci/scripts/runtests.sh 2
- ./tools/ci/scripts/rundyecmd.sh
image: debian:stretch
<<: *job-push
variables:
PACKAGES: clang-11 libc++-dev libc++abi-dev
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
gdb valgrind netcat-openbsd procps
tags:
- docker
gcc-5_sdl2:
stage: prebuild
script:
- ./tools/ci/jobs/gcc5_sdl2.sh
- ./tools/ci/scripts/rundyecmd.sh
- ./tools/ci/scripts/runtests.sh
- ./tools/ci/jobs/gcc5_sdl2_c++11.sh
- ./tools/ci/scripts/runtests.sh 1
<<: *job-push
image: ubuntu:xenial
variables:
PACKAGES: gcc-5 g++-5
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
gdb valgrind netcat-openbsd procps
tags:
- docker
gcc-5_h_all:
stage: prebuild
script:
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -I/usr/include/SDL
- ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_LIBXML -I/usr/include/SDL
- ./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
- ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DTMWA_SUPPORT -DENABLE_NLS -DENABLE_LIBXML -I/usr/include/SDL
- ./tools/ci/jobs/gcc5_h.sh -std=c++0x -DDEBUGBUILD -DENABLE_NLS -DUSE_OPENGL -DENABLE_LIBXML -I/usr/include/SDL
<<: *job-push
image: ubuntu:xenial
variables:
PACKAGES: gcc-5 g++-5
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
tags:
- docker
gcc-6:
stage: prebuild
script:
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/gcc6.sh
- ./tools/ci/scripts/runtests.sh 1
- ./tools/ci/scripts/rundyecmd.sh
image: debian:stretch
<<: *job-push
variables:
PACKAGES: gcc-6 g++-6
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
gdb valgrind netcat-openbsd procps
tags:
- docker
gcc-6_default:
stage: prebuild
script:
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/any_compiler.sh --enable-werror
- ./tools/ci/scripts/runtests.sh 1
- ./tools/ci/scripts/rundyecmd.sh
image: debian:stretch
<<: *job-push
variables:
LOGFILE: gcc6.log
CC: gcc-6
CXX: g++-6
CXXFLAGS: "-Wall -Wextra"
PACKAGES: gcc-6 g++-6
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
gdb valgrind netcat-openbsd procps
tags:
- docker
gcc-8:
stage: prebuild
script:
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/gcc8.sh
- ./tools/ci/scripts/runtests.sh 1
- ./tools/ci/scripts/rundyecmd.sh
image: debian:buster
<<: *job-push
variables:
PACKAGES: gcc-8 g++-8
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
gdb valgrind netcat-openbsd procps
tags:
- docker
gcc-8_unittestsbin:
stage: prebuild
script:
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/gcc8_silent.sh --enable-unittestsbin --without-manaplusgame --without-dyecmd
image: debian:buster
<<: *job-push
variables:
PACKAGES: gcc-8 g++-8
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
tags:
- docker
gcc-10_default:
stage: prebuild
script:
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/any_compiler.sh --enable-werror
- ./tools/ci/scripts/runtests.sh 2
- ./tools/ci/scripts/rundyecmd.sh
<<: *job-push
variables:
LOGFILE: gcc10.log
CC: gcc-10
CXX: g++-10
CXXFLAGS: "-Wall -Wextra"
PACKAGES: gcc-10 g++-10
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
gdb valgrind netcat-openbsd procps
tags:
- docker
gcc-10_game_only:
stage: prebuild
script:
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/gcc10.sh --without-dyecmd
- ./tools/ci/scripts/runtests.sh 2
<<: *job-push
variables:
PACKAGES: gcc-10 g++-10
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
gdb valgrind netcat-openbsd procps
tags:
- docker
gcc-10_dyecmd_only:
stage: prebuild
script:
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/gcc10.sh --without-manaplusgame
- ./tools/ci/scripts/rundyecmd.sh
<<: *job-push
variables:
PACKAGES: gcc-10 g++-10
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
tags:
- docker
gcc-12_default:
stage: prebuild
script:
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/any_compiler.sh --enable-werror
- ./tools/ci/scripts/runtests.sh 2
- ./tools/ci/scripts/rundyecmd.sh
<<: *job-push
variables:
LOGFILE: gcc12.log
CC: gcc-12
CXX: g++-12
CXXFLAGS: "-Wall -Wextra"
PACKAGES: gcc-12 g++-12
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
gdb valgrind netcat-openbsd procps
gcc-snapshot_sdl2:
stage: prebuild
script:
- export PATH="/usr/lib/gcc-snapshot/bin:/usr/lib/gcc-snapshot/lib:$PATH"
- export LD_LIBRARY_PATH="/usr/lib/gcc-snapshot/lib:$LD_LIBRARY_PATH"
- ./tools/ci/jobs/gccsnapshot_sdl2.sh
- ./tools/ci/scripts/runtests.sh
<<: *job-push
variables:
ABOUTYOFFSET: 380
PACKAGES: gcc-snapshot
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
git gdb valgrind netcat-openbsd procps
tags:
- docker
# stage: build
gcov_gcc6:
stage: build
image: debian:stretch
script:
- mkdir -p coverage/
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/gcc6_tests_gcov.sh --without-dyecmd --without-manaplusgame
variables:
PACKAGES: gcc-6 g++-6
make autoconf automake autopoint gettext
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
gcovr
git-core valgrind
coverage: /^\s*lines:\s*\d+.\d+\%/
artifacts:
paths:
- coverage
expire_in: 2 days
name: ${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}
reports:
coverage_report:
coverage_format: cobertura
path: coverage/gcc-6.xml
tags:
- docker
doxygen:
stage: build
image: debian:stretch
script:
- ./tools/ci/scripts/patchsdl1.sh
- ./tools/ci/jobs/doxygen.sh
variables:
PACKAGES: doxygen graphviz
libxml2-dev libcurl4-gnutls-dev libpng-dev
libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
git-core
artifacts:
paths:
- doxygen
expire_in: 2 days
tags:
- docker
# stage: deploy
pages:
stage: deploy
image: debian:stretch
script:
- mkdir -p public
- cp -r doxygen/html/ public/doxygen/
- cp -r coverage/ public/coverage/
- 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
<<: *job-pages
|