Skip to content

Commit 59238d7

Browse files
sdl3 test commit
1 parent f53e2b9 commit 59238d7

2 files changed

Lines changed: 212 additions & 0 deletions

File tree

.github/workflows/sdl3-test.yaml

Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
name: Build SDL3 test packages
2+
3+
on:
4+
push:
5+
branches:
6+
- "sdl3_25_0_rc11"
7+
8+
9+
env:
10+
QT_VERSION: 5.12.12
11+
12+
jobs:
13+
build_linux:
14+
strategy:
15+
fail-fast: true
16+
matrix:
17+
configuration: [FastDebug, Release]
18+
os: [ubuntu-latest, ubuntu-24.04-arm]
19+
include:
20+
- os: ubuntu-latest
21+
arch: x86_64
22+
- os: ubuntu-24.04-arm
23+
arch: arm64
24+
name: Linux
25+
runs-on: ${{ matrix.os }}
26+
container: ghcr.io/scp-fs2open/linux_build:sha-71099c9
27+
steps:
28+
- uses: actions/checkout@v5
29+
name: Checkout
30+
with:
31+
submodules: true
32+
- name: Configure CMake
33+
env:
34+
CONFIGURATION: ${{ matrix.configuration }}
35+
COMPILER: gcc-9
36+
ENABLE_QTFRED: OFF
37+
run: $GITHUB_WORKSPACE/ci/linux/configure_cmake.sh
38+
- name: Compile
39+
working-directory: ./build
40+
env:
41+
CONFIGURATION: ${{ matrix.configuration }}
42+
run: |
43+
LD_LIBRARY_PATH=$Qt5_DIR/lib:$LD_LIBRARY_PATH ninja -k 20 all
44+
- name: Run Tests
45+
working-directory: ./build
46+
env:
47+
CONFIGURATION: ${{ matrix.configuration }}
48+
XDG_RUNTIME_DIR: /root
49+
run: $GITHUB_WORKSPACE/ci/linux/run_tests.sh
50+
- name: Generate AppImage
51+
working-directory: ./build
52+
env:
53+
CONFIGURATION: ${{ matrix.configuration }}
54+
run: $GITHUB_WORKSPACE/ci/linux/generate_appimage.sh $GITHUB_WORKSPACE/build/install
55+
- name: Upload build result
56+
uses: actions/upload-artifact@v4
57+
with:
58+
name: linux-${{ matrix.configuration }}-${{ matrix.arch }}
59+
path: ${{ github.workspace }}/build/install/*.AppImage
60+
61+
build_windows:
62+
strategy:
63+
fail-fast: true
64+
matrix:
65+
configuration: [FastDebug, Release]
66+
os: [windows-2022, windows-11-arm]
67+
arch: [Win32, x64, ARM64]
68+
simd: [SSE2, ""]
69+
exclude:
70+
- arch: Win32
71+
os: windows-11-arm
72+
- arch: x64
73+
os: windows-11-arm
74+
- arch: ARM64
75+
os: windows-2022
76+
- os: windows-2022
77+
simd: ""
78+
- os: windows-11-arm
79+
simd: SSE2
80+
name: Windows
81+
runs-on: ${{ matrix.os }}
82+
steps:
83+
- uses: actions/checkout@v5
84+
name: Checkout
85+
with:
86+
submodules: true
87+
# - name: Prepare Vulkan SDK
88+
# uses: humbletim/setup-vulkan-sdk@v1.2.1
89+
# with:
90+
# vulkan-query-version: 1.4.304.1
91+
# vulkan-components: Vulkan-Headers, Vulkan-Loader
92+
# vulkan-use-cache: true
93+
- name: Configure CMake
94+
env:
95+
CONFIGURATION: ${{ matrix.configuration }}
96+
ARCHITECTURE: ${{ matrix.arch }}
97+
SIMD: ${{ matrix.simd }}
98+
shell: bash
99+
run: |
100+
mkdir build
101+
cd build
102+
103+
if [ "$ARCHITECTURE" = "Win32" ]; then
104+
cmake -DCMAKE_INSTALL_PREFIX="$(pwd)/install" -DFSO_USE_SPEECH="ON" \
105+
-DFSO_USE_VOICEREC="ON" -DFORCED_SIMD_INSTRUCTIONS="$SIMD" \
106+
-DFSO_BUILD_QTFRED=OFF -DFSO_BUILD_TESTS=ON \
107+
-DFSO_INSTALL_DEBUG_FILES="ON" -DFSO_BUILD_WITH_VULKAN="OFF" -A "$ARCHITECTURE" \
108+
-G "Visual Studio 17 2022" -T "v143" -DCMAKE_BUILD_TYPE=$CONFIGURATION ..
109+
else
110+
cmake -DCMAKE_INSTALL_PREFIX="$(pwd)/install" -DFSO_USE_SPEECH="ON" \
111+
-DFSO_USE_VOICEREC="ON" -DFORCED_SIMD_INSTRUCTIONS="$SIMD" \
112+
-DFSO_BUILD_QTFRED=OFF -DFSO_BUILD_TESTS=ON \
113+
-DFSO_INSTALL_DEBUG_FILES="ON" -A "$ARCHITECTURE" \
114+
-G "Visual Studio 17 2022" -T "v143" -DCMAKE_BUILD_TYPE=$CONFIGURATION ..
115+
fi
116+
- name: Compile
117+
working-directory: ./build
118+
env:
119+
CONFIGURATION: ${{ matrix.configuration }}
120+
COMPILER: ${{ matrix.compiler }}
121+
shell: bash
122+
run: |
123+
cmake --build . --config "$CONFIGURATION" --target INSTALL -- /verbosity:minimal
124+
ls -alR "$(pwd)/install"
125+
- name: Run Tests
126+
working-directory: ./build
127+
env:
128+
CONFIGURATION: ${{ matrix.configuration }}
129+
shell: bash
130+
run: ./bin/$CONFIGURATION/unittests --gtest_shuffle
131+
- name: Set artifact id
132+
shell: bash
133+
run: |
134+
id=
135+
if [ -n "${{ matrix.simd }}" ]; then
136+
id="${{ matrix.configuration }}-${{ matrix.arch }}-${{ matrix.simd }}"
137+
else
138+
id="${{ matrix.configuration }}-${{ matrix.arch }}"
139+
fi
140+
echo "artifact_id=${id}" >> $GITHUB_ENV
141+
- name: Upload build result
142+
uses: actions/upload-artifact@v4
143+
with:
144+
name: windows-${{ env.artifact_id }}
145+
path: ${{ github.workspace }}/build/install/*
146+
147+
build_mac:
148+
strategy:
149+
fail-fast: true
150+
matrix:
151+
configuration: [FastDebug, Release]
152+
compiler: [clang]
153+
arch: [x86_64, arm64]
154+
name: Mac
155+
runs-on: macos-latest
156+
steps:
157+
- uses: actions/checkout@v5
158+
name: Checkout
159+
with:
160+
submodules: true
161+
fetch-depth: 0
162+
# - name: Prepare Vulkan SDK
163+
# uses: humbletim/setup-vulkan-sdk@v1.2.1
164+
# with:
165+
# vulkan-query-version: 1.4.304.1
166+
# vulkan-components: Vulkan-Headers, Vulkan-Loader
167+
# vulkan-use-cache: true
168+
- name: Configure CMake
169+
env:
170+
CONFIGURATION: ${{ matrix.configuration }}
171+
COMPILER: ${{ matrix.compiler }}
172+
ARCHITECTURE: ${{ matrix.arch }}
173+
JOB_CMAKE_OPTIONS: ${{ matrix.cmake_options }}
174+
ENABLE_QTFRED: OFF
175+
run: $GITHUB_WORKSPACE/ci/linux/configure_cmake.sh
176+
- name: Compile
177+
working-directory: ./build
178+
run: LD_LIBRARY_PATH=$Qt5_DIR/lib:$LD_LIBRARY_PATH ninja all
179+
- name: Run Tests
180+
working-directory: ./build
181+
env:
182+
CONFIGURATION: ${{ matrix.configuration }}
183+
ARCH: ${{ matrix.arch }}
184+
XDG_RUNTIME_DIR: /root
185+
run: $GITHUB_WORKSPACE/ci/linux/run_tests.sh
186+
- name: Sign builds
187+
working-directory: ./build/bin
188+
run: |
189+
# make sure OpenAL framework is signed
190+
find . -name OpenAL -type f | while read xx; do codesign --force -s - $xx; done
191+
find . -name OpenAL.framework -type d | while read xx; do codesign --force -s - $xx; done
192+
# make sure dylibs are signed
193+
find . -name \*.dylib -type f | while read xx; do codesign --force -s - $xx; done
194+
# sign binaries
195+
find . -perm +111 -type f | grep MacOS | while read xx; do codesign --force -s - $xx; done
196+
# sign apps
197+
find . -name \*.app -maxdepth 1 | while read xx; do codesign --force -s - $xx; done
198+
- name: Package build result
199+
working-directory: ./build/bin
200+
# Use GNU tar here (part of runner image) to avoid weird corruption bug with bsdtar
201+
# Ref: https://github.com/actions/runner-images/issues/2619
202+
run: gtar -cvzf macos-build-${{ matrix.configuration }}-${{ matrix.arch }}.tgz *.app
203+
- name: Upload build result
204+
uses: actions/upload-artifact@v4
205+
with:
206+
name: mac-${{ matrix.configuration }}-${{ matrix.arch }}
207+
path: ${{ github.workspace }}/build/bin/macos-build-${{ matrix.configuration }}-${{ matrix.arch }}.tgz

version_override.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
set(FSO_VERSION_MAJOR 25)
2+
set(FSO_VERSION_MINOR 0)
3+
set(FSO_VERSION_BUILD 0)
4+
set(FSO_VERSION_REVISION 0)
5+
set(FSO_VERSION_REVISION_STR RC11_SDL3)

0 commit comments

Comments
 (0)