mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-07 21:01:37 +00:00
89 lines
3.6 KiB
YAML
89 lines
3.6 KiB
YAML
sudo: required
|
|
dist: xenial # (16.04)
|
|
# bionic (18.04) is not yet available in travis
|
|
|
|
language: cpp
|
|
|
|
cache: ccache
|
|
|
|
addons:
|
|
apt:
|
|
update: true
|
|
|
|
services:
|
|
- mysql
|
|
|
|
git:
|
|
depth: 1
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- clang-3.8
|
|
env:
|
|
- TRAVIS_BUILD_ID="1"
|
|
- CCOMPILERC="clang-3.8"
|
|
- CCOMPILERCXX="clang++-3.8"
|
|
|
|
- os: linux
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- llvm-toolchain-xenial-7
|
|
packages:
|
|
- clang-7
|
|
env:
|
|
- TRAVIS_BUILD_ID="2"
|
|
- CCOMPILERC="clang-7"
|
|
- CCOMPILERCXX="clang++-7"
|
|
|
|
before_install:
|
|
- git config user.email "azerothcorebot@gmail.com" && git config user.name "AzerothCoreBot"
|
|
- if [ "$TRAVIS_BUILD_ID" = "1" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; then cd bin/; fi
|
|
# import pending sql
|
|
- if [ "$TRAVIS_BUILD_ID" = "1" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ "$TRAVIS_BRANCH" = "master" ]; then bash acore-db-pendings; fi
|
|
- if [ "$TRAVIS_BUILD_ID" = "1" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; then cd ..; fi
|
|
# push changes to git if any
|
|
- if [ "$TRAVIS_BUILD_ID" = "1" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; then git fetch --unshallow; fi
|
|
- if [ "$TRAVIS_BUILD_ID" = "1" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; then git checkout $TRAVIS_BRANCH; fi
|
|
- if [ "$TRAVIS_BUILD_ID" = "1" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ] && [[ -n "$GITHUB_API_KEY" ]]; then git add -A . && git diff --cached --quiet || git commit -am "Import pending SQL update file" && git push https://$GITHUB_API_KEY@github.com/$TRAVIS_REPO_SLUG.git $TRAVIS_BRANCH; fi
|
|
# sync staging with master
|
|
- if [ "$TRAVIS_BUILD_ID" = "1" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ "$TRAVIS_BRANCH" = "master" ] && [[ -n "$GITHUB_API_KEY" ]]; then git fetch origin staging:staging && git checkout staging && git merge --no-edit master && git push https://$GITHUB_API_KEY@github.com/$TRAVIS_REPO_SLUG.git staging; git checkout master; fi
|
|
|
|
install:
|
|
# install OS deps (apt-get)
|
|
- bash ./acore.sh "install-deps"
|
|
# create config file
|
|
- echo "CCOMPILERC=$CCOMPILERC" >> conf/config.sh
|
|
- echo "CCOMPILERCXX=$CCOMPILERCXX" >> conf/config.sh
|
|
- echo "MTHREADS=4" >> conf/config.sh
|
|
- echo "CWARNINGS=ON" >> conf/config.sh
|
|
- echo "CDEBUG=OFF" >> conf/config.sh
|
|
- echo "CTYPE=Release" >> conf/config.sh
|
|
- echo "CSCRIPTS=ON" >> conf/config.sh
|
|
- echo "CSERVERS=ON" >> conf/config.sh
|
|
- echo "CTOOLS=ON" >> conf/config.sh
|
|
- echo "CSCRIPTPCH=OFF" >> conf/config.sh
|
|
- echo "CCOREPCH=OFF" >> conf/config.sh
|
|
- echo "CCUSTOMOPTIONS='-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_FLAGS=\"-Werror\" -DCMAKE_CXX_FLAGS=\"-Werror\"'" >> conf/config.sh
|
|
- echo "DB_CHARACTERS_CONF=\"MYSQL_USER='root'; MYSQL_PASS=''; MYSQL_HOST='127.0.0.1';\"" >> conf/config.sh
|
|
- echo "DB_AUTH_CONF=\"MYSQL_USER='root'; MYSQL_PASS=''; MYSQL_HOST='127.0.0.1';\"" >> conf/config.sh
|
|
- echo "DB_WORLD_CONF=\"MYSQL_USER='root'; MYSQL_PASS=''; MYSQL_HOST='127.0.0.1';\"" >> conf/config.sh
|
|
# create and import mysql
|
|
- mysql -e "SET GLOBAL sql_mode = '';" # this is necessary because of mysql 5.7
|
|
- bash ./acore.sh "db-assembler" "import-all"
|
|
|
|
script:
|
|
# compile
|
|
- export CCACHE_CPP2=true
|
|
- ccache -s
|
|
- timeout 2580 bash ./acore.sh "compiler" "all"
|
|
- ccache -s
|
|
- git clone --depth=1 --branch=master --single-branch https://github.com/ac-data/ac-data.git /home/travis/build/azerothcore/azerothcore-wotlk/env/dist/data
|
|
- cp ./data/travis/worldserver.conf ./env/dist/etc/worldserver.conf
|
|
- ./env/dist/bin/worldserver --dry-run
|
|
- ./apps/ci-error-check.sh
|