@@ -26,28 +26,29 @@ concurrency:
2626 group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
2727 cancel-in-progress : true
2828
29+ env :
30+ JAVA_VERSION : 17
31+ JAVA_DISTRIBUTION : ' temurin'
32+ NDK_VERSION : r26d
33+
2934jobs :
30- test :
35+ configure :
3136 runs-on : ubuntu-latest
3237
3338 steps :
3439 - uses : actions/checkout@v4
35-
3640 - uses : seanmiddleditch/gha-setup-ninja@master
37-
3841 - name : Setup Java
3942 uses : actions/setup-java@v3
4043 with :
41- distribution : ' temurin'
42- java-version : 17
43-
44+ distribution : ${{env.JAVA_DISTRIBUTION}}
45+ java-version : ${{env.JAVA_VERSION}}
4446 - name : Setup Android SDK
4547 uses : android-actions/setup-android@v2.0.10
46-
4748 - name : Setup Android NDK
4849 uses : nttld/setup-ndk@v1
4950 with :
50- ndk-version : r26d
51+ ndk-version : ${{env.NDK_VERSION}}
5152
5253 - name : Create Build Environment
5354 run : cmake -E make_directory ${{runner.workspace}}/build
@@ -56,14 +57,88 @@ jobs:
5657 working-directory : ${{runner.workspace}}/build
5758 run : cmake $GITHUB_WORKSPACE -G "Ninja Multi-Config" -DYUP_TARGET_ANDROID=ON -DYUP_ENABLE_TESTS=ON -DYUP_ENABLE_EXAMPLES=ON
5859
59- - name : Build Examples Debug
60- run : |
61- pushd ${{runner.workspace}}/build/examples/app && ./gradlew assembleDebug && popd
62- pushd ${{runner.workspace}}/build/examples/graphics && ./gradlew assembleDebug && popd
63- pushd ${{runner.workspace}}/build/examples/render && ./gradlew assembleDebug && popd
60+ - name : Cache Configure
61+ id : cache-build
62+ uses : actions/cache/save@v4
63+ with :
64+ path : ${{runner.workspace}}/build
65+ key : android-build-${{ github.sha }}
6466
65- - name : Build Examples Release
66- run : |
67- pushd ${{runner.workspace}}/build/examples/app && ./gradlew assemble && popd
68- pushd ${{runner.workspace}}/build/examples/graphics && ./gradlew assemble && popd
69- pushd ${{runner.workspace}}/build/examples/render && ./gradlew assemble && popd
67+ build_app :
68+ runs-on : ubuntu-latest
69+ needs : [configure]
70+ steps :
71+ - uses : actions/checkout@v4
72+ - uses : seanmiddleditch/gha-setup-ninja@master
73+ - name : Setup Java
74+ uses : actions/setup-java@v3
75+ with :
76+ distribution : ${{env.JAVA_DISTRIBUTION}}
77+ java-version : ${{env.JAVA_VERSION}}
78+ - name : Setup Android SDK
79+ uses : android-actions/setup-android@v2.0.10
80+ - name : Setup Android NDK
81+ uses : nttld/setup-ndk@v1
82+ with :
83+ ndk-version : ${{env.NDK_VERSION}}
84+ - uses : actions/cache/restore@v4
85+ with :
86+ path : ${{runner.workspace}}/build
87+ key : android-build-${{ github.sha }}
88+ - working-directory : ${{runner.workspace}}/build/examples/app
89+ run : ./gradlew assembleDebug
90+ - working-directory : ${{runner.workspace}}/build/examples/app
91+ run : ./gradlew assemble
92+
93+
94+ build_graphics :
95+ runs-on : ubuntu-latest
96+ needs : [configure]
97+ steps :
98+ - uses : actions/checkout@v4
99+ - uses : seanmiddleditch/gha-setup-ninja@master
100+ - name : Setup Java
101+ uses : actions/setup-java@v3
102+ with :
103+ distribution : ${{env.JAVA_DISTRIBUTION}}
104+ java-version : ${{env.JAVA_VERSION}}
105+ - name : Setup Android SDK
106+ uses : android-actions/setup-android@v2.0.10
107+ - name : Setup Android NDK
108+ uses : nttld/setup-ndk@v1
109+ with :
110+ ndk-version : ${{env.NDK_VERSION}}
111+ - uses : actions/cache/restore@v4
112+ with :
113+ path : ${{runner.workspace}}/build
114+ key : android-build-${{ github.sha }}
115+ - working-directory : ${{runner.workspace}}/build/examples/graphics
116+ run : ./gradlew assembleDebug
117+ - working-directory : ${{runner.workspace}}/build/examples/graphics
118+ run : ./gradlew assemble
119+
120+ build_render :
121+ runs-on : ubuntu-latest
122+ needs : [configure]
123+ steps :
124+ - uses : actions/checkout@v4
125+ - uses : seanmiddleditch/gha-setup-ninja@master
126+ - name : Setup Java
127+ uses : actions/setup-java@v3
128+ with :
129+ distribution : ' temurin'
130+ java-version : 17
131+ - name : Setup Android SDK
132+ uses : android-actions/setup-android@v2.0.10
133+ - name : Setup Android NDK
134+ uses : nttld/setup-ndk@v1
135+ with :
136+ ndk-version : r26d
137+ - uses : actions/cache/restore@v4
138+ with :
139+ path : ${{runner.workspace}}/build
140+ key : android-build-${{ github.sha }}
141+ - working-directory : ${{runner.workspace}}/build/examples/render
142+ run : ./gradlew assembleDebug
143+ - working-directory : ${{runner.workspace}}/build/examples/render
144+ run : ./gradlew assemble
0 commit comments