From 1911da404e5b38d91d8013532bb8fdfb35e698a8 Mon Sep 17 00:00:00 2001 From: Haru Date: Fri, 9 Sep 2016 02:26:54 +0200 Subject: Added configuration file for Gitlab CI Signed-off-by: Haru --- .gitlab-ci.yml | 639 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ tools/ci/retry.sh | 33 +++ 2 files changed, 672 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100755 tools/ci/retry.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000..254e44d5e --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,639 @@ +services: + - mysql:latest + +variables: &base_vars + # Configure mysql service (https://hub.docker.com/_/mysql/) + MYSQL_DATABASE: 'ragnarok' + MYSQL_USER: 'ragnarok' + MYSQL_PASSWORD: 'ragnarok' + MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' + GIT_DEPTH: '3' + DEBIAN_COMMON_PACKAGES: make zlib1g-dev libpcre3-dev git python + +.prerequisites: &prerequisites + before_script: + - echo "Building $CI_BUILD_NAME" + - uname -a + - ./tools/ci/retry.sh apt-get update + - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh getplugins || true + +.branch_exceptions: &branch_exceptions + only: + - branches + except: + - rathena + - coverity_scan + +# Compilers + +pre_re:clang-3.9: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-3.9 mysql-client + script: + - ./tools/ci/travis.sh build CC=clang-3.9 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:clang-3.9: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-3.9 mysql-client + script: + - ./tools/ci/travis.sh build CC=clang-3.9 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:gcc-4.6: + <<: *branch_exceptions + <<: *prerequisites + image: debian:oldstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-4.6 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-4.6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:gcc-4.6: + <<: *branch_exceptions + <<: *prerequisites + image: debian:oldstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-4.6 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-4.6 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:gcc-4.7: + <<: *branch_exceptions + <<: *prerequisites + image: debian:oldstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-4.7 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-4.7 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:gcc-4.7: + <<: *branch_exceptions + <<: *prerequisites + image: debian:oldstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-4.7 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-4.7 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:gcc-4.8: + <<: *branch_exceptions + <<: *prerequisites + image: debian:stable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-4.8 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-4.8 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:gcc-4.8: + <<: *branch_exceptions + <<: *prerequisites + image: debian:stable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-4.8 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-4.8 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:gcc-4.9: + <<: *branch_exceptions + <<: *prerequisites + image: debian:stable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-4.9 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-4.9 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:gcc-4.9: + <<: *branch_exceptions + <<: *prerequisites + image: debian:stable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-4.9 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-4.9 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:gcc-5: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-5 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-5 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:gcc-5: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-5 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-5 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:gcc-6: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:gcc-6: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:gcc-6_i386: + <<: *branch_exceptions + <<: *prerequisites + image: vicamo/debian:sid-i386 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:gcc-6_i386: + <<: *branch_exceptions + <<: *prerequisites + image: vicamo/debian:sid-i386 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:gcc-6_sanitize: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal --disable-manager --enable-sanitize=full + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:gcc-6_sanitize: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:gcc-6_i386_sanitize: + <<: *branch_exceptions + <<: *prerequisites + image: vicamo/debian:sid-i386 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal --disable-manager --enable-sanitize=full + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:gcc-6_i386_sanitize: + <<: *branch_exceptions + <<: *prerequisites + image: vicamo/debian:sid-i386 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:gcc-6_cov: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 gcovr mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal CFLAGS="-coverage" LDFLAGS="-coverage" + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - gcovr -r . --gcov-executable=gcov-6 + - gcovr -r . --gcov-executable=gcov-6 --html -o gcov_pre.html + artifacts: + paths: + - gcov_re.html + +re:gcc-6_cov: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 gcovr mysql-client + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot CFLAGS="-coverage" LDFLAGS="-coverage" + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - gcovr -r . --gcov-executable=gcov-6 + - gcovr -r . --gcov-executable=gcov-6 --html -o gcov_re.html + artifacts: + paths: + - gcov_re.html + +# Distributions + +pre_re:debian-oldstable: + <<: *branch_exceptions + <<: *prerequisites + image: debian:wheezy + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:debian-oldstable: + <<: *branch_exceptions + <<: *prerequisites + image: debian:wheezy + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:debian-stable: + <<: *branch_exceptions + <<: *prerequisites + image: debian:jessie + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:debian-stable: + <<: *branch_exceptions + <<: *prerequisites + image: debian:jessie + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:debian-testing: + <<: *branch_exceptions + <<: *prerequisites + image: debian:stretch + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:debian-testing: + <<: *branch_exceptions + <<: *prerequisites + image: debian:stretch + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:centos-previous: + <<: *branch_exceptions + image: centos:6 + before_script: + - echo "Building $CI_BUILD_NAME" + - uname -a + - yum -y update + - yum install -y make mysql-devel pcre-devel git zlib-devel mysql + - yum install -y centos-release-scl + - yum install -y yum install devtoolset-3-toolchain + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh getplugins || true + variables: + <<: *base_vars + script: + - scl enable devtoolset-3 './tools/ci/travis.sh build CFLAGS="-Wno-cast-qual" --enable-debug --enable-Werror --enable-buildbot --disable-renewal' + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:centos-previous: + <<: *branch_exceptions + image: centos:6 + before_script: + - echo "Building $CI_BUILD_NAME" + - uname -a + - yum -y update + - yum install -y make mysql-devel pcre-devel git zlib-devel mysql + - yum install -y centos-release-scl + - yum install -y yum install devtoolset-3-toolchain + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh getplugins || true + variables: + <<: *base_vars + variables: + <<: *base_vars + script: + - scl enable devtoolset-3 './tools/ci/travis.sh build CFLAGS="-Wno-cast-qual" --enable-debug --enable-Werror --enable-buildbot' + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:centos-current: + <<: *branch_exceptions + image: centos:7 + before_script: + - echo "Building $CI_BUILD_NAME" + - uname -a + - yum -y update + - yum install -y gcc make mysql-devel pcre-devel git zlib-devel mysql + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh getplugins || true + variables: + <<: *base_vars + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:centos-current: + <<: *branch_exceptions + image: centos:7 + before_script: + - echo "Building $CI_BUILD_NAME" + - uname -a + - yum -y update + - yum install -y gcc make mysql-devel pcre-devel git zlib-devel mysql + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh getplugins || true + variables: + <<: *base_vars + variables: + <<: *base_vars + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:ubuntu-xenial: + <<: *branch_exceptions + <<: *prerequisites + image: ubuntu:16.04 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:ubuntu-xenial: + <<: *branch_exceptions + <<: *prerequisites + image: ubuntu:16.04 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +# SQL servers + +pre_re:mysql-5.5: + <<: *branch_exceptions + <<: *prerequisites + image: debian:stable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client-5.5 + services: + - mysql:5.5 + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:mysql-5.5: + <<: *branch_exceptions + <<: *prerequisites + image: debian:stable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client-5.5 + services: + - mysql:5.5 + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:mysql-5.6: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client-5.6 + services: + - mysql:5.6 + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:mysql-5.6: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client-5.6 + services: + - mysql:5.6 + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:mysql-5.7: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + # mysql-client-5.7 is not available + INSTALL_PACKAGES: gcc mysql-client + services: + - mysql:5.7 + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +re:mysql-5.7: + <<: *branch_exceptions + <<: *prerequisites + image: debian:unstable + variables: + <<: *base_vars + # mysql-client-5.7 is not available + INSTALL_PACKAGES: gcc mysql-client + services: + - mysql:5.7 + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + +pre_re:mariadb-10: + <<: *branch_exceptions + image: debian:stable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mariadb-client-10.0 + before_script: + - echo "Building $CI_BUILD_NAME" + - uname -a + - ./tools/ci/retry.sh apt-get update + - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mariadb + - ./tools/ci/travis.sh getplugins || true + services: + - mariadb:10.0 + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mariadb + +re:mariadb-10: + <<: *branch_exceptions + image: debian:stable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mariadb-client-10.0 + before_script: + - echo "Building $CI_BUILD_NAME" + - uname -a + - ./tools/ci/retry.sh apt-get update + - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mariadb + - ./tools/ci/travis.sh getplugins || true + services: + - mariadb:10.0 + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mariadb + +pre_re:mariadb-latest: + <<: *branch_exceptions + image: debian:stable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mariadb-client-10.0 + before_script: + - echo "Building $CI_BUILD_NAME" + - uname -a + - ./tools/ci/retry.sh apt-get update + - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mariadb + - ./tools/ci/travis.sh getplugins || true + services: + - mariadb:latest + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mariadb + +re:mariadb-latest: + <<: *branch_exceptions + image: debian:stable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mariadb-client-10.0 + before_script: + - echo "Building $CI_BUILD_NAME" + - uname -a + - ./tools/ci/retry.sh apt-get update + - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mariadb + - ./tools/ci/travis.sh getplugins || true + services: + - mariadb:latest + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mariadb + +pre_re:percona: + <<: *branch_exceptions + image: debian:stable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client + before_script: + - echo "Building $CI_BUILD_NAME" + - uname -a + - ./tools/ci/retry.sh apt-get update + - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok percona + - ./tools/ci/travis.sh getplugins || true + services: + - percona:latest + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok percona + +re:percona: + <<: *branch_exceptions + image: debian:stable + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client + before_script: + - echo "Building $CI_BUILD_NAME" + - uname -a + - ./tools/ci/retry.sh apt-get update + - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES libmysqlclient-dev + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok percona + - ./tools/ci/travis.sh getplugins || true + services: + - percona:latest + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok percona diff --git a/tools/ci/retry.sh b/tools/ci/retry.sh new file mode 100755 index 000000000..6e79af1d5 --- /dev/null +++ b/tools/ci/retry.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# This file is part of Hercules. +# http://herc.ws - http://github.com/HerculesWS/Hercules +# +# Copyright (C) 2016 Hercules Dev Team +# Copyright (C) 2016 Haru +# +# Hercules is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +n=0 + +while true; do + $@ && break + if [[ $n -ge 5 ]]; then + exit -1 + fi + WAITTIME=$((2**n)) + echo "Execution of $@ failed. Retrying in $WAITTIME seconds..." + sleep $WAITTIME + n=$((n+1)) +done -- cgit v1.2.3-70-g09d2