Skip to content

fix(launcher): regenerate game-server-admin launcher with the XDG pid… #286

fix(launcher): regenerate game-server-admin launcher with the XDG pid…

fix(launcher): regenerate game-server-admin launcher with the XDG pid… #286

# This workflow is managed by gh actions-lock.
# SPDX-License-Identifier: MPL-2.0
# Cross-platform CI for Game Server Admin
# Builds and tests on Linux, macOS, and Windows
name: Cross-Platform Build & Test
on:
push:
branches: [main, 'claude/**']
pull_request:
branches: [main]
permissions:
actions: read
contents: read
jobs:
build-and-test:
strategy:
fail-fast: false
matrix:
include:
# Linux only for now; macOS/Windows deferred to the cross-platform
# effort. Kept as a matrix so re-adding os/name there is trivial.
- os: ubuntu-latest
name: Linux
run-integration: true
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
- name: Install Zig 0.15.2
# Pinned + sha256-verified tarball; no third-party action (#103).
run: bash scripts/install-zig.sh
- name: Cache Zig
uses: actions/cache@v4.2.0
with:
path: |
~/.cache/zig
~/AppData/Local/zig
key: zig-${{ matrix.os }}-${{ hashFiles('src/interface/ffi/build.zig') }}
- name: Build
working-directory: src/interface/ffi
run: zig build
- name: Unit Tests
working-directory: src/interface/ffi
run: zig build test
- name: Integration Tests (Linux only)
if: matrix.run-integration
working-directory: src/interface/ffi
run: zig build test-integration
- name: Smoke Tests
working-directory: src/interface/ffi
run: zig build test-smoke
- name: Property Tests
working-directory: src/interface/ffi
run: zig build test-property
- name: Behavioral Tests (mock servers)
working-directory: src/interface/ffi
run: zig build test-behavioral
- name: CLI Tests
working-directory: src/interface/ffi
run: zig build test-cli
- name: Fuzz seed corpus
working-directory: src/interface/ffi
run: zig build fuzz