Upgrade actions/checkout from v4 to v6 #964
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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@v6 | |
| with: | |
| submodules: false | |
| repository: ElunaLuaEngine/ElunaTrinityWotlk | |
| - uses: actions/checkout@v6 | |
| 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 | |
| # mangos-Eluna: | |
| # strategy: | |
| # fail-fast: false | |
| # matrix: | |
| # eluna: [ON, OFF] | |
| # patch: [zero, one, two, three] | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - uses: actions/checkout@v6 | |
| # with: | |
| # submodules: recursive | |
| # repository: mangos${{ matrix.patch }}/server | |
| # ref: master | |
| # - uses: actions/checkout@v6 | |
| # with: | |
| # path: src/game/LuaEngine | |
| # - name: Dependencies and Environment | |
| # run: | | |
| # sudo apt-get update -y | |
| # sudo apt-get install -y git make cmake clang libssl-dev libbz2-dev build-essential default-libmysqlclient-dev libace-dev libreadline-dev | |
| # sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100 | |
| # sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100 | |
| # - name: Configure | |
| # env: | |
| # ELUNA: ${{ matrix.eluna }} | |
| # run: | | |
| # test -d _build || mkdir _build | |
| # test -d _install || mkdir _install | |
| # cd _build | |
| # cmake .. -DCMAKE_INSTALL_PREFIX=../_install -DBUILD_TOOLS:BOOL=1 -DBUILD_MANGOSD:BOOL=1 -DBUILD_REALMD:BOOL=1 -DSOAP:BOOL=1 -DSCRIPT_LIB_ELUNA:BOOL=$ELUNA -DSCRIPT_LIB_SD3:BOOL=1 -DPLAYERBOTS:BOOL=0 -DUSE_STORMLIB:BOOL=1 | |
| # - name: Build | |
| # run: | | |
| # cd _build | |
| # make -j 6 | |
| cmangos-Eluna: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| eluna: [ON, OFF] | |
| patch: [Classic, TBC, WotLK, Cata] | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: false | |
| repository: Niam5/Eluna-CMaNGOS-${{ matrix.patch }} | |
| ref: master | |
| - uses: actions/checkout@v6 | |
| 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@v6 | |
| with: | |
| submodules: false | |
| repository: Eluna-Ports/Eluna-VMaNGOS | |
| ref: development | |
| - uses: actions/checkout@v6 | |
| 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 libreadline-dev | |
| - 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 |