From 24b72757fefefb512861709718221180ed1acb30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Mion?= Date: Thu, 17 Sep 2026 13:49:48 +0100 Subject: [PATCH 1/6] Publish real release notes with the sample app builds The Firebase action falls back to git log -1 --pretty=short when no release notes are given, so every entry in the release list showed only the commit hash. Both jobs now write the commit subject, the full commit sha and a link back to the build, and pass the file to the action. --- .github/workflows/app-distribute.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/app-distribute.yml b/.github/workflows/app-distribute.yml index 44f687b91fd7..b7254829e0cc 100644 --- a/.github/workflows/app-distribute.yml +++ b/.github/workflows/app-distribute.yml @@ -16,6 +16,14 @@ jobs: steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - uses: GetStream/android-ci-actions/actions/setup-java@cb46e4f44d105a68738bfd2a1cfd156bb768665b + - name: Write release notes + run: | + { + git log -1 --pretty=%s + echo + echo "Commit: ${{ github.sha }}" + echo "Build: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + } > release-notes.txt - name: Prepare environment env: PASSPHRASE: ${{ secrets.PASSPHRASE }} @@ -41,6 +49,7 @@ jobs: serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }} groups: stream-testers file: stream-chat-android-ui-components-sample/build/outputs/apk/demo/release/stream-chat-android-ui-components-sample-demo-release.apk + releaseNotesFile: release-notes.txt build_compose_sample_app: permissions: actions: write @@ -50,6 +59,14 @@ jobs: steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - uses: GetStream/android-ci-actions/actions/setup-java@cb46e4f44d105a68738bfd2a1cfd156bb768665b + - name: Write release notes + run: | + { + git log -1 --pretty=%s + echo + echo "Commit: ${{ github.sha }}" + echo "Build: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + } > release-notes.txt - name: Prepare environment env: PASSPHRASE: ${{ secrets.PASSPHRASE }} @@ -75,3 +92,4 @@ jobs: serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }} groups: stream-testers file: stream-chat-android-compose-sample/build/outputs/apk/demo/release/stream-chat-android-compose-sample-demo-release.apk + releaseNotesFile: release-notes.txt From b3da6d90eb5036b428ad335db984012c2a47e332 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Mion?= Date: Thu, 17 Sep 2026 13:49:48 +0100 Subject: [PATCH 2/6] Delete the v7 app distribution workflow The v7 branch it triggers on no longer exists on the remote, and its last run on that branch was in April. develop is on 7.11.0, so v7 is in production, which is the condition the workflow's own comment names for removing it. --- .github/workflows/app-distribute-v7.yml | 40 ------------------------- 1 file changed, 40 deletions(-) delete mode 100644 .github/workflows/app-distribute-v7.yml diff --git a/.github/workflows/app-distribute-v7.yml b/.github/workflows/app-distribute-v7.yml deleted file mode 100644 index 5e7fddeeae91..000000000000 --- a/.github/workflows/app-distribute-v7.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: App Distribute CI v7 - -# Temporary workflow to publish the v7 sample as a separate app in Firebase. When v7 is released in -# production, we can remove this workflow and update the main `app-distribute.yml` instead - -on: - push: - branches: - - v7 - workflow_dispatch: - -jobs: - build_compose_sample_app: - permissions: - contents: read - name: Build and Distribute Compose Sample App - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - - uses: GetStream/android-ci-actions/actions/setup-java@cb46e4f44d105a68738bfd2a1cfd156bb768665b - - name: Prepare environment - env: - PASSPHRASE: ${{ secrets.PASSPHRASE }} - RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }} - RELEASE_KEYSTORE_PROPERTIES: ${{ secrets.RELEASE_KEYSTORE_PROPERTIES }} - run: | - git fetch --unshallow - echo "${{ env.RELEASE_KEYSTORE }}" > .sign/release.keystore.asc - gpg -d --passphrase "${{ env.PASSPHRASE }}" --batch .sign/release.keystore.asc > .sign/release.keystore - echo "${{ env.RELEASE_KEYSTORE_PROPERTIES }}" > .sign/keystore.properties.asc - gpg -d --passphrase "${{ env.PASSPHRASE }}" --batch .sign/keystore.properties.asc > .sign/keystore.properties - - name: Assemble - run: ./gradlew :stream-chat-android-compose-sample:assembleRelease --stacktrace - - name: Upload artifact to Firebase App Distribution - uses: wzieba/Firebase-Distribution-Github-Action@v1.7.1 - with: - appId: "1:17048947178:android:07dc1e8e56b65c1f40ca93" # V7 demo app id - serviceCredentialsFileContent: ${{ secrets.STREAM_ANDROID_FIREBASE_CREDENTIALS_APP_CONTENT }} - groups: stream-testers - file: stream-chat-android-compose-sample/build/outputs/apk/demo/release/stream-chat-android-compose-sample-demo-release.apk From b71f48c16ef1f2749644b1198430ec9c0a49469f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Mion?= Date: Thu, 17 Sep 2026 13:49:48 +0100 Subject: [PATCH 3/6] Show the SDK version and the commit in the sample app version name The name was 1.... Firebase App Distribution renders the version code next to the name, so the code appeared twice in the same row, and the SDK version did not appear at all. Crashlytics also groups crashes by version name, which made those groups hard to tie back to a release. The name is now the SDK version and the short commit sha, so a row reads 7.11.0-eef655d (18217). The version code still comes from the git versioner and does not change. --- scripts/sample-app-versioner.gradle | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/sample-app-versioner.gradle b/scripts/sample-app-versioner.gradle index 65136045af1f..250fd5a99132 100644 --- a/scripts/sample-app-versioner.gradle +++ b/scripts/sample-app-versioner.gradle @@ -7,6 +7,7 @@ static Boolean gitIsAvailable() { } } def isCI = System.getenv('CI') +def sdkVersion = version ext["sampleAppVersionCode"] = 1 ext["sampleAppVersionName"] = version if (isCI && gitIsAvailable()) { @@ -14,8 +15,10 @@ if (isCI && gitIsAvailable()) { def branches = ['develop', 'main', 'release'] baseBranch branchName in branches ? branchName : branches[0] yearFactor 100 + // Firebase App Distribution already shows the version code next to the name, so the + // name carries the two things it cannot derive: the SDK version and the commit. formatter = { gitVersioner -> - "1.${gitVersioner.versionCode}.${gitVersioner.featureBranchCommitCount}.${gitVersioner.currentSha1Short}" + "${sdkVersion}-${gitVersioner.currentSha1Short}" } } From 5c4249f522fae4a51a40c20d34c40fd1be7d2b14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Mion?= Date: Thu, 17 Sep 2026 14:06:05 +0100 Subject: [PATCH 4/6] Take the sample app version from CI instead of the git versioner The version code came from the git versioner, which counts commits on the base branch. app-distribute.yml runs on both develop and main, and those counts diverge: develop is at 18217 while main is at 18200. A tester on a develop build could not install a main build, because Android rejects a lower version code. The workflows now pass a version code based on build time, which grows whatever branch the build came from, and the short commit sha. That left the git versioner with nothing to do, so the plugin, its JitPack repository entry and the resolution hack are gone, along with the full clone it needed. apk-s3-distribute.yml and attach-release-apk.yml also build sample release APKs and relied on the plugin, so they pass the same values. Without that they would have dropped to version code 1. --- .github/workflows/apk-s3-distribute.yml | 17 +++++++++-- .github/workflows/app-distribute.yml | 34 +++++++++++++++++++--- .github/workflows/attach-release-apk.yml | 16 +++++++++- build.gradle.kts | 1 - gradle/libs.versions.toml | 2 -- scripts/sample-app-versioner.gradle | 37 +++++++----------------- settings.gradle.kts | 7 ----- 7 files changed, 71 insertions(+), 43 deletions(-) diff --git a/.github/workflows/apk-s3-distribute.yml b/.github/workflows/apk-s3-distribute.yml index cf112dc5152e..8deac04b20ca 100644 --- a/.github/workflows/apk-s3-distribute.yml +++ b/.github/workflows/apk-s3-distribute.yml @@ -16,19 +16,32 @@ jobs: steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - uses: GetStream/android-ci-actions/actions/setup-java@cb46e4f44d105a68738bfd2a1cfd156bb768665b + - name: Resolve build identity + id: build_identity + run: | + # Minutes since 2020-09-13. The same package is published from more than one branch, + # so the version code has to grow with build time. A per-branch commit count can go + # backwards and Android rejects that as a downgrade. + { + echo "version_code=$(( ($(date -u +%s) - 1600000000) / 60 ))" + echo "sha=$(git rev-parse --short=7 HEAD)" + } >> "$GITHUB_OUTPUT" - name: Prepare environment env: PASSPHRASE: ${{ secrets.PASSPHRASE }} RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }} RELEASE_KEYSTORE_PROPERTIES: ${{ secrets.RELEASE_KEYSTORE_PROPERTIES }} run: | - git fetch --unshallow echo "${{ env.RELEASE_KEYSTORE }}" > .sign/release.keystore.asc gpg -d --passphrase "${{ env.PASSPHRASE }}" --batch .sign/release.keystore.asc > .sign/release.keystore echo "${{ env.RELEASE_KEYSTORE_PROPERTIES }}" > .sign/keystore.properties.asc gpg -d --passphrase "${{ env.PASSPHRASE }}" --batch .sign/keystore.properties.asc > .sign/keystore.properties - name: Assemble - run: ./gradlew :stream-chat-android-ui-components-sample:assembleDemoRelease --stacktrace + run: | + ./gradlew :stream-chat-android-ui-components-sample:assembleDemoRelease \ + -PsampleAppVersionCode=${{ steps.build_identity.outputs.version_code }} \ + -PsampleAppBuildSha=${{ steps.build_identity.outputs.sha }} \ + --stacktrace - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v6 with: diff --git a/.github/workflows/app-distribute.yml b/.github/workflows/app-distribute.yml index b7254829e0cc..a69e56fa8823 100644 --- a/.github/workflows/app-distribute.yml +++ b/.github/workflows/app-distribute.yml @@ -16,6 +16,16 @@ jobs: steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - uses: GetStream/android-ci-actions/actions/setup-java@cb46e4f44d105a68738bfd2a1cfd156bb768665b + - name: Resolve build identity + id: build_identity + run: | + # Minutes since 2020-09-13. The same package is published from more than one branch, + # so the version code has to grow with build time. A per-branch commit count can go + # backwards and Android rejects that as a downgrade. + { + echo "version_code=$(( ($(date -u +%s) - 1600000000) / 60 ))" + echo "sha=$(git rev-parse --short=7 HEAD)" + } >> "$GITHUB_OUTPUT" - name: Write release notes run: | { @@ -30,13 +40,16 @@ jobs: RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }} RELEASE_KEYSTORE_PROPERTIES: ${{ secrets.RELEASE_KEYSTORE_PROPERTIES }} run: | - git fetch --unshallow echo "${{ env.RELEASE_KEYSTORE }}" > .sign/release.keystore.asc gpg -d --passphrase "${{ env.PASSPHRASE }}" --batch .sign/release.keystore.asc > .sign/release.keystore echo "${{ env.RELEASE_KEYSTORE_PROPERTIES }}" > .sign/keystore.properties.asc gpg -d --passphrase "${{ env.PASSPHRASE }}" --batch .sign/keystore.properties.asc > .sign/keystore.properties - name: Assemble - run: bash ./gradlew :stream-chat-android-ui-components-sample:assembleDemoRelease --stacktrace + run: | + bash ./gradlew :stream-chat-android-ui-components-sample:assembleDemoRelease \ + -PsampleAppVersionCode=${{ steps.build_identity.outputs.version_code }} \ + -PsampleAppBuildSha=${{ steps.build_identity.outputs.sha }} \ + --stacktrace - name: Upload APK uses: actions/upload-artifact@v7.0.1 with: @@ -59,6 +72,16 @@ jobs: steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - uses: GetStream/android-ci-actions/actions/setup-java@cb46e4f44d105a68738bfd2a1cfd156bb768665b + - name: Resolve build identity + id: build_identity + run: | + # Minutes since 2020-09-13. The same package is published from more than one branch, + # so the version code has to grow with build time. A per-branch commit count can go + # backwards and Android rejects that as a downgrade. + { + echo "version_code=$(( ($(date -u +%s) - 1600000000) / 60 ))" + echo "sha=$(git rev-parse --short=7 HEAD)" + } >> "$GITHUB_OUTPUT" - name: Write release notes run: | { @@ -73,13 +96,16 @@ jobs: RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }} RELEASE_KEYSTORE_PROPERTIES: ${{ secrets.RELEASE_KEYSTORE_PROPERTIES }} run: | - git fetch --unshallow echo "${{ env.RELEASE_KEYSTORE }}" > .sign/release.keystore.asc gpg -d --passphrase "${{ env.PASSPHRASE }}" --batch .sign/release.keystore.asc > .sign/release.keystore echo "${{ env.RELEASE_KEYSTORE_PROPERTIES }}" > .sign/keystore.properties.asc gpg -d --passphrase "${{ env.PASSPHRASE }}" --batch .sign/keystore.properties.asc > .sign/keystore.properties - name: Assemble - run: bash ./gradlew :stream-chat-android-compose-sample:assembleRelease --stacktrace + run: | + bash ./gradlew :stream-chat-android-compose-sample:assembleRelease \ + -PsampleAppVersionCode=${{ steps.build_identity.outputs.version_code }} \ + -PsampleAppBuildSha=${{ steps.build_identity.outputs.sha }} \ + --stacktrace - name: Upload APK uses: actions/upload-artifact@v7.0.1 with: diff --git a/.github/workflows/attach-release-apk.yml b/.github/workflows/attach-release-apk.yml index 7168c1738c96..f6fc1d1ca87e 100644 --- a/.github/workflows/attach-release-apk.yml +++ b/.github/workflows/attach-release-apk.yml @@ -22,6 +22,16 @@ jobs: fetch-depth: 0 persist-credentials: false - uses: GetStream/android-ci-actions/actions/setup-java@main + - name: Resolve build identity + id: build_identity + run: | + # Minutes since 2020-09-13. The same package is published from more than one branch, + # so the version code has to grow with build time. A per-branch commit count can go + # backwards and Android rejects that as a downgrade. + { + echo "version_code=$(( ($(date -u +%s) - 1600000000) / 60 ))" + echo "sha=$(git rev-parse --short=7 HEAD)" + } >> "$GITHUB_OUTPUT" - name: Prepare signing environment env: RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }} @@ -33,7 +43,11 @@ jobs: echo "$RELEASE_KEYSTORE_PROPERTIES" > .sign/keystore.properties.asc gpg -d --passphrase "$PASSPHRASE" --batch .sign/keystore.properties.asc > .sign/keystore.properties - name: Assemble Compose sample (demo/release) - run: bash ./gradlew :stream-chat-android-compose-sample:assembleDemoRelease --stacktrace + run: | + bash ./gradlew :stream-chat-android-compose-sample:assembleDemoRelease \ + -PsampleAppVersionCode=${{ steps.build_identity.outputs.version_code }} \ + -PsampleAppBuildSha=${{ steps.build_identity.outputs.sha }} \ + --stacktrace - name: Attach APK to release under a constant name env: GH_TOKEN: ${{ github.token }} diff --git a/build.gradle.kts b/build.gradle.kts index 0f2d05a81336..97a538a44544 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -22,7 +22,6 @@ plugins { alias(libs.plugins.detekt) apply false alias(libs.plugins.shot) apply false alias(libs.plugins.androidx.navigation) apply false - alias(libs.plugins.gitversioner) alias(libs.plugins.gradle.versions) alias(libs.plugins.binary.compatibility.validator) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 054428f04e2e..5d4c98c9e509 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -43,7 +43,6 @@ firebaseAnalytics = "22.1.2" firebaseCrashlytics = "19.2.1" firebaseCrashlyticsPlugin = "3.0.2" firebaseMessaging = "24.1.0" -gitversioner = "0.5.0" googleServices = "4.4.2" gradleVersionsPlugin = "0.51.0" huaweiPush = "6.11.0.300" @@ -232,7 +231,6 @@ androidx-navigation = { id = "androidx.navigation.safeargs.kotlin", version.ref binary-compatibility-validator = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version.ref = "kotlinBinaryValidator"} detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detektPlugin"} firebase-crashlytics = { id = "com.google.firebase.crashlytics", version.ref = "firebaseCrashlyticsPlugin"} -gitversioner = { id = "com.pascalwelsch.gitversioner", version.ref = "gitversioner"} google-services = { id = "com.google.gms.google-services", version.ref = "googleServices"} gradle-versions = { id = "com.github.ben-manes.versions", version.ref = "gradleVersionsPlugin"} kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin"} diff --git a/scripts/sample-app-versioner.gradle b/scripts/sample-app-versioner.gradle index 250fd5a99132..efa079f92643 100644 --- a/scripts/sample-app-versioner.gradle +++ b/scripts/sample-app-versioner.gradle @@ -1,27 +1,12 @@ -static Boolean gitIsAvailable() { - try { - "git --version".execute() - return true - } catch (Throwable ignored) { - return false - } -} -def isCI = System.getenv('CI') -def sdkVersion = version -ext["sampleAppVersionCode"] = 1 -ext["sampleAppVersionName"] = version -if (isCI && gitIsAvailable()) { - gitVersioner { - def branches = ['develop', 'main', 'release'] - baseBranch branchName in branches ? branchName : branches[0] - yearFactor 100 - // Firebase App Distribution already shows the version code next to the name, so the - // name carries the two things it cannot derive: the SDK version and the commit. - formatter = { gitVersioner -> - "${sdkVersion}-${gitVersioner.currentSha1Short}" - } - } +// CI passes these so that every published sample build is a distinct, newer release. +// +// The version code is minutes since a fixed epoch rather than a commit count. The same +// package is published from both develop and main, their commit counts diverge, and Android +// rejects an install whose version code went backwards. +// +// Without the properties the samples keep the fixed values they had before. +def sdkVersion = version.toString() +def buildSha = findProperty("sampleAppBuildSha") - ext["sampleAppVersionCode"] = gitVersioner.versionCode - ext["sampleAppVersionName"] = gitVersioner.versionName -} +ext["sampleAppVersionCode"] = (findProperty("sampleAppVersionCode") ?: "1") as Integer +ext["sampleAppVersionName"] = buildSha ? "$sdkVersion-$buildSha".toString() : sdkVersion diff --git a/settings.gradle.kts b/settings.gradle.kts index 5e82bbc99ea8..455917f3bab6 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -21,12 +21,6 @@ pluginManagement { } } - maven(url = "https://jitpack.io/") { - content { - includeModule("com.github.passsy", "gradle-gitVersioner-plugin") - } - } - // fetch plugins from gradle plugin portal (https://plugins.gradle.org) gradlePluginPortal() @@ -37,7 +31,6 @@ pluginManagement { eachPlugin { when(requested.id.id) { "shot" -> { useModule("com.karumi:shot:${requested.version}") } - "com.pascalwelsch.gitversioner" -> { useModule("com.github.passsy:gradle-gitVersioner-plugin:${requested.version}") } } } } From 047958ce87d618c058bd07c494ee6b83abebc20a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Mion?= Date: Thu, 17 Sep 2026 14:15:46 +0100 Subject: [PATCH 5/6] Distribute the samples from the stream-android-32afb project Distribution was the last thing still pointing at the old project. That one was created long ago and is shared with iOS, while stream-android-32afb is Android only and is where we are moving. Both samples already run against 32afb: their google-services.json moved there in May. The app ids are the ones in each sample's google-services.json, so they are named here rather than kept in secrets. FIREBASE_UI_SAMPLE_APP_ID and FIREBASE_COMPOSE_SAMPLE_APP_ID are now unused and can be deleted. --- .github/workflows/app-distribute.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/app-distribute.yml b/.github/workflows/app-distribute.yml index a69e56fa8823..fa20b000aceb 100644 --- a/.github/workflows/app-distribute.yml +++ b/.github/workflows/app-distribute.yml @@ -58,8 +58,9 @@ jobs: - name: Upload artifact to Firebase App Distribution uses: wzieba/Firebase-Distribution-Github-Action@v1.7.1 with: - appId: ${{secrets.FIREBASE_UI_SAMPLE_APP_ID}} - serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }} + # io.getstream.chat.ui.sample in the stream-android-32afb project + appId: "1:17048947178:android:1357755d7b622cbc40ca93" + serviceCredentialsFileContent: ${{ secrets.STREAM_ANDROID_FIREBASE_CREDENTIALS_APP_CONTENT }} groups: stream-testers file: stream-chat-android-ui-components-sample/build/outputs/apk/demo/release/stream-chat-android-ui-components-sample-demo-release.apk releaseNotesFile: release-notes.txt @@ -114,8 +115,9 @@ jobs: - name: Upload artifact to Firebase App Distribution uses: wzieba/Firebase-Distribution-Github-Action@v1.7.1 with: - appId: ${{secrets.FIREBASE_COMPOSE_SAMPLE_APP_ID}} - serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }} + # io.getstream.chat.android.compose.sample in the stream-android-32afb project + appId: "1:17048947178:android:07dc1e8e56b65c1f40ca93" + serviceCredentialsFileContent: ${{ secrets.STREAM_ANDROID_FIREBASE_CREDENTIALS_APP_CONTENT }} groups: stream-testers file: stream-chat-android-compose-sample/build/outputs/apk/demo/release/stream-chat-android-compose-sample-demo-release.apk releaseNotesFile: release-notes.txt From 49867b9801e5f5f60bd7fa02a88f9dfd10ab6171 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Mion?= Date: Tue, 22 Sep 2026 10:48:39 +0100 Subject: [PATCH 6/6] Upload the compose sample APK from the path it is built to The compose sample declares a version flavor dimension, so its only release output is apk/demo/release/. The upload step pointed at apk/release/, which never exists, and upload-artifact only warns when it finds no files, so the job stayed green while publishing an empty artifact. The Firebase step below it and the sibling UI components job already use the right path. Also drop fetch-depth: 0 from the release workflow. It was there for the git versioner. The only history it reads now is git rev-parse --short HEAD, which works at depth 1, so it was cloning 17.5k commits on every release for nothing. --- .github/workflows/app-distribute.yml | 2 +- .github/workflows/attach-release-apk.yml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/app-distribute.yml b/.github/workflows/app-distribute.yml index fa20b000aceb..fdfcaf7fa077 100644 --- a/.github/workflows/app-distribute.yml +++ b/.github/workflows/app-distribute.yml @@ -111,7 +111,7 @@ jobs: uses: actions/upload-artifact@v7.0.1 with: name: stream-chat-android-compose-sample-release - path: stream-chat-android-compose-sample/build/outputs/apk/release/ + path: stream-chat-android-compose-sample/build/outputs/apk/demo/release/ - name: Upload artifact to Firebase App Distribution uses: wzieba/Firebase-Distribution-Github-Action@v1.7.1 with: diff --git a/.github/workflows/attach-release-apk.yml b/.github/workflows/attach-release-apk.yml index f6fc1d1ca87e..83c8d2e435c3 100644 --- a/.github/workflows/attach-release-apk.yml +++ b/.github/workflows/attach-release-apk.yml @@ -19,7 +19,6 @@ jobs: - uses: actions/checkout@v7.0.1 with: ref: ${{ github.event.release.tag_name }} - fetch-depth: 0 persist-credentials: false - uses: GetStream/android-ci-actions/actions/setup-java@main - name: Resolve build identity