From 7038b2c3fd950b016128ddd83fe2aa2873afe7a0 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Thu, 8 Jan 2026 21:27:37 +0530 Subject: [PATCH 01/29] Generate changelog from commit and include it in beta release --- .github/actions/upload-android/action.yml | 24 ++++++++++++++++++++++- .github/actions/upload-ios/action.yml | 21 ++++++++++++++++++++ android/fastlane/Fastfile | 11 ++++++++++- ios/fastlane/Fastfile | 11 ++++++++++- 4 files changed, 64 insertions(+), 3 deletions(-) diff --git a/.github/actions/upload-android/action.yml b/.github/actions/upload-android/action.yml index 7f1fb418089..f7c8616e205 100644 --- a/.github/actions/upload-android/action.yml +++ b/.github/actions/upload-android/action.yml @@ -21,6 +21,10 @@ inputs: runs: using: "composite" steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Download Experimental AAB if: ${{ inputs.type == 'experimental' }} uses: actions/download-artifact@v4 @@ -53,11 +57,29 @@ runs: echo "${{ inputs.FASTLANE_GOOGLE_SERVICE_ACCOUNT }}" | base64 --decode > service_account.json shell: bash + - name: Generate shared release changelog + run: | + LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD) + + git log "$LAST_TAG"..HEAD --pretty=format:"- %s" > changelog.txt + + if [ ! -s changelog.txt ]; then + echo "- Improvements and bug fixes" > changelog.txt + fi + shell: bash + + - name: Save changelog + uses: actions/upload-artifact@v4 + with: + name: Android Changelog + path: changelog.txt + - name: Fastlane Play Store Upload working-directory: android run: | if [[ ${{ inputs.trigger }} == "pr" ]]; then - bundle exec fastlane android beta official:${{ inputs.type == 'official' }} + bundle exec fastlane android official_open_testing + # bundle exec fastlane android beta official:${{ inputs.type == 'official' }} fi if [[ ${{ inputs.trigger }} == "develop" ]] && [[ ${{ inputs.type }} == 'experimental' ]]; then bundle exec fastlane android experimental_production diff --git a/.github/actions/upload-ios/action.yml b/.github/actions/upload-ios/action.yml index 68f5d4539d4..298020abf7e 100644 --- a/.github/actions/upload-ios/action.yml +++ b/.github/actions/upload-ios/action.yml @@ -36,6 +36,10 @@ inputs: runs: using: "composite" steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Download iOS build uses: actions/download-artifact@v4 if: ${{ inputs.type == 'experimental' }} @@ -109,6 +113,23 @@ runs: yarn pod-install shell: bash + - name: Generate shared release changelog + run: | + LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD) + + git log "$LAST_TAG"..HEAD --pretty=format:"- %s" > changelog.txt + + if [ ! -s changelog.txt ]; then + echo "- Improvements and bug fixes" > changelog.txt + fi + shell: bash + + - name: Save changelog + uses: actions/upload-artifact@v4 + with: + name: iOS Changelog + path: changelog.txt + - name: Fastlane Submit to TestFlight working-directory: ios run: | diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile index b89435389ce..1145b194146 100644 --- a/android/fastlane/Fastfile +++ b/android/fastlane/Fastfile @@ -75,10 +75,19 @@ platform :android do desc "Upload App to Play Store Open Testing" lane :official_open_testing do + changelog_path = File.expand_path('../../changelog.txt', __dir__) + + changelog = if File.exist?(changelog_path) + File.read(changelog_path) + else + "Internal improvements and bug fixes" + end + upload_to_play_store( package_name: 'chat.rocket.android', track: 'beta', - aab: 'app/build/outputs/bundle/officialRelease/app-official-release.aab' + aab: 'app/build/outputs/bundle/officialRelease/app-official-release.aab', + changelog: changelog ) end end diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 80a43c7f587..7d87a543b9e 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -29,6 +29,14 @@ platform :ios do desc "Submit a new Beta Build to Apple TestFlight" lane :beta do |options| + changelog_path = File.expand_path('../../changelog.txt', __dir__) + + changelog = if File.exist?(changelog_path) + File.read(changelog_path) + else + "Improvements and bug fixes" + end + api_key = app_store_connect_api_key( key_id: ENV["APP_STORE_CONNECT_API_KEY_ID"], issuer_id: ENV["APP_STORE_CONNECT_API_KEY_ISSUER_ID"], @@ -38,7 +46,8 @@ platform :ios do pilot( ipa: 'Rocket.Chat.ipa', app_identifier: options[:official] ? 'chat.rocket.ios' : 'chat.rocket.reactnative', - skip_waiting_for_build_processing: true + skip_waiting_for_build_processing: true, + changelog: changelog ) upload_symbols_to_crashlytics(dsym_path: "Rocket.Chat.app.dSYM.zip") upload_symbols_to_bugsnag( From 8e7f268227117bcc889c9af23db1caa71f4a5cd3 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Thu, 8 Jan 2026 22:03:59 +0530 Subject: [PATCH 02/29] Temporary reverse the condition --- .github/workflows/build-official-android.yml | 6 +++--- .github/workflows/build-pr.yml | 4 ---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-official-android.yml b/.github/workflows/build-official-android.yml index 76d195085b0..b3c8bb08b51 100644 --- a/.github/workflows/build-official-android.yml +++ b/.github/workflows/build-official-android.yml @@ -73,8 +73,8 @@ jobs: name: Upload runs-on: ubuntu-latest needs: [upload-hold] - if: ${{ inputs.type == 'official' && (always() && (needs.upload-hold.result == 'success' || needs.upload-hold.result == 'skipped')) }} - steps: + if: ${{ inputs.type == 'official' && inputs.trigger == 'pr' }} + steps: - name: Checkout Repository uses: actions/checkout@v4 @@ -91,7 +91,7 @@ jobs: name: Internal Sharing runs-on: ubuntu-latest needs: [build-android] - if: ${{ inputs.type == 'official' && inputs.trigger == 'pr' }} + if: ${{ inputs.type == 'official' && (always() && (needs.upload-hold.result == 'success' || needs.upload-hold.result == 'skipped')) }} steps: - name: Checkout Repository uses: actions/checkout@v4 diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 9871d27b04d..5ffed8f8071 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -9,10 +9,6 @@ on: branches: - '*' -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - jobs: run-eslint-and-test: name: ESLint and Test From 1beeb24718faba8cc5d57967bf232e1899f58638 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Thu, 8 Jan 2026 22:04:35 +0530 Subject: [PATCH 03/29] fix --- .github/workflows/build-official-android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-official-android.yml b/.github/workflows/build-official-android.yml index b3c8bb08b51..4f387ec6bad 100644 --- a/.github/workflows/build-official-android.yml +++ b/.github/workflows/build-official-android.yml @@ -74,7 +74,7 @@ jobs: runs-on: ubuntu-latest needs: [upload-hold] if: ${{ inputs.type == 'official' && inputs.trigger == 'pr' }} - steps: + steps: - name: Checkout Repository uses: actions/checkout@v4 From 0ad4ab6c81d5c4795fc72bfe1a9c1ad604c23146 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Thu, 8 Jan 2026 22:37:52 +0530 Subject: [PATCH 04/29] single action to generate changelog --- .github/actions/upload-android/action.yml | 18 +++---------- .github/actions/upload-ios/action.yml | 22 +++------------- .github/workflows/build-develop.yml | 13 ++++++--- .github/workflows/build-pr.yml | 13 ++++++--- .github/workflows/generate-changelog.yml | 32 +++++++++++++++++++++++ 5 files changed, 56 insertions(+), 42 deletions(-) create mode 100644 .github/workflows/generate-changelog.yml diff --git a/.github/actions/upload-android/action.yml b/.github/actions/upload-android/action.yml index f7c8616e205..6527b967f58 100644 --- a/.github/actions/upload-android/action.yml +++ b/.github/actions/upload-android/action.yml @@ -57,22 +57,10 @@ runs: echo "${{ inputs.FASTLANE_GOOGLE_SERVICE_ACCOUNT }}" | base64 --decode > service_account.json shell: bash - - name: Generate shared release changelog - run: | - LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD) - - git log "$LAST_TAG"..HEAD --pretty=format:"- %s" > changelog.txt - - if [ ! -s changelog.txt ]; then - echo "- Improvements and bug fixes" > changelog.txt - fi - shell: bash - - - name: Save changelog - uses: actions/upload-artifact@v4 + - uses: actions/download-artifact@v4 with: - name: Android Changelog - path: changelog.txt + name: release-changelog + path: . - name: Fastlane Play Store Upload working-directory: android diff --git a/.github/actions/upload-ios/action.yml b/.github/actions/upload-ios/action.yml index 298020abf7e..66db9bf59ef 100644 --- a/.github/actions/upload-ios/action.yml +++ b/.github/actions/upload-ios/action.yml @@ -36,10 +36,6 @@ inputs: runs: using: "composite" steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Download iOS build uses: actions/download-artifact@v4 if: ${{ inputs.type == 'experimental' }} @@ -113,22 +109,10 @@ runs: yarn pod-install shell: bash - - name: Generate shared release changelog - run: | - LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD) - - git log "$LAST_TAG"..HEAD --pretty=format:"- %s" > changelog.txt - - if [ ! -s changelog.txt ]; then - echo "- Improvements and bug fixes" > changelog.txt - fi - shell: bash - - - name: Save changelog - uses: actions/upload-artifact@v4 + - uses: actions/download-artifact@v4 with: - name: iOS Changelog - path: changelog.txt + name: release-changelog + path: . - name: Fastlane Submit to TestFlight working-directory: ios diff --git a/.github/workflows/build-develop.yml b/.github/workflows/build-develop.yml index 48ffc62e564..b8be5d7ef33 100644 --- a/.github/workflows/build-develop.yml +++ b/.github/workflows/build-develop.yml @@ -14,11 +14,16 @@ jobs: if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/eslint.yml + generate-changelog: + name: Generate Release Changelog + needs: [run-eslint-and-test] + uses: ./.github/workflows/generate-changelog.yml + android-build-experimental-store: name: Build Android Experimental if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/build-android.yml - needs: [run-eslint-and-test] + needs: [run-eslint-and-test, generate-changelog] secrets: inherit with: type: experimental @@ -28,7 +33,7 @@ jobs: name: Build Android Official if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/build-official-android.yml - needs: [run-eslint-and-test] + needs: [run-eslint-and-test, generate-changelog] secrets: inherit with: type: official @@ -38,7 +43,7 @@ jobs: name: Build iOS Experimental if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/build-ios.yml - needs: [run-eslint-and-test] + needs: [run-eslint-and-test, generate-changelog] secrets: inherit with: type: experimental @@ -48,7 +53,7 @@ jobs: name: Build iOS Official if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/build-official-ios.yml - needs: [run-eslint-and-test] + needs: [run-eslint-and-test, generate-changelog] secrets: inherit with: type: official diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 5ffed8f8071..134890bcf70 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -15,11 +15,16 @@ jobs: if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/eslint.yml + generate-changelog: + name: Generate Release Changelog + needs: [run-eslint-and-test] + uses: ./.github/workflows/generate-changelog.yml + android-build-experimental-store: name: Build Android Experimental if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/build-android.yml - needs: [run-eslint-and-test] + needs: [run-eslint-and-test, generate-changelog] secrets: inherit with: type: experimental @@ -29,7 +34,7 @@ jobs: name: Build Android Official if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/build-official-android.yml - needs: [run-eslint-and-test] + needs: [run-eslint-and-test, generate-changelog] secrets: inherit with: type: official @@ -39,7 +44,7 @@ jobs: name: Build iOS Experimental if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/build-ios.yml - needs: [run-eslint-and-test] + needs: [run-eslint-and-test, generate-changelog] secrets: inherit with: type: experimental @@ -49,7 +54,7 @@ jobs: name: Build iOS Official if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/build-official-ios.yml - needs: [run-eslint-and-test] + needs: [run-eslint-and-test, generate-changelog] secrets: inherit with: type: official diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml new file mode 100644 index 00000000000..76425796211 --- /dev/null +++ b/.github/workflows/generate-changelog.yml @@ -0,0 +1,32 @@ +name: Generate Release Changelog + +on: + workflow_call: + +jobs: + generate-changelog: + name: Generate changelog + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Generate changelog + shell: bash + run: | + LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD) + + git log "$LAST_TAG"..HEAD --pretty=format:"- %s" > changelog.txt + + if [ ! -s changelog.txt ]; then + echo "- Improvements and bug fixes" > changelog.txt + fi + + - name: Upload changelog artifact + uses: actions/upload-artifact@v4 + with: + name: release-changelog + path: changelog.txt From 54f2427d16aae0767e464dc42131ecf31deecdfd Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Thu, 8 Jan 2026 23:21:31 +0530 Subject: [PATCH 05/29] Fix for changelog generator --- .github/workflows/generate-changelog.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml index 76425796211..e562e7ad8c8 100644 --- a/.github/workflows/generate-changelog.yml +++ b/.github/workflows/generate-changelog.yml @@ -17,9 +17,9 @@ jobs: - name: Generate changelog shell: bash run: | - LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD) + LATEST_RELEASE_TAG=$(gh release view --json tagName -q .tagName) - git log "$LAST_TAG"..HEAD --pretty=format:"- %s" > changelog.txt + git log "$LATEST_RELEASE_TAG"..HEAD --pretty=format:"- %s" > changelog.txt if [ ! -s changelog.txt ]; then echo "- Improvements and bug fixes" > changelog.txt From 1dbe63dba080744f6718b78fe6913cfa84d0f4d7 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Thu, 8 Jan 2026 23:25:26 +0530 Subject: [PATCH 06/29] fix changelog upload --- .github/actions/upload-android/action.yml | 14 +++++++++----- android/fastlane/Fastfile | 5 ++++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/actions/upload-android/action.yml b/.github/actions/upload-android/action.yml index 6527b967f58..fe2ecf41b54 100644 --- a/.github/actions/upload-android/action.yml +++ b/.github/actions/upload-android/action.yml @@ -21,10 +21,6 @@ inputs: runs: using: "composite" steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Download Experimental AAB if: ${{ inputs.type == 'experimental' }} uses: actions/download-artifact@v4 @@ -62,6 +58,15 @@ runs: name: release-changelog path: . + - name: Prepare Play Store changelog metadata + run: | + mkdir -p android/fastlane/metadata/android/en-US/changelogs + + cp changelog.txt android/fastlane/metadata/android/en-US/changelogs/$BUILD_VERSION.txt + shell: bash + env: + BUILD_VERSION: ${{ inputs.BUILD_VERSION }} + - name: Fastlane Play Store Upload working-directory: android run: | @@ -75,7 +80,6 @@ runs: if [[ ${{ inputs.trigger }} == "develop" ]] && [[ ${{ inputs.type }} == 'official' ]]; then bundle exec fastlane android official_open_testing fi - shell: bash - name: Leave a comment on PR diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile index 1145b194146..3cc2c547624 100644 --- a/android/fastlane/Fastfile +++ b/android/fastlane/Fastfile @@ -87,7 +87,10 @@ platform :android do package_name: 'chat.rocket.android', track: 'beta', aab: 'app/build/outputs/bundle/officialRelease/app-official-release.aab', - changelog: changelog + skip_upload_metadata: true, + skip_upload_changelogs: false, + skip_upload_images: true, + skip_upload_screenshots: true ) end end From 8b4f0987757781b080792050736c6190e69e3d26 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Thu, 8 Jan 2026 23:34:08 +0530 Subject: [PATCH 07/29] Added gh token env --- .github/workflows/generate-changelog.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml index e562e7ad8c8..90ce9f27186 100644 --- a/.github/workflows/generate-changelog.yml +++ b/.github/workflows/generate-changelog.yml @@ -24,6 +24,8 @@ jobs: if [ ! -s changelog.txt ]; then echo "- Improvements and bug fixes" > changelog.txt fi + env: + GH_TOKEN: ${{ github.token }} - name: Upload changelog artifact uses: actions/upload-artifact@v4 From 89b447ae5ebc4aaa0cefb918f2e5e0e9ad6ab4f4 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Fri, 9 Jan 2026 01:12:04 +0530 Subject: [PATCH 08/29] use last tag instead of release --- .github/workflows/generate-changelog.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml index 90ce9f27186..14940ab75be 100644 --- a/.github/workflows/generate-changelog.yml +++ b/.github/workflows/generate-changelog.yml @@ -17,15 +17,13 @@ jobs: - name: Generate changelog shell: bash run: | - LATEST_RELEASE_TAG=$(gh release view --json tagName -q .tagName) + LATEST_RELEASE_TAG=$(git tag --sort=creatordate | head -n 1) git log "$LATEST_RELEASE_TAG"..HEAD --pretty=format:"- %s" > changelog.txt if [ ! -s changelog.txt ]; then echo "- Improvements and bug fixes" > changelog.txt fi - env: - GH_TOKEN: ${{ github.token }} - name: Upload changelog artifact uses: actions/upload-artifact@v4 From b93c791f92ff4990eabe0b9d4cdcae0f00535bf9 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Fri, 9 Jan 2026 01:22:18 +0530 Subject: [PATCH 09/29] fix order --- .github/workflows/generate-changelog.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml index 14940ab75be..a3809dce1ac 100644 --- a/.github/workflows/generate-changelog.yml +++ b/.github/workflows/generate-changelog.yml @@ -17,7 +17,7 @@ jobs: - name: Generate changelog shell: bash run: | - LATEST_RELEASE_TAG=$(git tag --sort=creatordate | head -n 1) + LATEST_RELEASE_TAG=$(git tag --sort=-creatordate | head -n 1) git log "$LATEST_RELEASE_TAG"..HEAD --pretty=format:"- %s" > changelog.txt From e90069718acf62c5460f08ba429a094cb2c0ebe3 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Sat, 10 Jan 2026 23:27:21 +0530 Subject: [PATCH 10/29] Remove changelog from android fastlane --- android/fastlane/Fastfile | 8 -------- 1 file changed, 8 deletions(-) diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile index 3cc2c547624..1448a1173f0 100644 --- a/android/fastlane/Fastfile +++ b/android/fastlane/Fastfile @@ -75,14 +75,6 @@ platform :android do desc "Upload App to Play Store Open Testing" lane :official_open_testing do - changelog_path = File.expand_path('../../changelog.txt', __dir__) - - changelog = if File.exist?(changelog_path) - File.read(changelog_path) - else - "Internal improvements and bug fixes" - end - upload_to_play_store( package_name: 'chat.rocket.android', track: 'beta', From 8427d61ff611a7672ddef85c97d111d0b92bc8ab Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Sun, 11 Jan 2026 00:00:26 +0530 Subject: [PATCH 11/29] Added no merge --- .github/workflows/generate-changelog.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml index a3809dce1ac..ab2c617f8c2 100644 --- a/.github/workflows/generate-changelog.yml +++ b/.github/workflows/generate-changelog.yml @@ -19,7 +19,7 @@ jobs: run: | LATEST_RELEASE_TAG=$(git tag --sort=-creatordate | head -n 1) - git log "$LATEST_RELEASE_TAG"..HEAD --pretty=format:"- %s" > changelog.txt + git log "$LATEST_RELEASE_TAG"..HEAD --pretty=format:"- %s" --no-merges > changelog.txt if [ ! -s changelog.txt ]; then echo "- Improvements and bug fixes" > changelog.txt From ae13facf1ac6923dc1354a05cf92cfd9cf8666a7 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Sun, 11 Jan 2026 00:10:26 +0530 Subject: [PATCH 12/29] Handle changelog character limit --- .github/actions/upload-android/action.yml | 13 ++++++++++++- ios/fastlane/Fastfile | 3 ++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/actions/upload-android/action.yml b/.github/actions/upload-android/action.yml index fe2ecf41b54..d0ded94e45c 100644 --- a/.github/actions/upload-android/action.yml +++ b/.github/actions/upload-android/action.yml @@ -62,7 +62,18 @@ runs: run: | mkdir -p android/fastlane/metadata/android/en-US/changelogs - cp changelog.txt android/fastlane/metadata/android/en-US/changelogs/$BUILD_VERSION.txt + if [ -f changelog.txt ]; then + size=$(wc -c < changelog.txt) + + if [ "$size" -gt 500 ]; then + head -c 497 changelog.txt > android/fastlane/metadata/android/en-US/changelogs/$BUILD_VERSION.txt + printf "..." >> android/fastlane/metadata/android/en-US/changelogs/$BUILD_VERSION.txt + else + cat changelog.txt > android/fastlane/metadata/android/en-US/changelogs/$BUILD_VERSION.txt + fi + else + printf "Internal improvements and bug fixes" > android/fastlane/metadata/android/en-US/changelogs/$BUILD_VERSION.txt + fi shell: bash env: BUILD_VERSION: ${{ inputs.BUILD_VERSION }} diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 7d87a543b9e..8efedfa6188 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -32,7 +32,8 @@ platform :ios do changelog_path = File.expand_path('../../changelog.txt', __dir__) changelog = if File.exist?(changelog_path) - File.read(changelog_path) + content = File.read(changelog_path) + content.length > 4000 ? content[0, 3997] + "..." : content else "Improvements and bug fixes" end From 41508cf3eb6e24e2cd308c8f9928bb8bd5a0f720 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Sun, 11 Jan 2026 02:07:18 +0530 Subject: [PATCH 13/29] reject previous bulid if it is in review --- ios/fastlane/Fastfile | 1 + 1 file changed, 1 insertion(+) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 8efedfa6188..bee5766f08c 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -48,6 +48,7 @@ platform :ios do ipa: 'Rocket.Chat.ipa', app_identifier: options[:official] ? 'chat.rocket.ios' : 'chat.rocket.reactnative', skip_waiting_for_build_processing: true, + reject_build_waiting_for_review: true, changelog: changelog ) upload_symbols_to_crashlytics(dsym_path: "Rocket.Chat.app.dSYM.zip") From 97af463329657df881f443397bb8ab43d54cbd2d Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Mon, 12 Jan 2026 19:08:19 +0530 Subject: [PATCH 14/29] Distribute to external group --- ios/fastlane/Fastfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index bee5766f08c..efe6f2b00ea 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -49,6 +49,9 @@ platform :ios do app_identifier: options[:official] ? 'chat.rocket.ios' : 'chat.rocket.reactnative', skip_waiting_for_build_processing: true, reject_build_waiting_for_review: true, + distribute_external: true, + notify_external_testers: true, + groups: ["External Testers"], changelog: changelog ) upload_symbols_to_crashlytics(dsym_path: "Rocket.Chat.app.dSYM.zip") From 74c6f6449d023bfb3e418a21baa3a0b095017f3a Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Mon, 12 Jan 2026 19:14:09 +0530 Subject: [PATCH 15/29] Revert testing changes --- .github/workflows/build-official-android.yml | 4 ++-- .github/workflows/build-pr.yml | 17 ++++++++--------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-official-android.yml b/.github/workflows/build-official-android.yml index 4f387ec6bad..76d195085b0 100644 --- a/.github/workflows/build-official-android.yml +++ b/.github/workflows/build-official-android.yml @@ -73,7 +73,7 @@ jobs: name: Upload runs-on: ubuntu-latest needs: [upload-hold] - if: ${{ inputs.type == 'official' && inputs.trigger == 'pr' }} + if: ${{ inputs.type == 'official' && (always() && (needs.upload-hold.result == 'success' || needs.upload-hold.result == 'skipped')) }} steps: - name: Checkout Repository uses: actions/checkout@v4 @@ -91,7 +91,7 @@ jobs: name: Internal Sharing runs-on: ubuntu-latest needs: [build-android] - if: ${{ inputs.type == 'official' && (always() && (needs.upload-hold.result == 'success' || needs.upload-hold.result == 'skipped')) }} + if: ${{ inputs.type == 'official' && inputs.trigger == 'pr' }} steps: - name: Checkout Repository uses: actions/checkout@v4 diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 134890bcf70..9871d27b04d 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -9,22 +9,21 @@ on: branches: - '*' +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: run-eslint-and-test: name: ESLint and Test if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/eslint.yml - generate-changelog: - name: Generate Release Changelog - needs: [run-eslint-and-test] - uses: ./.github/workflows/generate-changelog.yml - android-build-experimental-store: name: Build Android Experimental if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/build-android.yml - needs: [run-eslint-and-test, generate-changelog] + needs: [run-eslint-and-test] secrets: inherit with: type: experimental @@ -34,7 +33,7 @@ jobs: name: Build Android Official if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/build-official-android.yml - needs: [run-eslint-and-test, generate-changelog] + needs: [run-eslint-and-test] secrets: inherit with: type: official @@ -44,7 +43,7 @@ jobs: name: Build iOS Experimental if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/build-ios.yml - needs: [run-eslint-and-test, generate-changelog] + needs: [run-eslint-and-test] secrets: inherit with: type: experimental @@ -54,7 +53,7 @@ jobs: name: Build iOS Official if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }} uses: ./.github/workflows/build-official-ios.yml - needs: [run-eslint-and-test, generate-changelog] + needs: [run-eslint-and-test] secrets: inherit with: type: official From 373052881e3a8736c0a2c8855393f7a8da894c30 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Mon, 12 Jan 2026 19:14:58 +0530 Subject: [PATCH 16/29] For now run build-develop on beta-changelog push --- .github/workflows/build-develop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-develop.yml b/.github/workflows/build-develop.yml index b8be5d7ef33..46302ae071a 100644 --- a/.github/workflows/build-develop.yml +++ b/.github/workflows/build-develop.yml @@ -6,7 +6,7 @@ permissions: on: push: branches: - - 'develop' + - 'beta-changelog' jobs: run-eslint-and-test: From 87cf200ccb346643edf9d7214d9cb3c421c8a336 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Mon, 12 Jan 2026 19:15:34 +0530 Subject: [PATCH 17/29] Revert one more change --- .github/actions/upload-android/action.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/actions/upload-android/action.yml b/.github/actions/upload-android/action.yml index d0ded94e45c..18b1e0326af 100644 --- a/.github/actions/upload-android/action.yml +++ b/.github/actions/upload-android/action.yml @@ -82,8 +82,7 @@ runs: working-directory: android run: | if [[ ${{ inputs.trigger }} == "pr" ]]; then - bundle exec fastlane android official_open_testing - # bundle exec fastlane android beta official:${{ inputs.type == 'official' }} + bundle exec fastlane android beta official:${{ inputs.type == 'official' }} fi if [[ ${{ inputs.trigger }} == "develop" ]] && [[ ${{ inputs.type }} == 'experimental' ]]; then bundle exec fastlane android experimental_production From 27869061e0cc483a8fcb4e35ba3b1537cf0535f0 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Mon, 12 Jan 2026 20:56:58 +0530 Subject: [PATCH 18/29] echo version --- .github/actions/upload-android/action.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/actions/upload-android/action.yml b/.github/actions/upload-android/action.yml index 18b1e0326af..fe4fa04d11e 100644 --- a/.github/actions/upload-android/action.yml +++ b/.github/actions/upload-android/action.yml @@ -54,12 +54,16 @@ runs: shell: bash - uses: actions/download-artifact@v4 + if: ${{ inputs.trigger == 'develop' }} with: name: release-changelog path: . - name: Prepare Play Store changelog metadata + if: ${{ inputs.trigger == 'develop' }} run: | + echo "Build version: $BUILD_VERSION" + mkdir -p android/fastlane/metadata/android/en-US/changelogs if [ -f changelog.txt ]; then From e9a11ddee3ee2ef91884ec6cd6ed242587ce2524 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Mon, 12 Jan 2026 22:16:06 +0530 Subject: [PATCH 19/29] use Build version based on condition --- .github/workflows/build-official-android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-official-android.yml b/.github/workflows/build-official-android.yml index 76d195085b0..a3b09e8f267 100644 --- a/.github/workflows/build-official-android.yml +++ b/.github/workflows/build-official-android.yml @@ -85,7 +85,7 @@ jobs: trigger: ${{ inputs.trigger }} FASTLANE_GOOGLE_SERVICE_ACCOUNT: ${{ secrets.FASTLANE_GOOGLE_SERVICE_ACCOUNT }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - BUILD_VERSION: ${{ needs.upload-hold.outputs.BUILD_VERSION }} + BUILD_VERSION: ${{ needs.upload-hold.result == 'success' && needs.upload-hold.outputs.BUILD_VERSION || needs.build-android.outputs.BUILD_VERSION }} upload-internal: name: Internal Sharing From 381f35a51ed3c0f9e39c4a057198abaa9a5ecfa1 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Mon, 12 Jan 2026 22:17:18 +0530 Subject: [PATCH 20/29] Remove echo version --- .github/actions/upload-android/action.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/actions/upload-android/action.yml b/.github/actions/upload-android/action.yml index fe4fa04d11e..aa0649ff10b 100644 --- a/.github/actions/upload-android/action.yml +++ b/.github/actions/upload-android/action.yml @@ -62,8 +62,6 @@ runs: - name: Prepare Play Store changelog metadata if: ${{ inputs.trigger == 'develop' }} run: | - echo "Build version: $BUILD_VERSION" - mkdir -p android/fastlane/metadata/android/en-US/changelogs if [ -f changelog.txt ]; then From a5f7814bf821267f834bcb31a181b5e3d447ba4b Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Mon, 12 Jan 2026 22:57:06 +0530 Subject: [PATCH 21/29] Some changes --- .github/workflows/build-official-android.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-official-android.yml b/.github/workflows/build-official-android.yml index a3b09e8f267..226c50ff26a 100644 --- a/.github/workflows/build-official-android.yml +++ b/.github/workflows/build-official-android.yml @@ -72,7 +72,7 @@ jobs: upload-android: name: Upload runs-on: ubuntu-latest - needs: [upload-hold] + needs: [build-android, upload-hold] if: ${{ inputs.type == 'official' && (always() && (needs.upload-hold.result == 'success' || needs.upload-hold.result == 'skipped')) }} steps: - name: Checkout Repository @@ -85,7 +85,7 @@ jobs: trigger: ${{ inputs.trigger }} FASTLANE_GOOGLE_SERVICE_ACCOUNT: ${{ secrets.FASTLANE_GOOGLE_SERVICE_ACCOUNT }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - BUILD_VERSION: ${{ needs.upload-hold.result == 'success' && needs.upload-hold.outputs.BUILD_VERSION || needs.build-android.outputs.BUILD_VERSION }} + BUILD_VERSION: ${{ needs.build-android.outputs.BUILD_VERSION }} upload-internal: name: Internal Sharing From 5ce95ac32fb1a7fe386785c4066cccb037cfce06 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Tue, 13 Jan 2026 02:00:20 +0530 Subject: [PATCH 22/29] added condition in ios experimental build --- .github/actions/upload-ios/action.yml | 1 + ios/fastlane/Fastfile | 28 +++++++++++++++------------ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/.github/actions/upload-ios/action.yml b/.github/actions/upload-ios/action.yml index 66db9bf59ef..95077f56e16 100644 --- a/.github/actions/upload-ios/action.yml +++ b/.github/actions/upload-ios/action.yml @@ -110,6 +110,7 @@ runs: shell: bash - uses: actions/download-artifact@v4 + if: ${{ inputs.type == 'official' }} with: name: release-changelog path: . diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index efe6f2b00ea..027e8c04d4c 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -34,8 +34,6 @@ platform :ios do changelog = if File.exist?(changelog_path) content = File.read(changelog_path) content.length > 4000 ? content[0, 3997] + "..." : content - else - "Improvements and bug fixes" end api_key = app_store_connect_api_key( @@ -44,16 +42,22 @@ platform :ios do key_filepath: 'fastlane/app_store_connect_api_key.p8', in_house: false ) - pilot( - ipa: 'Rocket.Chat.ipa', - app_identifier: options[:official] ? 'chat.rocket.ios' : 'chat.rocket.reactnative', - skip_waiting_for_build_processing: true, - reject_build_waiting_for_review: true, - distribute_external: true, - notify_external_testers: true, - groups: ["External Testers"], - changelog: changelog - ) + + pilot_options = { + ipa: 'Rocket.Chat.ipa', + app_identifier: options[:official] ? 'chat.rocket.ios' : 'chat.rocket.reactnative', + skip_waiting_for_build_processing: true, + reject_build_waiting_for_review: true, + distribute_external: true, + notify_external_testers: true, + groups: ["External Testers"] + } + + if options[:official] && changelog + pilot_options[:changelog] = changelog + end + + pilot(pilot_options) upload_symbols_to_crashlytics(dsym_path: "Rocket.Chat.app.dSYM.zip") upload_symbols_to_bugsnag( config_file: "RocketChatRN/Info.plist", From 2da31d913a502f303b9218d979368512f854cdd4 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Tue, 13 Jan 2026 02:57:44 +0530 Subject: [PATCH 23/29] Moved zome more option to conditional --- ios/fastlane/Fastfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 027e8c04d4c..9ecfb4c87d0 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -48,13 +48,13 @@ platform :ios do app_identifier: options[:official] ? 'chat.rocket.ios' : 'chat.rocket.reactnative', skip_waiting_for_build_processing: true, reject_build_waiting_for_review: true, - distribute_external: true, - notify_external_testers: true, - groups: ["External Testers"] } if options[:official] && changelog pilot_options[:changelog] = changelog + pilot_options[:distribute_external] = true + pilot_options[:notify_external_testers] = true + pilot_options[:groups] = ["External Testers"] end pilot(pilot_options) From 4461b9f72ce9dcaf572b56b0f5bc1027e0977081 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Tue, 13 Jan 2026 10:40:26 +0530 Subject: [PATCH 24/29] Update condition for downloading artifact --- .github/actions/upload-ios/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/upload-ios/action.yml b/.github/actions/upload-ios/action.yml index 95077f56e16..4deefc781a2 100644 --- a/.github/actions/upload-ios/action.yml +++ b/.github/actions/upload-ios/action.yml @@ -110,7 +110,7 @@ runs: shell: bash - uses: actions/download-artifact@v4 - if: ${{ inputs.type == 'official' }} + if: ${{ inputs.type == 'official' && inputs.trigger == 'develop' }} with: name: release-changelog path: . @@ -163,4 +163,4 @@ runs: message="**iOS Build Available**"$'\n\n'"$app_name $VERSION_NAME.$BUILD_VERSION" gh pr comment "$PR_NUMBER" --body "$message" - shell: bash \ No newline at end of file + shell: bash From 6afe1de2d22025353ed77b286862a765c1b3d059 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Tue, 13 Jan 2026 18:21:37 +0530 Subject: [PATCH 25/29] wait for build process --- ios/fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 9ecfb4c87d0..fde60d11cfa 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -46,7 +46,7 @@ platform :ios do pilot_options = { ipa: 'Rocket.Chat.ipa', app_identifier: options[:official] ? 'chat.rocket.ios' : 'chat.rocket.reactnative', - skip_waiting_for_build_processing: true, + skip_waiting_for_build_processing: !options[:official], reject_build_waiting_for_review: true, } From 391ea9ed93936d8bba6f3110b18519fd78d5870c Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Tue, 13 Jan 2026 18:24:14 +0530 Subject: [PATCH 26/29] more improve --- ios/fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index fde60d11cfa..6f52b0e2f6b 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -46,7 +46,7 @@ platform :ios do pilot_options = { ipa: 'Rocket.Chat.ipa', app_identifier: options[:official] ? 'chat.rocket.ios' : 'chat.rocket.reactnative', - skip_waiting_for_build_processing: !options[:official], + skip_waiting_for_build_processing: !(options[:official] && changelog), reject_build_waiting_for_review: true, } From eaf9c694643a824e3c8ee2de55911422af8e5ff4 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Tue, 13 Jan 2026 21:28:48 +0530 Subject: [PATCH 27/29] Run the action on develop push --- .github/workflows/build-develop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-develop.yml b/.github/workflows/build-develop.yml index 46302ae071a..b8be5d7ef33 100644 --- a/.github/workflows/build-develop.yml +++ b/.github/workflows/build-develop.yml @@ -6,7 +6,7 @@ permissions: on: push: branches: - - 'beta-changelog' + - 'develop' jobs: run-eslint-and-test: From fa430f665fbb698a1cb7cd6fccfabefc05f56fbd Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Tue, 13 Jan 2026 22:10:03 +0530 Subject: [PATCH 28/29] Added 15 retention days for changelog file --- .github/workflows/generate-changelog.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml index ab2c617f8c2..678fa8f086c 100644 --- a/.github/workflows/generate-changelog.yml +++ b/.github/workflows/generate-changelog.yml @@ -30,3 +30,4 @@ jobs: with: name: release-changelog path: changelog.txt + retention-days: 15 From 6688bf2fdd081e865d2dbbb849061b31656016b3 Mon Sep 17 00:00:00 2001 From: Rohit Bansal <40559587+Rohit3523@users.noreply.github.com> Date: Wed, 14 Jan 2026 22:17:36 +0530 Subject: [PATCH 29/29] changes suggested by coderabbit --- .github/actions/upload-android/action.yml | 12 ++++++------ .github/workflows/generate-changelog.yml | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/actions/upload-android/action.yml b/.github/actions/upload-android/action.yml index aa0649ff10b..0452a2832b7 100644 --- a/.github/actions/upload-android/action.yml +++ b/.github/actions/upload-android/action.yml @@ -65,16 +65,16 @@ runs: mkdir -p android/fastlane/metadata/android/en-US/changelogs if [ -f changelog.txt ]; then - size=$(wc -c < changelog.txt) + char_count=$(wc -m < changelog.txt) - if [ "$size" -gt 500 ]; then - head -c 497 changelog.txt > android/fastlane/metadata/android/en-US/changelogs/$BUILD_VERSION.txt - printf "..." >> android/fastlane/metadata/android/en-US/changelogs/$BUILD_VERSION.txt + if [ "$char_count" -gt 500 ]; then + cut -c1-497 changelog.txt > "android/fastlane/metadata/android/en-US/changelogs/${BUILD_VERSION}.txt" + printf "..." >> "android/fastlane/metadata/android/en-US/changelogs/${BUILD_VERSION}.txt" else - cat changelog.txt > android/fastlane/metadata/android/en-US/changelogs/$BUILD_VERSION.txt + cat changelog.txt > "android/fastlane/metadata/android/en-US/changelogs/${BUILD_VERSION}.txt" fi else - printf "Internal improvements and bug fixes" > android/fastlane/metadata/android/en-US/changelogs/$BUILD_VERSION.txt + printf "Internal improvements and bug fixes" > "android/fastlane/metadata/android/en-US/changelogs/${BUILD_VERSION}.txt" fi shell: bash env: diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml index 678fa8f086c..af729951373 100644 --- a/.github/workflows/generate-changelog.yml +++ b/.github/workflows/generate-changelog.yml @@ -19,6 +19,11 @@ jobs: run: | LATEST_RELEASE_TAG=$(git tag --sort=-creatordate | head -n 1) + if [ -z "$LATEST_RELEASE_TAG" ]; then + echo "- Improvements and bug fixes" > changelog.txt + exit 0 + fi + git log "$LATEST_RELEASE_TAG"..HEAD --pretty=format:"- %s" --no-merges > changelog.txt if [ ! -s changelog.txt ]; then