summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml105
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