mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-06-05 14:24:20 +00:00
98 lines
2.9 KiB
YAML
98 lines
2.9 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
tags:
|
|
- "v*.*.*"
|
|
pull_request:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
build-and-test:
|
|
name: Build & Test (${{ matrix.os }})
|
|
runs-on: ${{ matrix.os }}
|
|
continue-on-error: ${{ github.event_name != 'push' || !startsWith(github.ref, 'refs/tags/v') }}
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: windows-2025
|
|
artifact: windows
|
|
debug_preset: windows-msvc-relwithdebinfo
|
|
- os: ubuntu-24.04
|
|
artifact: linux
|
|
debug_preset: linux-gnu-relwithdebinfo
|
|
- os: macos-15-intel
|
|
artifact: macos
|
|
debug_preset: macos-relwithdebinfo
|
|
|
|
steps:
|
|
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
|
with:
|
|
submodules: true
|
|
- name: Add msbuild to PATH (Windows only)
|
|
if: ${{ matrix.os == 'windows-2025' }}
|
|
uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3
|
|
with:
|
|
vs-version: '[17,18)'
|
|
msbuild-architecture: x64
|
|
- name: Get CMake 3.x
|
|
uses: lukka/get-cmake@591817e96fcad43505fb4eae36172462abb3a42e # v4.3.3
|
|
with:
|
|
cmakeVersion: "~3.25.0"
|
|
- name: cmake
|
|
uses: lukka/run-cmake@5d55ea7949e25f69f0ecb516d8d572297e03a956 # v10.9
|
|
with:
|
|
workflowPreset: "${{ matrix.debug_preset }}"
|
|
|
|
- name: Extract Linux debug symbols
|
|
if: matrix.os == 'ubuntu-24.04'
|
|
run: |
|
|
find build -type f -name '*Server' | while read bin; do
|
|
objcopy --only-keep-debug "$bin" "${bin}.debug"
|
|
objcopy --strip-debug --add-gnu-debuglink="${bin}.debug" "$bin"
|
|
done
|
|
|
|
- name: artifacts
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: build-${{matrix.artifact}}
|
|
path: |
|
|
build/*/*Server*
|
|
build/*/*.ini
|
|
build/*/*.so
|
|
build/*/*.dll
|
|
build/*/*.dylib
|
|
build/*/vanity/
|
|
build/*/navmeshes/
|
|
build/*/migrations/
|
|
build/*/*.dcf
|
|
!build/*/*.pdb
|
|
!build/*/d*/
|
|
!build/*/*.dSYM/
|
|
!build/**/*.debug
|
|
|
|
- name: debug symbols (Windows)
|
|
if: matrix.os == 'windows-2025'
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: debug-${{matrix.artifact}}
|
|
path: |
|
|
build/*/*.pdb
|
|
build/*/d*/
|
|
retention-days: 30
|
|
- name: debug symbols (Linux)
|
|
if: matrix.os == 'ubuntu-24.04'
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: debug-${{matrix.artifact}}
|
|
path: build/**/*.debug
|
|
retention-days: 30
|
|
- name: debug symbols (macOS)
|
|
if: matrix.os == 'macos-15-intel'
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: debug-${{matrix.artifact}}
|
|
path: build/**/*.dSYM/
|
|
retention-days: 30
|