Skip to content

Commit

Permalink
Add keystore & GH workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
filbabic committed Oct 14, 2022
1 parent 6bb9f6e commit c6b637a
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 1 deletion.
39 changes: 39 additions & 0 deletions .github/workflows/app-distribute.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: App Distribute CI

on:
push:
branches:
- task/dogfooding

jobs:
build_dogfooding_sample_app:
name: Build and Distribute Dogfooding Android
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
distribution: adopt
java-version: 11
- name: Prepare environment
run: |
git fetch --unshallow
echo "${{ secrets.RELEASE_KEYSTORE }}" > .sign/release.keystore.asc
gpg -d --passphrase "${{ secrets.PASSPHRASE }}" --batch .sign/release.keystore.asc > .sign/release.keystore
echo "${{ secrets.RELEASE_KEYSTORE_PROPERTIES }}" > .sign/keystore.properties.asc
gpg -d --passphrase "${{ secrets.PASSPHRASE }}" --batch .sign/keystore.properties.asc > .sign/keystore.properties
- name: Assemble
run: bash ./gradlew :dogfooding:assembleRelease --stacktrace
- name: Upload APK
uses: actions/upload-artifact@v2
with:
name: dogfooding-release
path: dogfooding/build/outputs/apk/demo/release/
- name: Upload artifact to Firebase App Distribution
uses: wzieba/Firebase-Distribution-Github-Action@v1
with:
appId: ${{secrets.FIREBASE_DOGFOODING_SAMPLE_APP_ID}}
token: ${{secrets.FIREBASE_TOKEN}}
groups: stream-testers
file: dogfooding/build/outputs/apk/demo/release/dogfooding-release.apk
Binary file added .sign/debug.keystore.jks
Binary file not shown.
38 changes: 37 additions & 1 deletion dogfooding/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import io.getstream.video.android.Configuration
import io.getstream.video.android.Dependencies
import io.getstream.video.android.Versions
import java.io.FileInputStream
import java.util.*

plugins {
id("com.android.application")
Expand Down Expand Up @@ -34,6 +36,40 @@ android {
)
}
}

val signFile: File = rootProject.file(".sign/keystore.properties")
if (signFile.exists()) {
val properties = Properties()
properties.load(FileInputStream(signFile))

signingConfigs {
create("release") {
keyAlias = properties["keyAlias"] as? String
keyPassword = properties["keyPassword"] as? String
storeFile = file(properties["keystore"] as String)
storePassword = properties["storePassword"] as? String
}
}
} else {
signingConfigs {
create("release") {
keyAlias = "androiddebugkey"
keyPassword = "android"
storeFile = rootProject.file(".sign/debug.keystore")
storePassword = "android"
}
}
}

signingConfigs {
getByName("debug") {
keyAlias = "androiddebugkey"
keyPassword = "android"
storeFile = rootProject.file(".sign/debug.keystore")
storePassword = "android"
}
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
Expand Down Expand Up @@ -65,7 +101,7 @@ dependencies {
implementation(Dependencies.streamLogger)
implementation(Dependencies.streamLoggerAndroid)

implementation(Dependencies.androidxCore)
implementation(Dependencies.androidxCore)
implementation(Dependencies.androidxLifecycleRuntime)
implementation(Dependencies.material)

Expand Down

0 comments on commit c6b637a

Please sign in to comment.