55 tags :
66 - ' nightly_*'
77
8- env :
9- QT_VERSION : 5.12.12
10-
118jobs :
129 build_linux :
1310 strategy :
2118 arch : arm64
2219 name : Linux
2320 runs-on : ${{ matrix.os }}
24- container : ghcr.io/scp-fs2open/linux_build:sha-71099c9
21+ container : ghcr.io/scp-fs2open/linux_build:sha-ab87451
2522 steps :
2623 - uses : actions/checkout@v7
2724 name : Checkout
4037 working-directory : ./build
4138 env :
4239 CONFIGURATION : ${{ matrix.configuration }}
43- run : |
44- LD_LIBRARY_PATH=$Qt5_DIR/lib:$LD_LIBRARY_PATH ninja -k 20 all
40+ run : ninja -k 20 all
4541 - name : Run Tests
4642 working-directory : ./build
4743 env :
6258 name : Build Linux distribution zip
6359 needs : build_linux
6460 runs-on : ubuntu-latest
65- container : ghcr.io/scp-fs2open/sftp_upload:sha-844131c
61+ container : ghcr.io/scp-fs2open/sftp_upload:sha-ab87451
6662 strategy :
6763 matrix :
6864 arch : [x86_64, arm64]
@@ -107,10 +103,22 @@ jobs:
107103 strategy :
108104 matrix :
109105 configuration : [FastDebug, Release]
110- arch : [Win32, x64]
111- simd : [SSE2]
106+ os : [windows-2022, windows-11-arm]
107+ arch : [Win32, x64, ARM64]
108+ simd : [SSE2, ""]
109+ exclude :
110+ - arch : Win32
111+ os : windows-11-arm
112+ - arch : x64
113+ os : windows-11-arm
114+ - arch : ARM64
115+ os : windows-2022
116+ - os : windows-2022
117+ simd : " "
118+ - os : windows-11-arm
119+ simd : SSE2
112120 name : Windows
113- runs-on : windows-2022
121+ runs-on : ${{ matrix.os }}
114122 steps :
115123 - uses : actions/checkout@v7
116124 name : Checkout
@@ -119,36 +127,6 @@ jobs:
119127 - name : Set workspace as safe
120128 # This appears to be broken in current actions, so do it manually
121129 run : git config --global --add safe.directory "$GITHUB_WORKSPACE"
122- # - name: Cache Qt
123- # id: cache-qt-win
124- # uses: actions/cache@v1
125- # with:
126- # path: ${{ github.workspace }}/../Qt
127- # key: ${{ runner.os }}-${{ matrix.arch }}-QtCache-${{ env.QT_VERSION }}
128- # - name: Install Qt (32 bit)
129- # uses: jurplel/install-qt-action@v2
130- # if: ${{ matrix.arch == 'Win32' }}
131- # with:
132- # version: ${{ env.QT_VERSION }}
133- # dir: ${{ github.workspace }}/..
134- # arch: win32_msvc2017
135- # cached: ${{ steps.cache-qt-win.outputs.cache-hit }}
136- # aqtversion: ==0.8
137- # - name: Install Qt (64 bit)
138- # uses: jurplel/install-qt-action@v2
139- # if: ${{ matrix.arch == 'x64' }}
140- # with:
141- # version: ${{ env.QT_VERSION }}
142- # dir: ${{ github.workspace }}/..
143- # arch: win64_msvc2017_64
144- # cached: ${{ steps.cache-qt-win.outputs.cache-hit }}
145- # aqtversion: ==0.8
146- - name : Prepare Vulkan SDK
147- uses : humbletim/setup-vulkan-sdk@v1.2.1
148- with :
149- vulkan-query-version : 1.4.304.1
150- vulkan-components : Vulkan-Headers, Vulkan-Loader
151- vulkan-use-cache : true
152130 - name : Configure CMake
153131 env :
154132 CONFIGURATION : ${{ matrix.configuration }}
@@ -158,20 +136,11 @@ jobs:
158136 run : |
159137 mkdir build
160138 cd build
161-
162- if [ "$ARCHITECTURE" = "Win32" ]; then
163- cmake -DCMAKE_INSTALL_PREFIX="$(pwd)/install" -DFSO_USE_SPEECH="ON" \
164- -DFSO_USE_VOICEREC="ON" -DFORCED_SIMD_INSTRUCTIONS="$SIMD" \
165- -DFSO_BUILD_QTFRED=OFF -DFSO_BUILD_TESTS=ON \
166- -DFSO_INSTALL_DEBUG_FILES="ON" -DFSO_BUILD_WITH_VULKAN="OFF" -A "$ARCHITECTURE" \
167- -G "Visual Studio 17 2022" -T "v143" -DCMAKE_BUILD_TYPE=$CONFIGURATION ..
168- else
169- cmake -DCMAKE_INSTALL_PREFIX="$(pwd)/install" -DFSO_USE_SPEECH="ON" \
170- -DFSO_USE_VOICEREC="ON" -DFORCED_SIMD_INSTRUCTIONS="$SIMD" \
171- -DFSO_BUILD_QTFRED=OFF -DFSO_BUILD_TESTS=ON \
172- -DFSO_INSTALL_DEBUG_FILES="ON" -A "$ARCHITECTURE" \
173- -G "Visual Studio 17 2022" -T "v143" -DCMAKE_BUILD_TYPE=$CONFIGURATION ..
174- fi
139+ cmake -DCMAKE_INSTALL_PREFIX="$(pwd)/install" -DFSO_USE_SPEECH="ON" \
140+ -DFSO_USE_VOICEREC="ON" -DFORCED_SIMD_INSTRUCTIONS="$SIMD" \
141+ -DFSO_BUILD_QTFRED=OFF -DFSO_BUILD_TESTS=ON \
142+ -DFSO_INSTALL_DEBUG_FILES="ON" -A "$ARCHITECTURE" \
143+ -G "Visual Studio 17 2022" -T "v143" -DCMAKE_BUILD_TYPE=$CONFIGURATION ..
175144 - name : Compile
176145 working-directory : ./build
177146 env :
@@ -187,20 +156,37 @@ jobs:
187156 CONFIGURATION : ${{ matrix.configuration }}
188157 shell : bash
189158 run : ./bin/$CONFIGURATION/unittests --gtest_shuffle
159+ - name : Set artifact id
160+ shell : bash
161+ run : |
162+ id=
163+ if [ -n "${{ matrix.simd }}" ]; then
164+ id="${{ matrix.configuration }}-${{ matrix.arch }}-${{ matrix.simd }}"
165+ else
166+ id="${{ matrix.configuration }}-${{ matrix.arch }}"
167+ fi
168+ echo "artifact_id=${id}" >> $GITHUB_ENV
190169 - name : Upload build result
191170 uses : actions/upload-artifact@v7
192171 with :
193- name : windows-${{ matrix.configuration }}-${{ matrix.arch }}-${{ matrix.simd }}
172+ name : windows-${{ env.artifact_id }}
194173 path : ${{ github.workspace }}/build/install/*
195174 windows_zip :
196175 name : Build Windows distribution zip
197176 needs : build_windows
198177 runs-on : ubuntu-latest
199- container : ghcr.io/scp-fs2open/sftp_upload:sha-844131c
178+ container : ghcr.io/scp-fs2open/sftp_upload:sha-ab87451
200179 strategy :
201180 matrix :
202- arch : [Win32, x64]
203- simd : [SSE2]
181+ arch : [Win32, x64, ARM64]
182+ simd : [SSE2, ""]
183+ exclude :
184+ - arch : Win32
185+ simd : " "
186+ - arch : x64
187+ simd : " "
188+ - arch : ARM64
189+ simd : SSE2
204190 steps :
205191 - uses : actions/checkout@v7
206192 name : Checkout
@@ -210,22 +196,31 @@ jobs:
210196 - name : Set workspace as safe
211197 # This appears to be broken in current actions, so do it manually
212198 run : git config --global --add safe.directory "$GITHUB_WORKSPACE"
199+ - name : Set artifact id
200+ shell : bash
201+ run : |
202+ id=
203+ if [ -n "${{ matrix.simd }}" ]; then
204+ id="${{ matrix.arch }}-${{ matrix.simd }}"
205+ else
206+ id="${{ matrix.arch }}"
207+ fi
208+ echo "artifact_id=${id}" >> $GITHUB_ENV
213209 - name : Download Release builds
214210 uses : actions/download-artifact@v8
215211 with :
216- name : windows-Release-${{ matrix.arch }}-${{ matrix.simd }}
212+ name : windows-Release-${{ env.artifact_id }}
217213 path : builds
218214 - name : Download FastDebug builds
219215 uses : actions/download-artifact@v8
220216 with :
221- name : windows-FastDebug-${{ matrix.arch }}-${{ matrix.simd }}
217+ name : windows-FastDebug-${{ env.artifact_id }}
222218 path : builds
223219 - name : Create Distribution package
224220 working-directory : ./builds
225221 shell : bash
226222 env :
227- ARCH : ${{ matrix.arch }}
228- SIMD : ${{ matrix.simd }}
223+ ID : ${{ env.artifact_id }}
229224 run : $GITHUB_WORKSPACE/ci/linux/create_dist_pack.sh Windows
230225 - name : Upload result package
231226 working-directory : ./builds
@@ -246,21 +241,6 @@ jobs:
246241 name : Mac
247242 runs-on : macos-latest
248243 steps :
249- # - name: Cache Qt
250- # id: cache-qt-mac
251- # uses: actions/cache@v1
252- # with:
253- # path: ${{ github.workspace }}/../Qt
254- # key: ${{ runner.os }}-QtCache-${{ env.QT_VERSION }}
255- # - name: Install Qt
256- # uses: jurplel/install-qt-action@v2
257- # with:
258- # version: ${{ env.QT_VERSION }}
259- # dir: ${{ github.workspace }}/..
260- # cached: ${{ steps.cache-qt-mac.outputs.cache-hit }}
261- # setup-python: 'false'
262- # aqtversion: ==1.1.3
263- # py7zrversion: '==0.19.*'
264244 - uses : actions/checkout@v7
265245 name : Checkout
266246 with :
@@ -269,12 +249,6 @@ jobs:
269249 - name : Set workspace as safe
270250 # This appears to be broken in current actions, so do it manually
271251 run : git config --global --add safe.directory "$GITHUB_WORKSPACE"
272- - name : Prepare Vulkan SDK
273- uses : humbletim/setup-vulkan-sdk@v1.2.1
274- with :
275- vulkan-query-version : 1.4.304.1
276- vulkan-components : Vulkan-Headers, Vulkan-Loader
277- vulkan-use-cache : true
278252 - name : Set up test version
279253 shell : bash
280254 run : |
@@ -291,7 +265,7 @@ jobs:
291265 run : $GITHUB_WORKSPACE/ci/linux/configure_cmake.sh
292266 - name : Compile
293267 working-directory : ./build
294- run : LD_LIBRARY_PATH=$Qt5_DIR/lib:$LD_LIBRARY_PATH ninja all
268+ run : ninja all
295269 - name : Run Tests
296270 working-directory : ./build
297271 env :
@@ -325,7 +299,7 @@ jobs:
325299 name : Build Mac distribution zip
326300 needs : build_mac
327301 runs-on : ubuntu-latest
328- container : ghcr.io/scp-fs2open/sftp_upload:sha-844131c
302+ container : ghcr.io/scp-fs2open/sftp_upload:sha-ab87451
329303 strategy :
330304 matrix :
331305 arch : [x86_64, arm64]
0 commit comments