@@ -14,27 +14,31 @@ jobs:
1414 fail-fast : true
1515 matrix :
1616 include :
17- - os : windows-2022
17+ - name : " windows_x86_64"
18+ os : windows-2022
1819 shell : msys2
19- name : " x86_64_windows "
20- - os : ubuntu-22.04
20+ - name : " linux_x86_64 "
21+ os : ubuntu-22.04
2122 shell : bash
22- name : " x86_64_linux"
23+ - name : " android"
24+ os : ubuntu-22.04
25+ shell : bash
26+
2327 runs-on : ${{ matrix.os }}
2428 defaults :
2529 run :
2630 shell : ${{ matrix.shell}} {0}
2731
2832 steps :
2933 - name : linux setup and dependencies
30- if : matrix.name == 'x86_64_linux '
34+ if : matrix.name == 'linux_x86_64 '
3135 run : |
3236 sudo apt update
3337 sudo apt -y install libgtk-3-dev python3-dev pkgconf libgl-dev libx11-dev libegl-dev libbullet-dev
3438
3539 - name : msys2 setup
3640 uses : msys2/setup-msys2@v2
37- if : matrix.name == 'x86_64_windows '
41+ if : matrix.name == 'windows_x86_64 '
3842 with :
3943 msystem : UCRT64
4044 update : true
@@ -50,15 +54,41 @@ jobs:
5054 - name : submodules
5155 run : |
5256 git submodule update --init --depth 1 deps/cglm deps/stb deps/mingw-ldd deps/ntldd
57+
58+ - name : Set Up JDK
59+ if : matrix.name == 'android'
60+ uses : actions/setup-java@v3
61+ with :
62+ distribution : temurin
63+ java-version : ' 17'
64+ cache : ' gradle'
65+
66+ - name : Setup Android SDK
67+ if : matrix.name == 'android'
68+ uses : android-actions/setup-android@v3
69+
70+ - name : Android Sdk packages
71+ if : matrix.name == 'android'
72+ run : |
73+ sdkmanager "cmake;3.30.3" "ndk;23.1.7779620"
5374
75+
5476 - name : dengine-rc
5577 run : |
5678 cmake -S main/dengine-rc -B build/dengine-rc
5779 cmake --build build/dengine-rc
5880
59- - name : ${{ matrix.name }} config, build and install
81+ - name : android config
82+ if : matrix.name == 'android'
83+ run : |
84+ cmake -S . -B build/${{ matrix.name }} -DBUILD_SHARED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE="~/.android/sdk/ndk/23.1.7779620/build/cmake/android.toolchain.cmake" -DANDROID_PLATFORM=21
85+
86+ - name : ${{ matrix.name }} config
6087 run : |
6188 cmake -S . -B build/${{ matrix.name }} -DBUILD_SHARED_LIBS=ON
89+
90+ - name : ${{ matrix.name }} build and install
91+ run : |
6292 cmake --build build/${{ matrix.name }} -j$(nproc)
6393 cmake --install build/${{ matrix.name }} --prefix out-${{ matrix.name }}
6494
@@ -67,43 +97,25 @@ jobs:
6797 zip -r ${{ matrix.name }}.zip out-${{ matrix.name }}/
6898
6999 - name : assets zip
70- if : matrix.name == 'x86_64_linux '
100+ if : matrix.name == 'linux_x86_64 '
71101 run : |
72102 zip -r assets.zip ./assets
73103
74104 - name : assets package
75- if : matrix.name == 'x86_64_linux '
105+ if : matrix.name == 'linux_x86_64 '
76106 uses : actions/upload-artifact@v4
77107 with :
78108 name : assets package
79109 path : assets.zip
80-
81110
82111 - name : ${{ matrix.name }} build
83112 uses : actions/upload-artifact@v4
84113 with :
85114 name : ${{ matrix.name }}_build
86115 path : ${{ matrix.name }}.zip
87116
88- - name : Set Up JDK
89- if : matrix.name == 'x86_64_linux'
90- uses : actions/setup-java@v3
91- with :
92- distribution : temurin
93- java-version : ' 17'
94- cache : ' gradle'
95-
96- - name : Setup Android SDK
97- if : matrix.name == 'x86_64_linux'
98- uses : android-actions/setup-android@v3
99-
100- - name : Android Sdk packages
101- if : matrix.name == 'x86_64_linux'
102- run : |
103- sdkmanager "cmake;3.30.3"
104-
105117 - name : test apk
106- if : matrix.name == 'x86_64_linux '
118+ if : matrix.name == 'android '
107119 env :
108120 ANDROID_KEYSTORE : ${{ secrets.ANDROID_KEYSTORE }}
109121 ANDROID_KEYSTORE_ALIAS : ${{ secrets.ANDROID_KEYSTORE_ALIAS }}
@@ -123,47 +135,47 @@ jobs:
123135 ./gradlew --no-daemon build
124136
125137 - name : zip all apks
126- if : matrix.name == 'x86_64_linux '
138+ if : matrix.name == 'android '
127139 run : |
128140 zip apks.zip $(find ./tests/src/testdengine-android/apk/app/build/outputs -iname '*.apk')
129141
130142 - name : all_android apks
131- if : matrix.name == 'x86_64_linux '
143+ if : matrix.name == 'android '
132144 uses : actions/upload-artifact@v4
133145 with :
134146 name : all_android_apks
135147 path : apks.zip
136148
137149 - name : android build universal
138- if : matrix.name == 'x86_64_linux '
150+ if : matrix.name == 'android '
139151 uses : actions/upload-artifact@v4
140152 with :
141153 name : android_universal_debug
142154 path : ./tests/src/testdengine-android/apk/app/build/outputs/apk/debug/app-universal-debug.apk
143155
144156 - name : android build armebi-v7a
145- if : matrix.name == 'x86_64_linux '
157+ if : matrix.name == 'android '
146158 uses : actions/upload-artifact@v4
147159 with :
148160 name : android_armebi-v7a_debug
149161 path : ./tests/src/testdengine-android/apk/app/build/outputs/apk/debug/app-armeabi-v7a-debug.apk
150162
151163 - name : android build arm64-v8a
152- if : matrix.name == 'x86_64_linux '
164+ if : matrix.name == 'android '
153165 uses : actions/upload-artifact@v4
154166 with :
155167 name : android_arm64-v8a_debug
156168 path : ./tests/src/testdengine-android/apk/app/build/outputs/apk/debug/app-arm64-v8a-debug.apk
157169
158170 - name : android build x86
159- if : matrix.name == 'x86_64_linux '
171+ if : matrix.name == 'android '
160172 uses : actions/upload-artifact@v4
161173 with :
162174 name : android_x86_debug
163175 path : ./tests/src/testdengine-android/apk/app/build/outputs/apk/debug/app-x86-debug.apk
164176
165177 - name : android build x86_64
166- if : matrix.name == 'x86_64_linux '
178+ if : matrix.name == 'android '
167179 uses : actions/upload-artifact@v4
168180 with :
169181 name : android_x86_64_debug
0 commit comments