diff --git a/.forgejo/workflows/apple-distribute-testers.yml b/.forgejo/workflows/apple-distribute-testers.yml index b9de081..7997e17 100644 --- a/.forgejo/workflows/apple-distribute-testers.yml +++ b/.forgejo/workflows/apple-distribute-testers.yml @@ -407,7 +407,7 @@ jobs: - prepare - sign-apple if: ${{ github.event.inputs.upload_app_store == 'true' }} - runs-on: namespace-profile-macos-large-apple-v2 + runs-on: namespace-profile-macos-large-testflight steps: - name: Checkout uses: https://code.forgejo.org/actions/checkout@v4 diff --git a/.forgejo/workflows/distribute-testflight.yml b/.forgejo/workflows/distribute-testflight.yml index b06bfc0..54af649 100644 --- a/.forgejo/workflows/distribute-testflight.yml +++ b/.forgejo/workflows/distribute-testflight.yml @@ -36,7 +36,7 @@ env: jobs: distribute-ios-testflight: name: Distribute (TestFlight iOS Testers) - runs-on: namespace-profile-linux-medium + runs-on: namespace-profile-linux-testflight steps: - name: Checkout uses: https://code.forgejo.org/actions/checkout@v4 diff --git a/.forgejo/workflows/publish-store-uploads.yml b/.forgejo/workflows/publish-store-uploads.yml index 7029a19..e1994a4 100644 --- a/.forgejo/workflows/publish-store-uploads.yml +++ b/.forgejo/workflows/publish-store-uploads.yml @@ -223,7 +223,7 @@ jobs: name: Release (TestFlight iOS Testers) needs: upload-app-store if: ${{ inputs.upload_app_store == 'true' }} - runs-on: namespace-profile-linux-medium + runs-on: namespace-profile-linux-testflight steps: - name: Checkout uses: https://code.forgejo.org/actions/checkout@v4 @@ -261,7 +261,7 @@ jobs: distribute-ios-testflight: name: Distribute (TestFlight iOS Testers) if: ${{ inputs.upload_app_store != 'true' && inputs.distribute_testflight == 'true' }} - runs-on: namespace-profile-linux-medium + runs-on: namespace-profile-linux-testflight steps: - name: Checkout uses: https://code.forgejo.org/actions/checkout@v4 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 02a3aff..cb32d8c 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,12 +195,16 @@ 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. `publish-store-uploads` has a separate no-`needs` - `distribute-ios-testflight` retry job for `distribute_testflight=true` and - `upload_app_store=false`, so skipped upload/signing jobs cannot suppress - distribution of an already-uploaded build. `distribute-testflight` is the - narrower one-job retry workflow when only App Store Connect processing and - tester assignment need to be retried. + repo change. TestFlight wait jobs must use `namespace-profile-linux-testflight` + or `namespace-profile-macos-large-testflight`; the generic Linux and Apple + macOS profiles expire before the 7200-second processing window. The + autoscaler-to-dispatcher timeout must stay above those runner TTLs because + dispatch requests block until the one-job runner exits. `publish-store-uploads` + has a separate no-`needs` `distribute-ios-testflight` retry job for + `distribute_testflight=true` and `upload_app_store=false`, so skipped + upload/signing jobs cannot suppress distribution of an already-uploaded build. + `distribute-testflight` is the narrower one-job retry workflow when only App + Store Connect processing and tester assignment need to be retried. - 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. diff --git a/services/forgejo-nsc/deploy/autoscaler.yaml b/services/forgejo-nsc/deploy/autoscaler.yaml index 4524676..42ae6c7 100644 --- a/services/forgejo-nsc/deploy/autoscaler.yaml +++ b/services/forgejo-nsc/deploy/autoscaler.yaml @@ -2,7 +2,7 @@ listen: "127.0.0.1:8090" dispatcher: url: "http://127.0.0.1:8080" - timeout: "2h" + timeout: "3h" instances: - name: burrow @@ -30,6 +30,10 @@ instances: min_idle: 0 ttl: "30m" machine_type: "8x16" + - labels: ["namespace-profile-linux-testflight"] + min_idle: 0 + ttl: "150m" + machine_type: "8x16" - labels: ["namespace-profile-macos-large"] min_idle: 0 ttl: "60m" @@ -38,6 +42,10 @@ instances: min_idle: 0 ttl: "90m" machine_type: "12x28" + - labels: ["namespace-profile-macos-large-testflight"] + min_idle: 0 + ttl: "150m" + machine_type: "12x28" - labels: ["namespace-profile-windows-large"] min_idle: 0 ttl: "45m"