diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 105 |
1 files changed, 74 insertions, 31 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ae6566a3..c42bdf94 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,36 +1,79 @@ stages: -- deploy +- lint +- test -image: ubuntu:rolling -before_script: - - uname -a +variables: + GET_SOURCES_ATTEMPTS: "5" + ARTIFACT_DOWNLOAD_ATTEMPTS: "5" + MYSQL_ROOT_PASSWORD: root + packetver: "20170517" -pages: - stage: deploy - variables: - GIT_STRATEGY: clone - GIT_SUBMODULE_STRATEGY: recursive - GIT_DEPTH: "1" - UPDATE_DIR: "../../../public" - UPDATE_HTTP: "none" - CC: "clang" +newlines: + stage: lint script: - - apt-get -qq update - - apt-get install -qq -y make clang zip zlib1g-dev zlibc python - - mkdir public - - make updates - - make news - - cp -v world/map/news.txt public/ - - cp -v world/map/news.html public/ - - cp -v world/map/news.rss public/ - - cp -v world/map/news.json public/ - - echo '<title>static update server</title><a href="TMW.zip">TMW.zip</a><br><a href="TMW-music.zip">TMW-music.zip</a><br><a href="news.txt">news.txt</a><br><a href="resources.xml">resources.xml</a>' > public/index.html - # path for legacy compatibility - - mkdir -p public/updates - - cp -v public/*.* public/updates/ + - ./.tools/jobs/install.sh "dos2unix git-core" + - ./.tools/jobs/newlines.sh + image: debian:unstable artifacts: - paths: - - public - only: - - web - - pushes + untracked: true + when: always + expire_in: 3 week + +spaces: + stage: lint + script: + - ./.tools/jobs/install.sh "sed git-core" + - cd npc + - ../.tools/jobs/spaces.sh + image: debian:unstable + artifacts: + untracked: true + when: always + expire_in: 3 week + +mariadb_run_latest_gcc7: + stage: test + needs: [] + script: + - export CC=gcc-7 + - export HERCCPPFLAGS=" -Wno-format-overflow" + - export ASAN_OPTIONS=detect_stack_use_after_return=true:strict_init_order=true:detect_odr_violation=0 + - ./.tools/jobs/install.sh "mysql-client-5.7 + gcc-7 + git-core + make autoconf automake autopoint + libtool libmariadbclient-dev-compat libz-dev libpcre3-dev" + - ./.tools/jobs/cloneall.sh + - ./.tools/jobs/initdb.sh mariadb + - ./.tools/jobs/build.sh "--enable-packetver=${packetver} --enable-epoll --enable-debug --enable-sanitize=full --disable-manager --enable-Werror --enable-buildbot" "--enable-werror --enable-lto --enable-sanitize" + - ./.tools/jobs/runserver.sh mariadb + image: ubuntu:18.04 + services: + - mariadb:latest + artifacts: + untracked: true + when: always + expire_in: 3 week + +mariadb_run_valgrind_latest: + stage: test + needs: [] + script: + - export CC=gcc-6 + - ./.tools/jobs/install.sh "mysql-client + gcc-6 + git-core + make autoconf automake autopoint + libtool mariadb-client libmariadbclient-dev-compat libz-dev libpcre3-dev + valgrind" + - ./.tools/jobs/cloneall.sh + - ./.tools/jobs/initdb.sh mariadb + - ./.tools/jobs/build.sh "--enable-packetver=${packetver} --enable-epoll --enable-debug --disable-manager --enable-Werror --enable-buildbot" "--enable-werror" + - ./.tools/jobs/runservervalgrind.sh mariadb + image: debian:stretch + services: + - mariadb:latest + artifacts: + untracked: true + when: always + expire_in: 3 week |