Skip to content

PT.4

PT.4 #145

Workflow file for this run

name: build
on:
push:
workflow_call:
jobs:
TC-Eluna:
strategy:
fail-fast: false
matrix:
include:
- eluna: OFF
lua: lua52
- eluna: ON
lua: lua51
- eluna: ON
lua: lua52
- eluna: ON
lua: lua53
- eluna: ON
lua: lua54
- eluna: ON
lua: luajit
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: false
repository: ElunaLuaEngine/ElunaTrinityWotlk
- uses: actions/checkout@v4
with:
path: src/server/game/LuaEngine
- name: Dependencies
run: |
sudo apt-get update && sudo apt-get install -yq libboost-all-dev g++-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-11
- name: Setup
env:
ELUNA: ${{ matrix.eluna }}
LUA: ${{ matrix.lua }}
run: |
mkdir bin
cd bin
cmake ../ -DELUNA=$ELUNA -DLUA_VERSION=$LUA -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 -DBUILD_TESTING=1
cd ..
- name: Build
run: |
cd bin
make -j 4 -k && make install
- name: Unit tests
run: |
cd bin
make test
- name: Check executables
run: |
cd bin/check_install/bin
./authserver --version
./worldserver --version
# Cata preservation project has been abandoned, so no need for further build checks on this project
# CataPres-Eluna:
# strategy:
# fail-fast: false
# matrix:
# eluna: [ON]
# runs-on: ubuntu-20.04
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: false
# repository: Niam5/ElunaCataPreservation
# - uses: actions/checkout@v4
# with:
# path: src/server/game/LuaEngine
# - name: Dependencies
# run: |
# sudo apt-get update && sudo apt-get install -yq libboost-all-dev
# sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10
# - name: Setup
# env:
# ELUNA: ${{ matrix.eluna }}
# run: |
# mkdir bin
# cd bin
# cmake ../ -DELUNA=$ELUNA -DUSE_COREPCH=1 -DUSE_SCRIPTPCH=1 -DTOOLS=1 -DSERVERS=1 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_CXX_FLAGS_DEBUG="-DNDEBUG" -DCMAKE_INSTALL_PREFIX=check_install -DBUILD_TESTING=1
# cd ..
# - name: Build
# run: |
# cd bin
# make -j 4 -k && make install
# - name: Unit tests
# run: |
# cd bin
# make test
# - name: Check executables
# run: |
# cd bin/check_install/bin
# ./bnetserver --version
# ./worldserver --version
# AC-Eluna:
# strategy:
# fail-fast: false
# runs-on: ubuntu-20.04
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: recursive
# repository: azerothcore/azerothcore-wotlk
# ref: 'master'
# - uses: actions/checkout@v4
# with:
# submodules: false
# repository: azerothcore/mod-eluna-lua-engine
# path: modules/mod-eluna-lua-engine
# - uses: actions/checkout@v4
# with:
# path: modules/mod-eluna-lua-engine/LuaEngine
# - name: Configure OS
# run: |
# # Copy paste of https://github.com/azerothcore/azerothcore-wotlk/blob/master/apps/ci/ci-install.sh
#
# cat >>conf/config.sh <<CONFIG_SH
# MTHREADS=4
# CWARNINGS=ON
# CDEBUG=OFF
# CTYPE=Release
# CSCRIPTS=static
# CUNIT_TESTS=ON
# CSERVERS=ON
# CTOOLS=ON
# CSCRIPTPCH=ON
# CCOREPCH=ON
# CCUSTOMOPTIONS='-DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror"'
# DB_CHARACTERS_CONF="MYSQL_USER='root'; MYSQL_PASS='root'; MYSQL_HOST='localhost';"
# DB_AUTH_CONF="MYSQL_USER='root'; MYSQL_PASS='root'; MYSQL_HOST='localhost';"
# DB_WORLD_CONF="MYSQL_USER='root'; MYSQL_PASS='root'; MYSQL_HOST='localhost';"
# CONFIG_SH
#
# time sudo apt-get update -y
# # time sudo apt-get upgrade -y
# time sudo apt-get install -y git lsb-release sudo ccache
# time ./acore.sh install-deps
#
# time sudo apt-get install -y clang-11
# echo "CCOMPILERC=\"clang-11\"" >> ./conf/config.sh
# echo "CCOMPILERCXX=\"clang++-11\"" >> ./conf/config.sh
# - name: Import db
# run: source ./apps/ci/ci-import-db.sh
# - name: Build
# run: source ./apps/ci/ci-compile.sh
# - name: Dry run
# run: source ./apps/ci/ci-worldserver-dry-run.sh
# - name: Check startup errors
# run: source ./apps/ci/ci-error-check.sh
# Disable Mangos builds for now until Mangos deps are fixed and multistate can be ported
# mangos-Eluna:
# strategy:
# fail-fast: false
# matrix:
# eluna: [ON, OFF]
# patch: [zero, one, two, three]
# runs-on: ubuntu-20.04
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: recursive
# repository: mangos${{ matrix.patch }}/server
# ref: master
# - uses: actions/checkout@v4
# with:
# path: src/modules/Eluna
# - name: Configure
# env:
# ELUNA: ${{ matrix.eluna }}
# run: |
# mkdir bin
# cd bin
# cmake .. -DSCRIPT_LIB_ELUNA=$ELUNA -DCMAKE_INSTALL_PREFIX=install -DSOAP=1 -DPLAYERBOTS=0 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl/
# cd ..
# - name: Build
# run: |
# cd bin
# make -j4
# make install
cmangos-Eluna:
strategy:
fail-fast: false
matrix:
eluna: [ON, OFF]
patch: [Classic, TBC, WotLK, Cata]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: false
repository: Niam5/Eluna-CMaNGOS-${{ matrix.patch }}
ref: master
- uses: actions/checkout@v4
with:
path: src/game/LuaEngine
- name: Dependencies and Environment
run: |
echo "CC=gcc-12" >> $GITHUB_ENV
echo "CXX=g++-12" >> $GITHUB_ENV
sudo apt-get update && sudo apt-get install -yq libboost-all-dev
- name: Configure
env:
ELUNA: ${{ matrix.eluna }}
run: |
mkdir bin
cd bin
cmake .. -DBUILD_ELUNA=$ELUNA -DCMAKE_INSTALL_PREFIX=install -DBUILD_PLAYERBOT=OFF -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl/
cd ..
- name: Build
run: |
cd bin
make -j4
make install
vmangos-Eluna:
strategy:
fail-fast: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: false
repository: Eluna-Ports/Eluna-VMaNGOS
ref: development
- uses: actions/checkout@v4
with:
path: src/modules/Eluna
- name: Dependencies
run: |
sudo apt-get -qq update
sudo apt-get -qq install build-essential cmake cppcheck git libace-dev libiberty-dev libmysql++-dev libssl-dev libtbb-dev make openssl
- name: Configure and Build
run: |
mkdir build
mkdir _install
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=../_install -DWITH_WARNINGS=0 -DUSE_EXTRACTORS=1
make -j2
make install