diff options
author | funjoker <funjoker109@gmail.com> | 2020-04-04 14:58:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-04 14:58:56 +0200 |
commit | 6e324632bcfbc498fa27f8a00db54f9c485d9774 (patch) | |
tree | 32d5449cccc5cba3419316742b9efaddfe8ea094 /.circleci | |
parent | eb579f6d76cc56c807f904cbe87ea2a3b2f01fe8 (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.yml | 98 |
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 |