.job-push: &job-push artifacts: paths: - logs - manaplus/logs when: always expire_in: 3 week dependencies: [] .job-always: &job-always artifacts: paths: - logs - manaplus/logs when: always expire_in: 3 week dependencies: [] # disabled due asan bug or doctest corruption .gcc-9_sanitize_doctest_tests: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_sanitize_tests.sh --enable-unittests=doctest --without-dyecmd --without-manaplusgame - ldd ./src/manaplustests | grep "libasan" <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git valgrind JOBS: 1 tags: - docker # disabled due asan bug or doctest corruption .gcc-9_sanitize_glibcdebug_doctest_tests: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_sanitize_tests.sh --enable-glibcdebug --enable-unittests=doctest --without-dyecmd --without-manaplusgame - ldd ./src/manaplustests | grep "libasan" <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git valgrind JOBS: 1 tags: - docker gcc-9_doctest_tests_i386: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests.sh --enable-unittests=doctest --without-dyecmd --without-manaplusgame image: i386/debian:unstable <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git valgrind JOBS: 1 tags: - docker gcc-9_tests_simd: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests_simd.sh --without-dyecmd --without-manaplusgame <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git valgrind tags: - docker gcc-9_tests_O0: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests_simd.sh --without-dyecmd --without-manaplusgame <<: *job-push variables: POST_CXXFLAGS: "-O0" PACKAGES: gcc-9 g++-9 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 git valgrind tags: - docker gcc-9_tests_O1: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests_simd.sh --without-dyecmd --without-manaplusgame <<: *job-push variables: POST_CXXFLAGS: "-O1" PACKAGES: gcc-9 g++-9 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 git valgrind tags: - docker gcc-9_tests_lto: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests.sh --without-dyecmd --without-manaplusgame <<: *job-push variables: POST_CXXFLAGS: "-ffast-math -O9 -flto -fwhole-program -funswitch-loops" PACKAGES: gcc-9 g++-9 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 git valgrind tags: - docker gcc-9_tests_lto_i386: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests.sh --without-dyecmd --without-manaplusgame <<: *job-push image: i386/debian:unstable variables: POST_CXXFLAGS: "-ffast-math -O9 -flto -fwhole-program -funswitch-loops" PACKAGES: gcc-9 g++-9 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 git valgrind tags: - docker gcc-9_tests_i386: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests.sh --without-dyecmd --without-manaplusgame image: i386/debian:unstable <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git valgrind tags: - docker gcc-9_tests_flags: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests.sh --without-dyecmd --without-manaplusgame --enable-glibcdebug - ./tools/ci/jobs/gcc9_tests.sh --without-dyecmd --without-manaplusgame --enable-stldebug <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git valgrind tags: - docker gcc-9_tests: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests.sh --without-dyecmd --without-manaplusgame <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git valgrind tags: - docker gcc-9_sdl2_tests_i386: stage: build script: - ./tools/ci/jobs/gcc9_tests.sh --with-sdl2 --without-dyecmd --without-manaplusgame image: i386/debian:unstable <<: *job-push variables: PACKAGES: gcc-9 g++-9 make autoconf automake autopoint gettext libxml2-dev libcurl4-gnutls-dev libpng-dev libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev git valgrind tags: - docker .gcc-9_tests_valgrind: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests.sh --without-dyecmd --without-manaplusgame || true - echo test valgrind - valgrind -q --read-var-info=yes --track-origins=yes --malloc-fill=11 --free-fill=55 --show-reachable=yes --leak-check=full --leak-resolution=high --partial-loads-ok=yes --error-limit=no ./src/manaplustests 2>logs/valg.log - grep "invalid" logs/valg.log && exit 1 || true <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git valgrind tags: - docker .gcc-9_tests_valgrind_i386: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests.sh --without-dyecmd --without-manaplusgame || true - echo test valgrind - valgrind -q --read-var-info=yes --track-origins=yes --malloc-fill=11 --free-fill=55 --show-reachable=yes --leak-check=full --leak-resolution=high --partial-loads-ok=yes --error-limit=no ./src/manaplustests 2>logs/valg.log - grep "invalid" logs/valg.log && exit 1 || true image: i386/debian:unstable <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git valgrind tags: - docker gcc-9_separate_doctest: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd - ./tools/ci/scripts/separateunittests.sh <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git python gcc-9_separate_doctest_sanitize: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd - ./tools/ci/scripts/separateunittests.sh - ldd ./src/manaplustests | grep "libasan" <<: *job-push variables: LSAN_OPTIONS: "suppressions=./tools/ci/scripts/lsansuppression_tests.txt" POST_CXXFLAGS: "-D_GLIBCXX_SANITIZE_VECTOR -fsanitize=address -fsanitize=undefined -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null -fsanitize=return -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict" PACKAGES: gcc-9 g++-9 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 git python tags: - docker gcc-9_separate_doctest_sanitize_sdl2: stage: build script: - ./tools/ci/jobs/gcc9_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd --with-sdl2 - ./tools/ci/scripts/separateunittests.sh - ldd ./src/manaplustests | grep "libasan" <<: *job-push variables: LSAN_OPTIONS: "suppressions=./tools/ci/scripts/lsansuppression_tests.txt" POST_CXXFLAGS: "-D_GLIBCXX_SANITIZE_VECTOR -fsanitize=address -fsanitize=undefined -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null -fsanitize=return -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment -fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow -fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool -fsanitize=enum -fsanitize=vptr -fsanitize=bounds-strict" PACKAGES: gcc-9 g++-9 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 python tags: - docker gcc-9_separate_doctest_i386: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd - ./tools/ci/scripts/separateunittests.sh <<: *job-push image: i386/debian:unstable variables: PACKAGES: gcc-9 g++-9 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 git python tags: - docker gcc-9_separate_doctest_sdl2_i386: stage: build script: - ./tools/ci/jobs/gcc9_silent.sh --enable-unittestsbin=doctest --without-manaplusgame --without-dyecmd --with-sdl2 - ./tools/ci/scripts/separateunittests.sh <<: *job-push image: i386/debian:unstable variables: PACKAGES: gcc-9 g++-9 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 python tags: - docker gcc-9_all_and_unittestsbin: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_silent.sh --enable-unittestsbin - ./tools/ci/scripts/runtests.sh <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git gdb valgrind netcat-openbsd procps gcc-9_systemcatch_tests: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests.sh --enable-unittests=systemcatch --without-dyecmd --without-manaplusgame <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git valgrind catch tags: - docker gcc-9_systemdoctest_tests: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests.sh --enable-unittests=systemdoctest --without-dyecmd --without-manaplusgame <<: *job-push variables: PACKAGES: gcc-9 g++-9 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 git valgrind doctest-dev tags: - docker gcc-9_unsigned_char_tests: stage: build script: - ./tools/ci/scripts/patchsdl1.sh - ./tools/ci/jobs/gcc9_tests.sh --without-dyecmd --without-manaplusgame <<: *job-push variables: POST_CXXFLAGS: "-funsigned-char" PACKAGES: gcc-9 g++-9 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 git valgrind tags: - docker gcc-9_sdl2_unsigned_char_tests: stage: build script: - ./tools/ci/jobs/gcc9_tests.sh --with-sdl2 --without-dyecmd --without-manaplusgame <<: *job-push variables: POST_CXXFLAGS: "-funsigned-char" PACKAGES: gcc-9 g++-9 make autoconf automake autopoint gettext libxml2-dev libcurl4-gnutls-dev libpng-dev libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev git valgrind tags: - docker