mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-06-07 15:24:22 +00:00
feat: update CI workflows to support new OS versions and improve artifact handling
This commit is contained in:
54
.github/workflows/build-and-test.yml
vendored
54
.github/workflows/build-and-test.yml
vendored
@@ -15,20 +15,32 @@ jobs:
|
|||||||
continue-on-error: ${{ github.event_name != 'push' || !startsWith(github.ref, 'refs/tags/v') }}
|
continue-on-error: ${{ github.event_name != 'push' || !startsWith(github.ref, 'refs/tags/v') }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ windows-2022, ubuntu-22.04, macos-15-intel ]
|
include:
|
||||||
|
- os: windows-2025
|
||||||
|
artifact: windows
|
||||||
|
preset: ci-windows-2022
|
||||||
|
debug_preset: windows-msvc-relwithdebinfo
|
||||||
|
- os: ubuntu-24.04
|
||||||
|
artifact: linux
|
||||||
|
preset: ci-ubuntu-22.04
|
||||||
|
debug_preset: linux-gnu-relwithdebinfo
|
||||||
|
- os: macos-15-intel
|
||||||
|
artifact: macos
|
||||||
|
preset: ci-macos-15-intel
|
||||||
|
debug_preset: macos-relwithdebinfo
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Add msbuild to PATH (Windows only)
|
- name: Add msbuild to PATH (Windows only)
|
||||||
if: ${{ matrix.os == 'windows-2022' }}
|
if: ${{ matrix.os == 'windows-2025' }}
|
||||||
uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3
|
uses: microsoft/setup-msbuild@30375c66a4eea26614e0d39710365f22f8b0af57 # v3
|
||||||
with:
|
with:
|
||||||
vs-version: '[17,18)'
|
vs-version: '[17,18)'
|
||||||
msbuild-architecture: x64
|
msbuild-architecture: x64
|
||||||
- name: Install libssl and switch to XCode 15.2 (Mac Only)
|
- name: Install libssl and switch to XCode 15.2 (Mac Only)
|
||||||
if: ${{ matrix.os == 'macos-13' }}
|
if: ${{ matrix.os == 'macos-15-intel' }}
|
||||||
run: |
|
run: |
|
||||||
brew install openssl@3
|
brew install openssl@3
|
||||||
sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer
|
sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer
|
||||||
@@ -39,11 +51,11 @@ jobs:
|
|||||||
- name: cmake
|
- name: cmake
|
||||||
uses: lukka/run-cmake@5d55ea7949e25f69f0ecb516d8d572297e03a956 # v10.9
|
uses: lukka/run-cmake@5d55ea7949e25f69f0ecb516d8d572297e03a956 # v10.9
|
||||||
with:
|
with:
|
||||||
workflowPreset: "ci-${{matrix.os}}"
|
workflowPreset: "${{ matrix.debug_preset }}"
|
||||||
- name: artifacts
|
- name: artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: build-${{matrix.os}}
|
name: build-${{matrix.artifact}}
|
||||||
path: |
|
path: |
|
||||||
build/*/*Server*
|
build/*/*Server*
|
||||||
build/*/*.ini
|
build/*/*.ini
|
||||||
@@ -56,3 +68,35 @@ jobs:
|
|||||||
build/*/*.dcf
|
build/*/*.dcf
|
||||||
!build/*/*.pdb
|
!build/*/*.pdb
|
||||||
!build/*/d*/
|
!build/*/d*/
|
||||||
|
!build/*/*.dSYM/
|
||||||
|
|
||||||
|
- 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: debug symbols (Windows)
|
||||||
|
if: matrix.os == 'windows-2025'
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
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@v4
|
||||||
|
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@v4
|
||||||
|
with:
|
||||||
|
name: debug-${{matrix.artifact}}
|
||||||
|
path: build/**/*.dSYM/
|
||||||
|
retention-days: 30
|
||||||
|
|||||||
6
.github/workflows/canary.yml
vendored
6
.github/workflows/canary.yml
vendored
@@ -59,9 +59,9 @@ jobs:
|
|||||||
- name: Package artifacts
|
- name: Package artifacts
|
||||||
run: |
|
run: |
|
||||||
declare -A platform_map=(
|
declare -A platform_map=(
|
||||||
["build-windows-2022"]="darkflame-universe-windows"
|
["build-windows"]="darkflame-universe-windows"
|
||||||
["build-ubuntu-22.04"]="darkflame-universe-linux"
|
["build-linux"]="darkflame-universe-linux"
|
||||||
["build-macos-15-intel"]="darkflame-universe-macos"
|
["build-macos"]="darkflame-universe-macos"
|
||||||
)
|
)
|
||||||
cd artifacts
|
cd artifacts
|
||||||
for dir in */; do
|
for dir in */; do
|
||||||
|
|||||||
4
.github/workflows/pr-title-check.yml
vendored
4
.github/workflows/pr-title-check.yml
vendored
@@ -1,7 +1,7 @@
|
|||||||
name: PR Title Check
|
name: PR Title Check
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request_target:
|
||||||
types: [opened, edited, synchronize, reopened]
|
types: [opened, edited, synchronize, reopened]
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
@@ -14,7 +14,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check PR title follows Conventional Commits
|
- name: Check PR title follows Conventional Commits
|
||||||
uses: amannn/action-semantic-pull-request@v5
|
uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
|
|||||||
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@@ -44,9 +44,9 @@ jobs:
|
|||||||
- name: Package artifacts
|
- name: Package artifacts
|
||||||
run: |
|
run: |
|
||||||
declare -A platform_map=(
|
declare -A platform_map=(
|
||||||
["build-windows-2022"]="darkflame-universe-windows"
|
["build-windows"]="darkflame-universe-windows"
|
||||||
["build-ubuntu-22.04"]="darkflame-universe-linux"
|
["build-linux"]="darkflame-universe-linux"
|
||||||
["build-macos-15-intel"]="darkflame-universe-macos"
|
["build-macos"]="darkflame-universe-macos"
|
||||||
)
|
)
|
||||||
cd artifacts
|
cd artifacts
|
||||||
for dir in */; do
|
for dir in */; do
|
||||||
|
|||||||
Reference in New Issue
Block a user