Files
ReSkate/.github/workflows/linux-server.yml
T
juan 1d7bd5048e CI: build all targets for ctest + clarify Linux layers
- workflow built only dingosdk_server so ctest binaries missing (Not Run)
- build all targets before ctest
- layers: read works on Linux, export needs Windows game + Oodle;
  document player-cache copy path
2026-10-03 17:17:49 -03:00

66 lines
1.9 KiB
YAML

name: Linux Server
on:
push:
branches: [linux-server-native, main]
pull_request:
branches: [main]
workflow_dispatch:
permissions:
contents: read
jobs:
build:
name: Linux x64 Server
runs-on: ubuntu-24.04
timeout-minutes: 30
steps:
- name: Check out source
uses: actions/checkout@v7
with:
persist-credentials: false
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake libssl-dev
- name: Configure
run: cmake --preset linux-x64 -DDINGOSDK_BUILD_MULTIPLAYER_TESTS=ON
- name: Build server and tests
run: cmake --build --preset linux-release --parallel 4
- name: Run portable tests
run: ctest --test-dir build/linux --output-on-failure
- name: Stage package
run: |
set -eux
package='build/package-linux'
mkdir -p "$package/licenses"
cp build/linux/ReSkateServer "$package/"
cp Server/README-linux.md "$package/"
cp Server/README.txt "$package/README-server.txt"
cp contrib/reskate-server.service "$package/"
cp LICENSE "$package/LICENSE.txt"
for library in rapidjson sqlite miniz bcdec; do
cp "External/$library/LICENSE.txt" "$package/licenses/$library-LICENSE.txt"
done
for library in spdlog lz4 zstd steam_networking; do
cp "External/$library/LICENSE" "$package/licenses/$library-LICENSE.txt"
done
cp External/fonts/*-LICENSE.txt "$package/licenses/"
file "$package/ReSkateServer"
- name: Upload Linux server
uses: actions/upload-artifact@v7
with:
name: ReSkateServer-linux-x64-${{ github.sha }}
path: build/package-linux/
archive: true
if-no-files-found: error
retention-days: 30