Use long-lived runners for TestFlight waits
This commit is contained in:
parent
99499b78f9
commit
feb64febc4
5 changed files with 23 additions and 11 deletions
|
|
@ -407,7 +407,7 @@ jobs:
|
||||||
- prepare
|
- prepare
|
||||||
- sign-apple
|
- sign-apple
|
||||||
if: ${{ github.event.inputs.upload_app_store == 'true' }}
|
if: ${{ github.event.inputs.upload_app_store == 'true' }}
|
||||||
runs-on: namespace-profile-macos-large-apple-v2
|
runs-on: namespace-profile-macos-large-testflight
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: https://code.forgejo.org/actions/checkout@v4
|
uses: https://code.forgejo.org/actions/checkout@v4
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ env:
|
||||||
jobs:
|
jobs:
|
||||||
distribute-ios-testflight:
|
distribute-ios-testflight:
|
||||||
name: Distribute (TestFlight iOS Testers)
|
name: Distribute (TestFlight iOS Testers)
|
||||||
runs-on: namespace-profile-linux-medium
|
runs-on: namespace-profile-linux-testflight
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: https://code.forgejo.org/actions/checkout@v4
|
uses: https://code.forgejo.org/actions/checkout@v4
|
||||||
|
|
|
||||||
|
|
@ -223,7 +223,7 @@ jobs:
|
||||||
name: Release (TestFlight iOS Testers)
|
name: Release (TestFlight iOS Testers)
|
||||||
needs: upload-app-store
|
needs: upload-app-store
|
||||||
if: ${{ inputs.upload_app_store == 'true' }}
|
if: ${{ inputs.upload_app_store == 'true' }}
|
||||||
runs-on: namespace-profile-linux-medium
|
runs-on: namespace-profile-linux-testflight
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: https://code.forgejo.org/actions/checkout@v4
|
uses: https://code.forgejo.org/actions/checkout@v4
|
||||||
|
|
@ -261,7 +261,7 @@ jobs:
|
||||||
distribute-ios-testflight:
|
distribute-ios-testflight:
|
||||||
name: Distribute (TestFlight iOS Testers)
|
name: Distribute (TestFlight iOS Testers)
|
||||||
if: ${{ inputs.upload_app_store != 'true' && inputs.distribute_testflight == 'true' }}
|
if: ${{ inputs.upload_app_store != 'true' && inputs.distribute_testflight == 'true' }}
|
||||||
runs-on: namespace-profile-linux-medium
|
runs-on: namespace-profile-linux-testflight
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: https://code.forgejo.org/actions/checkout@v4
|
uses: https://code.forgejo.org/actions/checkout@v4
|
||||||
|
|
|
||||||
|
|
@ -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
|
`apple-distribute-testers` and `publish-store-uploads` wait up to 7200
|
||||||
seconds by default and allow Forgejo variable
|
seconds by default and allow Forgejo variable
|
||||||
`TESTFLIGHT_WAIT_PROCESSING_TIMEOUT_SECONDS` to tune that ceiling without a
|
`TESTFLIGHT_WAIT_PROCESSING_TIMEOUT_SECONDS` to tune that ceiling without a
|
||||||
repo change. `publish-store-uploads` has a separate no-`needs`
|
repo change. TestFlight wait jobs must use `namespace-profile-linux-testflight`
|
||||||
`distribute-ios-testflight` retry job for `distribute_testflight=true` and
|
or `namespace-profile-macos-large-testflight`; the generic Linux and Apple
|
||||||
`upload_app_store=false`, so skipped upload/signing jobs cannot suppress
|
macOS profiles expire before the 7200-second processing window. The
|
||||||
distribution of an already-uploaded build. `distribute-testflight` is the
|
autoscaler-to-dispatcher timeout must stay above those runner TTLs because
|
||||||
narrower one-job retry workflow when only App Store Connect processing and
|
dispatch requests block until the one-job runner exits. `publish-store-uploads`
|
||||||
tester assignment need to be retried.
|
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.
|
- 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
|
- 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.
|
edge as stable Burrow domains backed by the GCS release and package buckets.
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ listen: "127.0.0.1:8090"
|
||||||
|
|
||||||
dispatcher:
|
dispatcher:
|
||||||
url: "http://127.0.0.1:8080"
|
url: "http://127.0.0.1:8080"
|
||||||
timeout: "2h"
|
timeout: "3h"
|
||||||
|
|
||||||
instances:
|
instances:
|
||||||
- name: burrow
|
- name: burrow
|
||||||
|
|
@ -30,6 +30,10 @@ instances:
|
||||||
min_idle: 0
|
min_idle: 0
|
||||||
ttl: "30m"
|
ttl: "30m"
|
||||||
machine_type: "8x16"
|
machine_type: "8x16"
|
||||||
|
- labels: ["namespace-profile-linux-testflight"]
|
||||||
|
min_idle: 0
|
||||||
|
ttl: "150m"
|
||||||
|
machine_type: "8x16"
|
||||||
- labels: ["namespace-profile-macos-large"]
|
- labels: ["namespace-profile-macos-large"]
|
||||||
min_idle: 0
|
min_idle: 0
|
||||||
ttl: "60m"
|
ttl: "60m"
|
||||||
|
|
@ -38,6 +42,10 @@ instances:
|
||||||
min_idle: 0
|
min_idle: 0
|
||||||
ttl: "90m"
|
ttl: "90m"
|
||||||
machine_type: "12x28"
|
machine_type: "12x28"
|
||||||
|
- labels: ["namespace-profile-macos-large-testflight"]
|
||||||
|
min_idle: 0
|
||||||
|
ttl: "150m"
|
||||||
|
machine_type: "12x28"
|
||||||
- labels: ["namespace-profile-windows-large"]
|
- labels: ["namespace-profile-windows-large"]
|
||||||
min_idle: 0
|
min_idle: 0
|
||||||
ttl: "45m"
|
ttl: "45m"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue