Skip to content

Add ini switch for removing emote when eating. Now send object pointer to Eat trigger #496

Add ini switch for removing emote when eating. Now send object pointer to Eat trigger

Add ini switch for removing emote when eating. Now send object pointer to Eat trigger #496

Workflow file for this run

name: Build
on:
- push
- pull_request
jobs:
windows-x86_64:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Add msbuild to PATH
uses: microsoft/[email protected]
- name: CMake
run: cmake -G "Visual Studio 17 2022" .\
- name: MSBuild
run: msbuild SphereServer.sln /verbosity:minimal /maxcpucount /p:Configuration=Nightly
- name: Create package
run: |
mkdir accounts, logs, save, scripts
7z a SphereSvrX-win-x86_64-nightly.zip accounts\ logs\ save\ scripts\ .\bin-x86_64\Nightly\SphereSvrX64_nightly.exe .\src\sphere.ini .\src\sphereCrypt.ini .\lib\bin\x86_64\mariadb\libmariadb.dll
# only upload artifact in pull request or if is main/master branch
- name: Upload artifact
if: contains(fromJson('["master", "main"]'), github.ref_name) || ${{ github.event_name == 'pull_request' }}
uses: actions/upload-artifact@v3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Builds
path: SphereSvrX-win-x86_64-nightly.zip
windows-x86:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Add msbuild to PATH
uses: microsoft/[email protected]
- name: CMake
run: cmake -G "Visual Studio 17 2022" -A Win32 .\
- name: MSBuild
run: msbuild SphereServer.sln /verbosity:minimal /maxcpucount /p:Configuration=Nightly
- name: Create package
run: |
mkdir accounts, logs, save, scripts
7z a SphereSvrX-win-x86-nightly.zip accounts\ logs\ save\ scripts\ .\bin-x86\Nightly\SphereSvrX32_nightly.exe .\src\sphere.ini .\src\sphereCrypt.ini .\lib\bin\x86\mariadb\libmariadb.dll
# only upload artifact in pull request or if is main/master branch
- name: Upload artifact
if: contains(fromJson('["master", "main"]'), github.ref_name) || ${{ github.event_name == 'pull_request' }}
uses: actions/upload-artifact@v3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Builds
path: SphereSvrX-win-x86-nightly.zip
linux-x86_64:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install prerequisites
run: |
lsb_release -d
sudo add-apt-repository universe && sudo sudo apt-get -qq update
sudo apt install -yq --no-install-recommends ninja-build gcc-12 g++-12 > /dev/null
sudo apt install -yq --no-install-recommends mariadb-client libmariadb-dev
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 90 --slave /usr/bin/g++ g++ /usr/bin/g++-12
- name: Report building tools
run: |
echo "GCC:" && gcc -v
echo && echo "CMake:" && cmake --version
echo && echo "Ninja:" && ninja --version
- name: CMake
run: |
mkdir -p build
cmake -G "Ninja" -DCMAKE_BUILD_TYPE="Nightly" -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/Linux-GNU-x86_64.cmake -S ./ -B ./build
- name: Ninja
run: cd build && ninja && cd ..
- name: Create package
run: |
mkdir accounts logs save scripts
tar -czf SphereSvrX-linux-x86_64-nightly.tar.gz accounts/ logs/ save/ scripts/ build/bin-x86_64/SphereSvrX64_nightly src/sphere.ini src/sphereCrypt.ini
# only upload artifact in pull request or if is main/master branch
- name: Upload artifact
if: contains(fromJson('["master", "main"]'), github.ref_name) || ${{ github.event_name == 'pull_request' }}
uses: actions/upload-artifact@v3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Builds
path: SphereSvrX-linux-x86_64-nightly.tar.gz
linux-x86:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install prerequisites
run: |
lsb_release -d
echo && echo "** Setting up repos" && echo
sudo sudo dpkg --add-architecture i386
sudo add-apt-repository universe && sudo apt-get -qq update > /dev/null
echo "Done"
echo && echo "** Installing and setting up compiler and tools" && echo
sudo apt install -yqq --no-install-recommends ninja-build linux-libc-dev:i386 gcc-12 gcc-12-multilib g++-12 g++-12-multilib > /dev/null
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 90 --slave /usr/bin/g++ g++ /usr/bin/g++-12
echo "Done"
# MariaDB dependencies
echo && echo "Install MariaDB dependencies"
echo "Installing some deps with apt..."
sudo apt install -yqq --no-install-recommends libc6:i386 libgcc-s1:i386 zlib1g:i386
echo "Installing libssl1.1 manually from Bionic repo..."
wget --quiet --output-document=dep1.deb http://launchpadlibrarian.net/367327733/libssl1.1_1.1.0g-2ubuntu4_i386.deb
sudo dpkg -r --force-all libssl1.1 2> /dev/null
sudo dpkg -i --force-all dep1.deb 2> /dev/null
#sudo apt install --fix-broken ./dep1.deb
echo "Done"
# Workaround: there are no official packages built for i386 on this OS. Let's install from the previous Ubuntu LTS version repo (Bionic).
echo "Installing MariaDB i386 manually from Bionic repo..."
wget --quiet --output-document=temp1.deb http://launchpadlibrarian.net/355877539/libmariadb3_3.0.3-1build1_i386.deb
wget --quiet --output-document=temp2.deb http://launchpadlibrarian.net/355877538/libmariadb-dev_3.0.3-1build1_i386.deb
sudo dpkg -i temp1.deb temp2.deb 2> /dev/null
echo "Done"
- name: Report building tools
run: |
echo "GCC:" && gcc -v
echo && echo "CMake:" && cmake --version
echo && echo "Ninja:" && ninja --version
- name: CMake
run: |
mkdir -p build
cmake -G "Ninja" -DCMAKE_BUILD_TYPE="Nightly" -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/Linux-GNU-x86.cmake -S ./ -B ./build
- name: Ninja
run: cd build && ninja && cd ..
- name: Create package
run: |
mkdir accounts logs save scripts
tar -czf SphereSvrX-linux-x86-nightly.tar.gz accounts/ logs/ save/ scripts/ build/bin-x86/SphereSvrX32_nightly src/sphere.ini src/sphereCrypt.ini
# only upload artifact in pull request or if is main/master branch
- name: Upload artifact
if: contains(fromJson('["master", "main"]'), github.ref_name) || ${{ github.event_name == 'pull_request' }}
uses: actions/upload-artifact@v3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Builds
path: SphereSvrX-linux-x86-nightly.tar.gz
macos-x86_64:
runs-on: macos-12
env:
CMAKE_GEN: Ninja
CMAKE_TCH_64: cmake/toolchains/OSX-AppleClang-x86_64.cmake
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install prerequisites
run: |
sw_vers
echo && echo "** Setting up compiler" && echo
export HOMEBREW_NO_AUTO_UPDATE=1
export HOMEBREW_NO_INSTALL_CLEANUP=1
brew install ninja mariadb-connector-c
- name: Report building tools
run: |
echo "Apple Clang:" && clang --version
echo && echo "CMake:" && cmake --version
echo && echo "Ninja:" && ninja --version
- name: CMake
run: |
mkdir -p build
cmake -G "Ninja" -DCMAKE_BUILD_TYPE="Nightly" -DCMAKE_TOOLCHAIN_FILE="$CMAKE_TCH_64" -S . -B ./build
- name: Ninja
run: cd build && ninja && cd ..
- name: Create package
run: |
pwd
mkdir accounts logs save scripts
zip -r SphereSvrX-osx-x86_64-nightly.zip accounts/ logs/ save/ scripts/
zip SphereSvrX-osx-x86_64-nightly.zip src/sphere.ini src/sphereCrypt.ini build/bin-x86_64/*
# only upload artifact in pull request or if is main/master branch
- name: Upload artifact
if: contains(fromJson('["master", "main"]'), github.ref_name) || ${{ github.event_name == 'pull_request' }}
uses: actions/upload-artifact@v3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Builds
path: SphereSvrX-osx-x86_64-nightly.zip
upload:
needs: [windows-x86_64, windows-x86, linux-x86_64, linux-x86, macos-x86_64]
if: contains(fromJson('["master", "main"]'), github.ref_name)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Download builds
uses: actions/download-artifact@v3
with:
name: Builds
- name: Generate changelog
run: git log --pretty=format:"%ad %an %s" --date=short > Git-Changelog.txt
- name: Create release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Nightly
tag_name: Nightly
prerelease: true
files: |
Git-Changelog.txt
SphereSvrX-win-x86_64-nightly.zip
SphereSvrX-win-x86-nightly.zip
SphereSvrX-linux-x86_64-nightly.tar.gz
SphereSvrX-linux-x86-nightly.tar.gz
SphereSvrX-osx-x86_64-nightly.zip