aboutsummaryrefslogtreecommitdiff
path: root/.circleci
diff options
context:
space:
mode:
authorfunjoker <funjoker109@gmail.com>2020-04-04 14:58:56 +0200
committerGitHub <noreply@github.com>2020-04-04 14:58:56 +0200
commit6e324632bcfbc498fa27f8a00db54f9c485d9774 (patch)
tree32d5449cccc5cba3419316742b9efaddfe8ea094 /.circleci
parenteb579f6d76cc56c807f904cbe87ea2a3b2f01fe8 (diff)
CI/Circle CI: Prepare master for circle ci (#24386)
* Circle CI (#22982) * Build/CI: Add Circle CI * Fix travis (cherry picked from commit cb6439bacd8b5d10ef2a4d2eb4e8ab2f950e4ffd) * CI/CircleCI: Add parallel no-pch build (cherry picked from commit 33c58b4aaf4afc8ca13c1d07c65d66e6beb6bedb) * CI/CircleCI: Use ccache for nopch (cherry picked from commit 6bcf5c64c489175da41acf7739f156319a00f5f9) * CI/CircleCI: Change base docker image to custom-built trinitycore one (cherry picked from commit 37beeb1282c24fc584f5f524279df408779c5d5b) * CI/CircleCI: Switch to Ubuntu 18.10 (cherry picked from commit 6dfb4fde07082498a264ca0802ebdeb0bf3fa994) * CI/CircleCI: Switch to Ubuntu 19.04 (cherry picked from commit 9009c82a8db2bdb433cba17820af8b0cef8e28e3) * CI/Circle CI: Reduce ccache size from 5G to 1G This should speedup Circle CI cache saving and in turn no-pch build (cherry picked from commit 1b543ac16dd61ac6e1f8f00fee28156234c7e73f) * CI/Circle CI: Adjust config for master branch Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
Diffstat (limited to '.circleci')
-rw-r--r--.circleci/config.yml98
1 files changed, 98 insertions, 0 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 00000000000..0085a1421df
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,98 @@
+version: 2
+jobs:
+ pch_and_sql:
+ docker:
+ - image: trinitycore/circle-ci:master-buildpacks-disco
+ - image: circleci/mysql:5.7
+ environment:
+ MYSQL_ALLOW_EMPTY_PASSWORD: yes
+ MYSQL_ROOT_PASSWORD: ''
+ MYSQL_DATABASE: test_mysql
+ steps:
+ - run:
+ name: Checkout
+ command: |
+ /scripts/checkout.sh
+ - run:
+ name: Setup
+ command: |
+ mkdir bin
+ cd bin
+ cmake ../ -DWITH_WARNINGS=1 -DWITH_COREDEBUG=0 -DUSE_COREPCH=1 -DUSE_SCRIPTPCH=1 -DTOOLS=1 -DSCRIPTS=dynamic -DSERVERS=1 -DNOJEM=0 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_C_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_CXX_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_INSTALL_PREFIX=check_install
+ cd ..
+ - run:
+ name: SQL checks
+ command: |
+ chmod +x contrib/check_updates.sh
+ dockerize -wait tcp://127.0.0.1:3306 -timeout 120s
+ mysql -h 127.0.0.1 -uroot < sql/create/create_mysql.sql
+ mysql -h 127.0.0.1 -uroot auth < sql/base/auth_database.sql
+ ./contrib/check_updates.sh auth master auth 127.0.0.1
+ mysql -h 127.0.0.1 -uroot characters < sql/base/characters_database.sql
+ ./contrib/check_updates.sh characters master characters 127.0.0.1
+ mysql -h 127.0.0.1 -uroot world < sql/base/dev/world_database.sql
+ mysql -h 127.0.0.1 -uroot hotfixes < sql/base/dev/hotfixes_database.sql
+ cat sql/updates/world/master/*.sql | mysql -h 127.0.0.1 -uroot world
+ cat sql/updates/hotfixes/master/*.sql | mysql -h 127.0.0.1 -uroot hotfixes
+ mysql -h 127.0.0.1 -uroot < sql/create/drop_mysql.sql
+ - run:
+ name: Build
+ command: |
+ cd bin
+ make -j 4 -k && make install
+ cd check_install/bin
+ ./bnetserver --version
+ ./worldserver --version
+ nopch:
+ docker:
+ - image: trinitycore/circle-ci:master-buildpacks-disco
+ steps:
+ - run:
+ name: Requirements
+ command: |
+ sudo mkdir -p /root/.ccache
+ sudo chown -Rv circleci:circleci /root
+ - run:
+ name: Checkout
+ command: |
+ /scripts/checkout.sh
+ - restore_cache:
+ keys:
+ - master-nopch-{{ .Branch }}-{{ .Revision }}
+ - master-nopch-{{ .Branch }}
+ - master-nopch
+ - run:
+ name: Setup
+ command: |
+ export CCACHE_MAXSIZE="1G"
+ export CC="ccache clang"
+ export CXX="ccache clang++"
+ export CCACHE_CPP2=yes
+ export USE_CCACHE=1
+ export PATH=/usr/lib/ccache:$PATH
+ ccache -s
+ git config user.email "circleci@build.bot" && git config user.name "Circle CI"
+ $CXX --version
+ mkdir bin
+ cd bin
+ cmake ../ -DWITH_WARNINGS=1 -DWITH_COREDEBUG=0 -DUSE_COREPCH=0 -DUSE_SCRIPTPCH=0 -DTOOLS=1 -DSCRIPTS=dynamic -DSERVERS=1 -DNOJEM=0 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_C_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_CXX_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_INSTALL_PREFIX=check_install
+ cd ..
+ - run:
+ name: Build
+ command: |
+ cd bin
+ make -j 4 -k && make install
+ ccache -s
+ cd check_install/bin
+ ./bnetserver --version
+ ./worldserver --version
+ - save_cache:
+ key: master-nopch-{{ .Branch }}-{{ .Revision }}
+ paths:
+ - /home/circleci/.ccache
+workflows:
+ version: 2
+ build_all:
+ jobs:
+ - pch_and_sql
+ - nopch