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 "Doxygen
Coverage" > public/index.html <<: *job-pages