Skip to content

Commit f7f564c

Browse files
author
Josh
committed
updated CI to build and publish development release artifacts
1 parent c23cf1e commit f7f564c

3 files changed

Lines changed: 75 additions & 7 deletions

File tree

.github/workflows/android.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ on:
44
push:
55
branches:
66
- '*'
7+
branches-ignore:
8+
- 'main'
79

810
jobs:
911
build:
@@ -27,9 +29,4 @@ jobs:
2729
- name: Run unit tests
2830
uses: gradle/gradle-build-action@v2
2931
with:
30-
arguments: test
31-
32-
- name: Build debug APK
33-
uses: gradle/gradle-build-action@v2
34-
with:
35-
arguments: assembleDebug
32+
arguments: app:testDevelopmentDebugUnitTest
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: OpenLetters-Android
2+
3+
on:
4+
push:
5+
branches:
6+
- 'main'
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v3
15+
16+
- name: Set up JDK 17
17+
uses: actions/setup-java@v3
18+
with:
19+
java-version: '17'
20+
distribution: 'temurin'
21+
22+
- name: Run ktlintCheck
23+
uses: gradle/gradle-build-action@v2
24+
with:
25+
arguments: ktlintCheck
26+
27+
- name: Run unit tests
28+
uses: gradle/gradle-build-action@v2
29+
with:
30+
arguments: app:testDevelopmentReleaseUnitTest
31+
32+
- name: Decode and prepare keystore
33+
run: |
34+
echo "${{ secrets.ANDROID_KEYSTORE }}" | base64 --decode > release-key.jks
35+
36+
- name: Build Release Artifacts
37+
uses: gradle/gradle-build-action@v2
38+
env:
39+
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
40+
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_DEVELOPMENT_KEY_ALIAS }}
41+
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_DEVELOPMENT_KEY_PASSWORD }}
42+
with:
43+
arguments: app:clean app:bundleDevelopmentRelease app:assembleDevelopmentRelease
44+
45+
- name: Get versionName
46+
id: get_version_name
47+
run: chmod +x ./gradlew && echo "VERSION_NAME=$(./gradlew printVersionName -q)" >> $GITHUB_ENV
48+
49+
- name: Upload artifacts
50+
uses: actions/upload-artifact@v3
51+
with:
52+
name: Development-Release
53+
path: |
54+
app/build/outputs/apk/development/release/*.apk
55+
app/build/outputs/bundle/developmentRelease/*.aab
56+
57+
- name: Create GitHub Release
58+
uses: actions/create-release@v1
59+
with:
60+
tag_name: v${{ env.VERSION_NAME }}-development
61+
release_name: ${{ env.VERSION_NAME }}-${{ github.run_number }}-development
62+
draft: false
63+
prerelease: true
64+
env:
65+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

app/build.gradle.kts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ android {
2121
applicationId = "net.frozendevelopment.openletters"
2222
minSdk = 26
2323
targetSdk = 35
24-
versionCode = 1
24+
versionCode = Integer.parseInt(System.getenv("GITHUB_RUN_NUMBER") ?: "1")
2525
versionName = "0.1.0"
2626

2727
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
@@ -71,6 +71,12 @@ android {
7171
}
7272
}
7373

74+
tasks.register("printVersionName") {
75+
doLast {
76+
println(android.defaultConfig.versionName)
77+
}
78+
}
79+
7480
sqldelight {
7581
databases {
7682
create("OpenLettersDB") {

0 commit comments

Comments
 (0)