summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml216
-rwxr-xr-x.tools/scripts/init.sh3
2 files changed, 219 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 000000000..b1b219fb5
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,216 @@
+stages:
+- build
+- test
+- fail
+- ok
+
+before_script:
+ - uname -a
+image: debian:stable
+
+variables:
+ MYSQL_ROOT_PASSWORD: root
+ packetver: "20150513"
+
+.build_test:
+ stage: build
+
+ script:
+ - export CC=gcc-6
+ - ./.tools/jobs/install.sh "mysql-client
+ gcc-6
+ git-core
+ make autoconf automake autopoint
+ libtool libmysqlclient-dev libz-dev libpcre3-dev"
+ - ./.tools/jobs/cloneall.sh
+ - ./.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"
+ image: debian:stable
+ services:
+ - mysql:latest
+
+.mysql_init_latest:
+ stage: build
+ script:
+ - ./.tools/jobs/install.sh "mysql-client"
+ - ./.tools/jobs/clonedata.sh
+ - ./.tools/jobs/initdb.sh mysql
+ image: debian:stable
+ services:
+ - mysql:latest
+
+mysql_init_5.5:
+ stage: build
+ script:
+ - ./.tools/jobs/install.sh "mysql-client"
+ - ./.tools/jobs/clonedata.sh
+ - ./.tools/jobs/initdb.sh mysql
+ image: debian:stable
+ services:
+ - mysql:5.5
+
+mysql_init_5.6:
+ stage: build
+ script:
+ - ./.tools/jobs/install.sh "mysql-client"
+ - ./.tools/jobs/clonedata.sh
+ - ./.tools/jobs/initdb.sh mysql
+ image: debian:stable
+ services:
+ - mysql:5.6
+
+mysql_init_5.7:
+ stage: build
+ script:
+ - ./.tools/jobs/install.sh "mysql-client"
+ - ./.tools/jobs/clonedata.sh
+ - ./.tools/jobs/initdb.sh mysql
+ image: debian:stable
+ services:
+ - mysql:5.7
+
+mariadb_init_latest:
+ stage: build
+ script:
+ - ./.tools/jobs/install.sh "mysql-client"
+ - ./.tools/jobs/clonedata.sh
+ - ./.tools/jobs/initdb.sh mariadb
+ image: debian:stable
+ services:
+ - mariadb:latest
+
+mariadb_init_10.0:
+ stage: build
+ script:
+ - ./.tools/jobs/install.sh "mysql-client"
+ - ./.tools/jobs/clonedata.sh
+ - ./.tools/jobs/initdb.sh mariadb
+ image: debian:stable
+ services:
+ - mariadb:10.0
+
+mariadb_init_5.5:
+ stage: build
+ script:
+ - ./.tools/jobs/install.sh "mysql-client"
+ - ./.tools/jobs/clonedata.sh
+ - ./.tools/jobs/initdb.sh mariadb
+ image: debian:stable
+ services:
+ - mariadb:5.5
+
+.mysql_run_latest:
+ stage: test
+ script:
+ - export CC=gcc-4.9
+ - ./.tools/jobs/install.sh "mysql-client
+ gcc-4.9
+ git-core
+ make autoconf automake autopoint
+ libtool libmysqlclient-dev libz-dev libpcre3-dev"
+ - ./.tools/jobs/cloneall.sh
+ - ./.tools/jobs/initdb.sh mysql
+ - ./.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 mysql
+ image: debian:jessie
+ services:
+ - mysql:latest
+
+mysql_run_5.7:
+ stage: test
+ script:
+ - export CC=gcc-4.9
+ - ./.tools/jobs/install.sh "mysql-client
+ gcc-4.9
+ git-core
+ make autoconf automake autopoint
+ libtool libmysqlclient-dev libz-dev libpcre3-dev"
+ - ./.tools/jobs/cloneall.sh
+ - ./.tools/jobs/initdb.sh mysql
+ - ./.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 mysql
+ image: debian:jessie
+ services:
+ - mysql:5.7
+
+.mariadb_run_latest:
+ stage: test
+ script:
+ - export CC=gcc-4.9
+ - export HERCCPPFLAGS=" -Wno-format-overflow"
+ - ./.tools/jobs/install.sh "mysql-client
+ gcc-4.9
+ git-core
+ make autoconf automake autopoint
+ libtool libmysqlclient-dev 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: debian:jessie
+ services:
+ - mariadb:latest
+
+mariadb_run_valgrind_latest:
+ stage: test
+ script:
+ - export CC=gcc-6
+ - ./.tools/jobs/install.sh "mysql-client
+ gcc-6
+ git-core
+ make autoconf automake autopoint
+ libtool libmariadbclient-dev 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:stable
+ services:
+ - mariadb:latest
+
+licensecheck:
+ stage: test
+ script:
+ - ./.tools/jobs/licensecheck.sh
+ image: debian:stable
+
+newlines:
+ stage: test
+ script:
+ - ./.tools/jobs/install.sh "dos2unix git-core"
+ - ./.tools/jobs/newlines.sh
+ image: debian:unstable
+ artifacts:
+ untracked: true
+ when: always
+ expire_in: 3 week
+
+spaces:
+ stage: test
+ 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
+
+ok_job:
+ stage: ok
+ script:
+ - pwd
+ - echo $CI_BUILD_REF_NAME
+ when: on_success
+ variables:
+ GIT_STRATEGY: none
+
+fail_job:
+ stage: fail
+ script:
+ - pwd
+ - echo $CI_BUILD_REF_NAME
+ when: on_failure
+ variables:
+ GIT_STRATEGY: none
diff --git a/.tools/scripts/init.sh b/.tools/scripts/init.sh
index ed2179125..b45973bf0 100755
--- a/.tools/scripts/init.sh
+++ b/.tools/scripts/init.sh
@@ -174,6 +174,9 @@ function do_init {
check_error $?
cd server-code/src ; git checkout master # v2018.09.23 # 2018-09-24 # s20180713?
check_error $?
+ git diff master s20190408 > x.diff
+ git apply x.diff
+ check_error $?
gitclone https://gitlab.com/TMW2 evol-hercules.git evol ; cd evol ; git checkout tmw2 ; cd ..
check_error $?
cd ../..