Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 20 additions & 92 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,98 +1,26 @@
version: 2
# Use the latest 2.1 version of CircleCI pipeline process engine.
# See: https://circleci.com/docs/2.0/configuration-reference
version: 2.1

# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
jobs:
pch_and_sql:
say-hello:
# Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub.
# See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor
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
- image: cimg/base:stable
# Add steps to the job
# See: https://circleci.com/docs/2.0/configuration-reference/#steps
steps:
- checkout
- 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
name: "Say hello"
command: "echo Hello, World!"

# Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
workflows:
version: 2
build_all:
say-hello-workflow:
jobs:
- pch_and_sql
- nopch
- say-hello