Skip to content

[Terrain] Suppress ADT liquid inside WMO interior groups (#313) #555

[Terrain] Suppress ADT liquid inside WMO interior groups (#313)

[Terrain] Suppress ADT liquid inside WMO interior groups (#313) #555

name: Linux Build (GCC + Clang)
on:
push:
branches: [ master, united, devel ]
pull_request:
branches: [ master, united ]
permissions:
contents: read
concurrency:
group: linux-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: gcc
cc: gcc
cxx: g++
pkg: g++
- name: clang
cc: clang
cxx: clang++
pkg: clang
name: Build (${{ matrix.name }})
env:
BUILD_DIR: ${{ github.workspace }}/../build-${{ matrix.name }}
CCACHE_DIR: ${{ github.workspace }}/../ccache
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 1
- name: Install build dependencies
run: |
sudo apt-get update -qq
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -qq cmake ninja-build ccache libssl-dev libbz2-dev default-libmysqlclient-dev libreadline-dev ${{ matrix.pkg }}
- name: Compiler cache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: linux-${{ matrix.name }}
max-size: 500M
- name: Configure
run: >
cmake -S . -B "$BUILD_DIR" -G Ninja
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX="$BUILD_DIR/install"
-DCMAKE_C_COMPILER=${{ matrix.cc }}
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }}
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DBUILD_TOOLS=1
-DBUILD_MANGOSD=1
-DBUILD_REALMD=1
-DWITH_TESTS=1
# Never the socket tests: they bind real listeners and dominate the
# suite's wall-clock. A human asks for them, CI does not.
-DWITH_NET_TESTS=0
-DSOAP=1
-DSCRIPT_LIB_ELUNA=1
-DSCRIPT_LIB_SD3=1
-DPLAYERBOTS=0
-DPCH=0
- name: Build
run: cmake --build "$BUILD_DIR" --parallel
- name: Test
run: ctest --test-dir "$BUILD_DIR" --output-on-failure
- name: Install
run: cmake --install "$BUILD_DIR"
- name: Verify the working tree is clean
run: |
if [ -n "$(git status --porcelain)" ]; then
echo "::error::the build modified the source tree"
git status --porcelain
exit 1
fi