From c9005432ea63ed783414e9125453146984978c89 Mon Sep 17 00:00:00 2001 From: James Rich <2199651+jamesarich@users.noreply.github.com> Date: Thu, 5 Mar 2026 14:04:37 -0600 Subject: [PATCH] ci: improve release cleanup and optimize build tasks (#4724) --- .github/workflows/create-or-promote-release.yml | 12 ++++++++---- fastlane/Fastfile | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/create-or-promote-release.yml b/.github/workflows/create-or-promote-release.yml index 89d6254db..053174c00 100644 --- a/.github/workflows/create-or-promote-release.yml +++ b/.github/workflows/create-or-promote-release.yml @@ -141,16 +141,20 @@ jobs: cleanup-on-failure: needs: [determine-tags, call-release-workflow] - if: ${{ failure() && !inputs.dry_run && inputs.channel == 'internal' }} + if: ${{ (failure() || cancelled()) && !inputs.dry_run && inputs.channel == 'internal' }} runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v6 with: fetch-depth: 0 - - name: Delete Failed Tag + - name: Delete Failed or Cancelled Tag env: FINAL_TAG: ${{ needs.determine-tags.outputs.final_tag }} run: | - echo "Release workflow failed. Deleting tag $FINAL_TAG to allow a clean retry..." - git push origin :refs/tags/"$FINAL_TAG" || echo "Tag was not pushed or already deleted." + if [ -n "$FINAL_TAG" ]; then + echo "Release workflow failed or was cancelled. Deleting tag $FINAL_TAG to allow a clean retry..." + git push origin :refs/tags/"$FINAL_TAG" || echo "Tag was not pushed or already deleted." + else + echo "No tag was created to delete." + fi diff --git a/fastlane/Fastfile b/fastlane/Fastfile index b817d9cd8..e4b607871 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -35,7 +35,7 @@ platform :android do desc "Build the F-Droid release" lane :fdroid_build do gradle( - task: "clean assembleFdroidRelease", + task: "assembleFdroidRelease", properties: { "android.injected.version.name" => ENV['VERSION_NAME'], "android.injected.version.code" => ENV['VERSION_CODE'] @@ -46,7 +46,7 @@ platform :android do desc "Build the Google Release" private_lane :build_google_release do gradle( - task: "clean bundleGoogleRelease assembleGoogleRelease", + task: "bundleGoogleRelease assembleGoogleRelease", print_command: false, properties: { "android.injected.version.name" => ENV['VERSION_NAME'],