-
Notifications
You must be signed in to change notification settings - Fork 0
55 lines (48 loc) · 1.94 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
name: Build
on: push
jobs:
build:
name: 'G=${{ matrix.gradle }} | J=${{ matrix.java }} | AGP=${{ matrix.agp }} | K=${{ matrix.kotlin }}'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
gradle: [7.6.3, 8.4]
java: [11, 17]
agp: [7.4.2, 8.1.2]
kotlin: [1.7.21, 1.8.22, 1.9.10, 1.9.20, 1.9.21, 1.9.22, 1.9.23]
exclude:
# AGP 8.0+ requires Gradle 8.0
- agp: 8.1.2
gradle: 7.6.3
# AGP 8.0+ requires JDK 17
- agp: 8.1.2
java: 11
steps:
- uses: actions/checkout@v2
- name: Install JDK ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- name: Set KSP Version
id: ksp-version
run: |
case ${{ matrix.kotlin }} in
1.7.21) echo "::set-output name=KSP_VERSION::1.7.21-1.0.8" ;;
1.8.22) echo "::set-output name=KSP_VERSION::1.8.22-1.0.11" ;;
1.9.10) echo "::set-output name=KSP_VERSION::1.9.10-1.0.13" ;;
1.9.20) echo "::set-output name=KSP_VERSION::1.9.20-1.0.14" ;;
1.9.21) echo "::set-output name=KSP_VERSION::1.9.21-1.0.16" ;;
1.9.22) echo "::set-output name=KSP_VERSION::1.9.22-1.0.17" ;;
1.9.23) echo "::set-output name=KSP_VERSION::1.9.23-1.0.19" ;;
esac
- name: Build with Gradle
uses: eskatos/gradle-command-action@v1
with:
gradle-version: ${{ matrix.gradle }}
arguments: assembleDebug -PagpVersion=${{ matrix.agp }} -PkotlinVersion=${{ matrix.kotlin }} -PkspVersion=${{ steps.ksp-version.outputs.KSP_VERSION }} --scan
- name: Upload APK
uses: actions/upload-artifact@v2
with:
name: apk-${{ matrix.gradle }}-${{ matrix.java }}-${{ matrix.agp }}-${{ matrix.kotlin }}-${{ steps.ksp-version.outputs.KSP_VERSION }}
path: app/build/outputs/apk/debug/app-debug.apk