Scripting Support, Custom Audio, Custom Models AND MORE - Poowaahhhhhhhhhh #175
Workflow file for this run
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: Linux Validation | |
| on: | |
| pull_request: | |
| branches: [ "*" ] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Update machine | |
| run: sudo apt update | |
| - name: Install dependencies | |
| run: sudo apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev libogg-dev libvorbis-dev | |
| - name: Install python dependencies | |
| run: pip3 install cryptography --break-system-packages | |
| - name: Install latest SDL | |
| run: | | |
| export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | |
| wget https://www.libsdl.org/release/SDL2-2.24.1.tar.gz | |
| tar -xzf SDL2-2.24.1.tar.gz | |
| cd SDL2-2.24.1 | |
| ./configure | |
| make -j 10 | |
| sudo make install | |
| - name: Install latest tinyxml2 | |
| run: | | |
| export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | |
| wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz | |
| tar -xzf 10.0.0.tar.gz | |
| cd tinyxml2-10.0.0 | |
| mkdir -p build | |
| cd build | |
| cmake .. | |
| make | |
| sudo make install | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Install Python dependencies | |
| run: pip install -r libultraship/requirements.txt | |
| - name: Build | |
| run: | | |
| cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DPython3_EXECUTABLE=$(which python3) | |
| cmake --build build-cmake -j | |
| - name: Create Package | |
| run: | | |
| mkdir Ghostship-release | |
| mv build-cmake/Ghostship Ghostship-release/ | |
| - name: Publish packaged artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Ghostship-linux-x64 | |
| path: Ghostship-release | |
| retention-days: 1 |