stages: - build - manaplus before_script: - uname -a - cat /etc/os-release - mkdir logs || true image: debian:unstable variables: GET_SOURCES_ATTEMPTS: "5" ARTIFACT_DOWNLOAD_ATTEMPTS: "5" MANAPLUS_CLONE: "git clone --branch master --depth 1 https://gitlab.com/manaplus/manaplus.git cloned" .job-artifacts: &job-artifacts artifacts: paths: - logs - cloned/logs - bin when: always expire_in: 3 months # disabled due kernel issue .SDL_SDL-1.2_asan: stage: build script: - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev - ./.ci/copyspm.sh - export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.5 - ./.ci/buildlib.sh SDL SDL-1.2 _asan - ${runenvtool} ./.ci/buildlib.sh zlib master - ${runenvtool} ./.ci/buildlib.sh SDL_gfx master - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng master - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype master - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 master - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl master - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 4.0.1 - ${runenvtool} ./.ci/buildlib.sh SDL_image SDL-1.2 - ${runenvtool} ./.ci/buildlib.sh SDL_mixer SDL-1.2 - ${runenvtool} ./.ci/buildlib.sh SDL_net SDL-1.2 - ${runenvtool} ./.ci/buildlib.sh SDL_ttf SDL-1.2 - export LD_PRELOAD - ./.ci/copyfinal.sh - grep "1.2" /usr/local/spm/bin/${installname}/lib/pkgconfig/sdl.pc variables: installname: SDL_SDL-1.2_asan runenvtool: /usr/local/spm/env/run${installname}.sh runenvtoolz: /usr/local/spm/env/runzlib_master.sh ASAN_OPTIONS: "detect_leaks=0" CXXFLAGS: "-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 -fno-omit-frame-pointer" CFLAGS: "-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 -fno-omit-frame-pointer" LDFLAGS: "-lasan -lubsan -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 -fno-omit-frame-pointer" <<: *job-artifacts SDL_SDL-1.2: stage: build script: - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libicu-dev - ./.ci/copyspm.sh - ./.ci/buildlib.sh SDL SDL-1.2 - ${runenvtool} ./.ci/buildlib.sh zlib master - ${runenvtool} ./.ci/buildlib.sh SDL_gfx master - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng master - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype VER-2-8-1 - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 master - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl master - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 4.0.1 - ${runenvtool} ./.ci/buildlib.sh SDL_image SDL-1.2 - ${runenvtool} ./.ci/buildlib.sh SDL_mixer SDL-1.2 - ${runenvtool} ./.ci/buildlib.sh SDL_net SDL-1.2 - ${runenvtool} ./.ci/buildlib.sh SDL_ttf SDL-1.2 - ./.ci/copyfinal.sh - grep "1.2" /usr/local/spm/bin/SDL_SDL-1.2/lib/pkgconfig/sdl.pc variables: installname: SDL_SDL-1.2 runenvtool: /usr/local/spm/env/run${installname}.sh runenvtoolz: /usr/local/spm/env/runzlib_master.sh <<: *job-artifacts SDL_SDL-1.2_old: stage: build script: - ./.ci/install.sh git mercurial bash gcc g++ make autoconf automake autopoint gettext libtool pkg-config cmake libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libglu1-mesa-dev libasound2-dev libicu-dev libjpeg-dev libtiff-dev bison flex - ./.ci/copyspm.sh - ./.ci/buildlib.sh SDL release-1.2.15 - cp /usr/local/spm/env/runSDL_release-1.2.15.sh /usr/local/spm/env/runSDL_SDL-1.2_old.sh - ${runenvtool} ./.ci/buildlib.sh zlib v1.2.5 - ${runenvtool} ./.ci/buildlib.sh SDL_gfx master - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libpng libpng10 - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh freetype VER-2-4-9 - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh libxml2 v2.9.1 - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh curl curl-7_12_3 - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh tinyxml2 2.0.2 - ${runenvtool} ${runenvtoolz} ./.ci/buildlib.sh SDL_image release-1.2.5 - ${runenvtool} ./.ci/buildlib.sh SDL_mixer release-1.2.7 - ${runenvtool} ./.ci/buildlib.sh SDL_net release-1.2.6 - ${runenvtool} ./.ci/buildlib.sh SDL_ttf release-2.0.11 - ./.ci/copyfinal.sh variables: installname: SDL_SDL-1.2_old runenvtool: /usr/local/spm/env/run${installname}.sh runenvtoolz: /usr/local/spm/env/runzlib_v1.2.5.sh <<: *job-artifacts manaplus_SDL-1.2: stage: manaplus script: - ./.ci/install.sh gcc-7 g++-7 make autoconf automake autopoint gettext pkg-config libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev git wget unzip gdb valgrind netcat-openbsd procps - ./.ci/clonesrc.sh - cd cloned - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7.sh - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplus - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/runtests.sh variables: LIBNAME: SDL LIBVERSION: SDL-1.2 runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh POST_CXXFLAGS: "-Wno-undef" dependencies: - SDL_SDL-1.2 <<: *job-artifacts manaplus_SDL-1.2_test: stage: manaplus script: - ./.ci/install.sh gcc-7 g++-7 make autoconf automake autopoint gettext pkg-config libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev valgrind git wget unzip gdb valgrind netcat-openbsd procps - ./.ci/clonesrc.sh - cd cloned - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_tests.sh --without-manaplusgame --without-dyecmd - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests variables: LIBNAME: SDL LIBVERSION: SDL-1.2 runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh POST_CXXFLAGS: "-Wno-undef" dependencies: - SDL_SDL-1.2 <<: *job-artifacts manaplus_SDL-1.2_old: stage: manaplus script: - ./.ci/install.sh gcc-7 g++-7 make autoconf automake autopoint gettext pkg-config libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev libjpeg-dev libtiff-dev git wget unzip gdb valgrind netcat-openbsd procps - ./.ci/clonesrc.sh - cd cloned - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7.sh - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplus - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/runtests.sh variables: LIBNAME: SDL LIBVERSION: SDL-1.2_old runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_v1.2.5.sh runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_v2.9.1.sh POST_CXXFLAGS: "-Wno-undef" dependencies: - SDL_SDL-1.2_old <<: *job-artifacts manaplus_SDL-1.2_old_test: stage: manaplus script: - ./.ci/install.sh gcc-7 g++-7 make autoconf automake autopoint gettext pkg-config libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev valgrind libjpeg-dev libtiff-dev git wget unzip gdb valgrind netcat-openbsd procps - ./.ci/clonesrc.sh - cd cloned - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_tests.sh --without-manaplusgame --without-dyecmd - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests variables: LIBNAME: SDL LIBVERSION: SDL-1.2_old runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_v1.2.5.sh runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_v2.9.1.sh POST_CXXFLAGS: "-Wno-undef" dependencies: - SDL_SDL-1.2_old <<: *job-artifacts manaplus_SDL-1.2_asan_tests: stage: manaplus script: - ./.ci/install.sh gcc-7 g++-7 make autoconf automake autopoint gettext pkg-config libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev git wget unzip gdb valgrind netcat-openbsd procps - ./.ci/clonesrc.sh - cd cloned - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize_tests.sh --enable-unittests=yes --without-manaplusgame --without-dyecmd - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests variables: LIBNAME: SDL LIBVERSION: SDL-1.2 runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh POST_CXXFLAGS: "-Wno-undef" ASAN_OPTIONS: "detect_leaks=0" JOBS: 1 dependencies: - SDL_SDL-1.2 <<: *job-artifacts manaplus_SDL-1.2_asan: stage: manaplus script: - ./.ci/install.sh gcc-7 g++-7 make autoconf automake autopoint gettext pkg-config libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev git wget unzip gdb valgrind netcat-openbsd procps - ./.ci/clonesrc.sh - cd cloned - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize.sh --without-dyecmd - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplus - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/runtests.sh variables: LIBNAME: SDL LIBVERSION: SDL-1.2 runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_master.sh runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_master.sh POST_CXXFLAGS: "-Wno-undef" dependencies: - SDL_SDL-1.2 <<: *job-artifacts manaplus_SDL-1.2_old_asan_test: stage: manaplus script: - ./.ci/install.sh gcc-7 g++-7 make autoconf automake autopoint gettext pkg-config libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev libjpeg-dev libtiff-dev git wget unzip gdb valgrind netcat-openbsd procps - ./.ci/clonesrc.sh - cd cloned - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize_tests.sh --enable-unittests=yes --without-manaplusgame --without-dyecmd - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplustests variables: LIBNAME: SDL LIBVERSION: SDL-1.2_old runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_v1.2.5.sh runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_v2.9.1.sh POST_CXXFLAGS: "-Wno-undef" ASAN_OPTIONS: "detect_leaks=0" JOBS: 1 dependencies: - SDL_SDL-1.2_old <<: *job-artifacts manaplus_SDL-1.2_old_asan: stage: manaplus script: - ./.ci/install.sh gcc-7 g++-7 make autoconf automake autopoint gettext pkg-config libx11-dev libxext-dev libxt-dev libxv-dev x11proto-core-dev libgl1-mesa-dev libasound2-dev libglu1-mesa-dev libicu-dev libjpeg-dev libtiff-dev git wget unzip gdb valgrind netcat-openbsd procps - ./.ci/clonesrc.sh - cd cloned - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/jobs/gcc7_sanitize.sh --without-dyecmd - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/checkldd.sh src/manaplus - /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runenv.sh ${runenvx} ${runenvz} ./tools/ci/scripts/runtests.sh variables: LIBNAME: SDL LIBVERSION: SDL-1.2_old runenvz: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runzlib_v1.2.5.sh runenvx: /usr/local/spm/bin/${LIBNAME}_${LIBVERSION}/runlibxml2_v2.9.1.sh POST_CXXFLAGS: "-Wno-undef" dependencies: - SDL_SDL-1.2_old <<: *job-artifacts