From a075f5ca34e8f94233263bd907bc9ba32aeea174 Mon Sep 17 00:00:00 2001 From: Conrad Kramer Date: Sun, 7 Jun 2026 18:59:29 -0700 Subject: [PATCH] Allow TestFlight distribution retries --- .forgejo/workflows/publish-store-uploads.yml | 6 +++++- ...0009-release-infrastructure-and-store-upload-pipeline.md | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/publish-store-uploads.yml b/.forgejo/workflows/publish-store-uploads.yml index 1f56294..dcbedc2 100644 --- a/.forgejo/workflows/publish-store-uploads.yml +++ b/.forgejo/workflows/publish-store-uploads.yml @@ -11,6 +11,10 @@ on: description: Upload iOS/macOS/visionOS artifacts to App Store Connect required: false default: "false" + distribute_testflight: + description: Distribute an already-uploaded iOS build to TestFlight + required: false + default: "false" upload_sparkle: description: Publish Sparkle artifacts required: false @@ -218,7 +222,7 @@ jobs: release-ios-testflight: name: Release (TestFlight iOS Testers) needs: upload-app-store - if: ${{ github.event.inputs.upload_app_store == 'true' }} + if: ${{ always() && (github.event.inputs.upload_app_store == 'true' || github.event.inputs.distribute_testflight == 'true') && (github.event.inputs.upload_app_store != 'true' || needs.upload-app-store.result == 'success') }} runs-on: namespace-profile-linux-medium steps: - name: Checkout diff --git a/evolution/proposals/BEP-0009-release-infrastructure-and-store-upload-pipeline.md b/evolution/proposals/BEP-0009-release-infrastructure-and-store-upload-pipeline.md index 96dc5e6..f155823 100644 --- a/evolution/proposals/BEP-0009-release-infrastructure-and-store-upload-pipeline.md +++ b/evolution/proposals/BEP-0009-release-infrastructure-and-store-upload-pipeline.md @@ -195,7 +195,9 @@ The same change also makes the forge itself the release authority: release tags `apple-distribute-testers` and `publish-store-uploads` wait up to 7200 seconds by default and allow Forgejo variable `TESTFLIGHT_WAIT_PROCESSING_TIMEOUT_SECONDS` to tune that ceiling without a - repo change. + repo change. `publish-store-uploads` can also run with + `distribute_testflight=true` and `upload_app_store=false` to distribute an + already-uploaded build without re-uploading or rebuilding the IPA. - Add `infra/releases` as the OpenTofu boundary for the GCS release and package repository backup buckets. Garage is the required S3-compatible primary distribution target after host bootstrap. `infra/identity` remains the boundary for Google KMS signing keys, the Authentik WIF pool/provider, and the runner service account. - Serve `releases.burrow.net` and `packages.burrow.net` from the forge Caddy edge as stable Burrow domains backed by the GCS release and package buckets.