Skip to content

Commit 2848d2c

Browse files
committed
CI: Fix packaging
1 parent 6d99e89 commit 2848d2c

File tree

1 file changed

+41
-36
lines changed

1 file changed

+41
-36
lines changed

.github/workflows/build.yml

Lines changed: 41 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -19,39 +19,39 @@ jobs:
1919
fail-fast: false
2020
matrix:
2121
confs:
22-
- { name: Windows, runner: windows-latest, shell: bash, plat: windows, arch: x86, mode: debug, test: true, }
23-
- { name: Windows, runner: windows-latest, shell: bash, plat: windows, arch: x86, mode: releasedbg, test: true, }
24-
- { name: Windows, runner: windows-latest, shell: bash, plat: windows, arch: x64, mode: debug, test: true, }
25-
- { name: Windows, runner: windows-latest, shell: bash, plat: windows, arch: x64, mode: releasedbg, test: true, }
26-
- { name: Windows, runner: windows-latest, shell: bash, plat: windows, arch: arm64, mode: debug, test: false, }
27-
- { name: Windows, runner: windows-latest, shell: bash, plat: windows, arch: arm64, mode: releasedbg, test: false, }
28-
- { name: MinGW, runner: windows-latest, shell: 'msys2 {0}', plat: mingw, arch: i686, mode: debug, test: true, msystem: mingw32 }
29-
- { name: MinGW, runner: windows-latest, shell: 'msys2 {0}', plat: mingw, arch: i686, mode: releasedbg, test: true, msystem: mingw32 }
30-
- { name: MinGW, runner: windows-latest, shell: 'msys2 {0}', plat: mingw, arch: x86_64, mode: debug, test: true, msystem: mingw64 }
31-
- { name: MinGW, runner: windows-latest, shell: 'msys2 {0}', plat: mingw, arch: x86_64, mode: releasedbg, test: true, msystem: mingw64 }
32-
- { name: Linux, runner: ubuntu-latest, shell: bash, plat: linux, arch: x86_64, mode: debug, test: true, }
33-
- { name: Linux, runner: ubuntu-latest, shell: bash, plat: linux, arch: x86_64, mode: debug, test: true, config: --asan=y }
34-
- { name: Linux, runner: ubuntu-latest, shell: bash, plat: linux, arch: x86_64, mode: debug, test: true, config: --lsan=y }
35-
- { name: Linux, runner: ubuntu-latest, shell: bash, plat: linux, arch: x86_64, mode: debug, test: true, config: --tsan=y }
36-
- { name: Linux, runner: ubuntu-latest, shell: bash, plat: linux, arch: x86_64, mode: releasedbg, test: true, }
37-
- { name: Android NDK 25c, runner: ubuntu-latest, shell: bash, plat: android, arch: armeabi-v7a, mode: debug, test: false, ndk_ver: 25c, ndk_sdkver: 28 }
38-
- { name: Android NDK 25c, runner: ubuntu-latest, shell: bash, plat: android, arch: armeabi-v7a, mode: releasedbg, test: false, ndk_ver: 25c, ndk_sdkver: 28 }
39-
- { name: Android NDK 25c, runner: ubuntu-latest, shell: bash, plat: android, arch: arm64-v8a, mode: debug, test: false, ndk_ver: 25c, ndk_sdkver: 28 }
40-
- { name: Android NDK 25c, runner: ubuntu-latest, shell: bash, plat: android, arch: arm64-v8a, mode: releasedbg, test: false, ndk_ver: 25c, ndk_sdkver: 28 }
41-
- { name: Android NDK 26b, runner: ubuntu-latest, shell: bash, plat: android, arch: armeabi-v7a, mode: debug, test: false, ndk_ver: 26b, ndk_sdkver: 28 }
42-
- { name: Android NDK 26b, runner: ubuntu-latest, shell: bash, plat: android, arch: armeabi-v7a, mode: releasedbg, test: false, ndk_ver: 26b, ndk_sdkver: 28 }
43-
- { name: Android NDK 26b, runner: ubuntu-latest, shell: bash, plat: android, arch: arm64-v8a, mode: debug, test: false, ndk_ver: 26b, ndk_sdkver: 28 }
44-
- { name: Android NDK 26b, runner: ubuntu-latest, shell: bash, plat: android, arch: arm64-v8a, mode: releasedbg, test: false, ndk_ver: 26b, ndk_sdkver: 28 }
45-
- { name: macOS x86_64, runner: macos-latest, shell: bash, plat: macosx, arch: x86_64, mode: debug, test: true, }
46-
- { name: macOS x86_64, runner: macos-latest, shell: bash, plat: macosx, arch: x86_64, mode: releasedbg, test: true, }
47-
- { name: macOS ARM64, runner: macos-14, shell: bash, plat: macosx, arch: arm64, mode: debug, test: true, }
48-
- { name: macOS ARM64, runner: macos-14, shell: bash, plat: macosx, arch: arm64, mode: releasedbg, test: true, }
49-
- { name: iOS, runner: macos-latest, shell: bash, plat: iphoneos, arch: arm64, mode: debug, test: false, }
50-
- { name: iOS, runner: macos-latest, shell: bash, plat: iphoneos, arch: arm64, mode: releasedbg, test: false, }
51-
- { name: Emscripten, runner: ubuntu-latest, shell: bash, plat: wasm, arch: wasm32, mode: debug, test: false, }
52-
- { name: Emscripten, runner: ubuntu-latest, shell: bash, plat: wasm, arch: wasm32, mode: releasedbg, test: false, }
53-
- { name: Emscripten, runner: ubuntu-latest, shell: bash, plat: wasm, arch: wasm64, mode: debug, test: false, }
54-
- { name: Emscripten, runner: ubuntu-latest, shell: bash, plat: wasm, arch: wasm64, mode: releasedbg, test: false, }
22+
- { name: Windows, runner: windows-latest, shell: bash, plat: windows, arch: x86, mode: debug, package: true, test: true, }
23+
- { name: Windows, runner: windows-latest, shell: bash, plat: windows, arch: x86, mode: releasedbg, package: true, test: true, }
24+
- { name: Windows, runner: windows-latest, shell: bash, plat: windows, arch: x64, mode: debug, package: true, test: true, }
25+
- { name: Windows, runner: windows-latest, shell: bash, plat: windows, arch: x64, mode: releasedbg, package: true, test: true, }
26+
- { name: Windows, runner: windows-latest, shell: bash, plat: windows, arch: arm64, mode: debug, package: true, test: false, }
27+
- { name: Windows, runner: windows-latest, shell: bash, plat: windows, arch: arm64, mode: releasedbg, package: true, test: false, }
28+
- { name: MinGW, runner: windows-latest, shell: 'msys2 {0}', plat: mingw, arch: i686, mode: debug, package: true, test: true, msystem: mingw32 }
29+
- { name: MinGW, runner: windows-latest, shell: 'msys2 {0}', plat: mingw, arch: i686, mode: releasedbg, package: true, test: true, msystem: mingw32 }
30+
- { name: MinGW, runner: windows-latest, shell: 'msys2 {0}', plat: mingw, arch: x86_64, mode: debug, package: true, test: true, msystem: mingw64 }
31+
- { name: MinGW, runner: windows-latest, shell: 'msys2 {0}', plat: mingw, arch: x86_64, mode: releasedbg, package: true, test: true, msystem: mingw64 }
32+
- { name: Linux, runner: ubuntu-latest, shell: bash, plat: linux, arch: x86_64, mode: debug, package: true, test: true, }
33+
- { name: Linux, runner: ubuntu-latest, shell: bash, plat: linux, arch: x86_64, mode: debug, package: false, test: true, config: --asan=y }
34+
- { name: Linux, runner: ubuntu-latest, shell: bash, plat: linux, arch: x86_64, mode: debug, package: false, test: true, config: --lsan=y }
35+
- { name: Linux, runner: ubuntu-latest, shell: bash, plat: linux, arch: x86_64, mode: debug, package: false, test: true, config: --tsan=y }
36+
- { name: Linux, runner: ubuntu-latest, shell: bash, plat: linux, arch: x86_64, mode: releasedbg, package: true, test: true, }
37+
- { name: Android NDK 25c, runner: ubuntu-latest, shell: bash, plat: android, arch: armeabi-v7a, mode: debug, package: false, test: false, ndk_ver: 25c, ndk_sdkver: 28 }
38+
- { name: Android NDK 25c, runner: ubuntu-latest, shell: bash, plat: android, arch: armeabi-v7a, mode: releasedbg, package: false, test: false, ndk_ver: 25c, ndk_sdkver: 28 }
39+
- { name: Android NDK 25c, runner: ubuntu-latest, shell: bash, plat: android, arch: arm64-v8a, mode: debug, package: false, test: false, ndk_ver: 25c, ndk_sdkver: 28 }
40+
- { name: Android NDK 25c, runner: ubuntu-latest, shell: bash, plat: android, arch: arm64-v8a, mode: releasedbg, package: false, test: false, ndk_ver: 25c, ndk_sdkver: 28 }
41+
- { name: Android NDK 26b, runner: ubuntu-latest, shell: bash, plat: android, arch: armeabi-v7a, mode: debug, package: true, test: false, ndk_ver: 26b, ndk_sdkver: 28 }
42+
- { name: Android NDK 26b, runner: ubuntu-latest, shell: bash, plat: android, arch: armeabi-v7a, mode: releasedbg, package: true, test: false, ndk_ver: 26b, ndk_sdkver: 28 }
43+
- { name: Android NDK 26b, runner: ubuntu-latest, shell: bash, plat: android, arch: arm64-v8a, mode: debug, package: true, test: false, ndk_ver: 26b, ndk_sdkver: 28 }
44+
- { name: Android NDK 26b, runner: ubuntu-latest, shell: bash, plat: android, arch: arm64-v8a, mode: releasedbg, package: true, test: false, ndk_ver: 26b, ndk_sdkver: 28 }
45+
- { name: macOS x86_64, runner: macos-latest, shell: bash, plat: macosx, arch: x86_64, mode: debug, package: true, test: true, }
46+
- { name: macOS x86_64, runner: macos-latest, shell: bash, plat: macosx, arch: x86_64, mode: releasedbg, package: true, test: true, }
47+
- { name: macOS ARM64, runner: macos-14, shell: bash, plat: macosx, arch: arm64, mode: debug, package: true, test: true, }
48+
- { name: macOS ARM64, runner: macos-14, shell: bash, plat: macosx, arch: arm64, mode: releasedbg, package: true, test: true, }
49+
- { name: iOS, runner: macos-latest, shell: bash, plat: iphoneos, arch: arm64, mode: debug, package: true, test: false, }
50+
- { name: iOS, runner: macos-latest, shell: bash, plat: iphoneos, arch: arm64, mode: releasedbg, package: true, test: false, }
51+
- { name: Emscripten, runner: ubuntu-latest, shell: bash, plat: wasm, arch: wasm32, mode: debug, package: false, test: false, }
52+
- { name: Emscripten, runner: ubuntu-latest, shell: bash, plat: wasm, arch: wasm32, mode: releasedbg, package: false, test: false, }
53+
- { name: Emscripten, runner: ubuntu-latest, shell: bash, plat: wasm, arch: wasm64, mode: debug, package: false, test: false, }
54+
- { name: Emscripten, runner: ubuntu-latest, shell: bash, plat: wasm, arch: wasm64, mode: releasedbg, package: false, test: false, }
5555
kind: [shared, static]
5656
exclude:
5757
- confs: { name: Emscripten }
@@ -143,14 +143,19 @@ jobs:
143143
PLATFORM_CONF="$PLATFORM_CONF --examples=y --tests=y" >> $GITHUB_ENV
144144
fi
145145
# MinGW has some issues with unitybuild
146-
if [ "${{ matrix.confs.name }}" != "MinGW" ]; then
146+
if [ "${{ matrix.confs.plat }}" != "mingw" ]; then
147147
PLATFORM_CONF="$PLATFORM_CONF --unitybuild=y" >> $GITHUB_ENV
148148
fi
149149
# Android and Emscripten don't support filesystem watcher
150150
if [ "${{ matrix.confs.plat }}" == "android" ] || [ "${{ matrix.confs.plat }}" == "wasm" ]; then
151151
PLATFORM_CONF="$PLATFORM_CONF --fs_watcher=n" >> $GITHUB_ENV
152152
fi
153153
echo "ADDITIONAL_CONF=${{ env.ADDITIONAL_CONF }} $PLATFORM_CONF" >> $GITHUB_ENV
154+
if [ "${{ matrix.confs.plat }}" == "windows" ]; then
155+
echo "OUTPUT_FILE=${{ matrix.confs.plat }}_${{ matrix.confs.arch }}_${{ matrix.kind }}_${{ matrix.confs.mode }}.zip" >> $GITHUB_ENV
156+
else
157+
echo "OUTPUT_FILE=${{ matrix.confs.plat }}_${{ matrix.confs.arch }}_${{ matrix.kind }}_${{ matrix.confs.mode }}.tgz" >> $GITHUB_ENV
158+
fi
154159
155160
# Setup compilation mode and install project dependencies
156161
- name: Configure xmake and install dependencies
@@ -192,7 +197,7 @@ jobs:
192197
# Nightly tags (for commits to main branch)
193198
- name: Upload binaries to release (Main)
194199
uses: svenstaro/upload-release-action@v2
195-
if: ${{ (github.ref == 'refs/heads/main') && github.event_name == 'push' }}
200+
if: ${{ (github.ref == 'refs/heads/main') && github.event_name == 'push' && matrix.confs.package }}
196201
with:
197202
repo_token: ${{ secrets.GITHUB_TOKEN }}
198203
file: ${{ env.OUTPUT_FILE }}
@@ -203,7 +208,7 @@ jobs:
203208
# Release tags (for tags)
204209
- name: Upload binaries to release (Tag)
205210
uses: svenstaro/upload-release-action@v2
206-
if: ${{ startsWith(github.event.ref, 'refs/tags/') && matrix.mode == 'releasedbg' }}
211+
if: ${{ startsWith(github.event.ref, 'refs/tags/') && matrix.confs.mode == 'releasedbg' && matrix.confs.package }}
207212
with:
208213
repo_token: ${{ secrets.GITHUB_TOKEN }}
209214
file: ${{ env.OUTPUT_FILE }}

0 commit comments

Comments
 (0)