Skip to content

Commit cf1f514

Browse files
XxdpavelxXclaude
andcommitted
ci(infra-3596): provider-aware runs-on for signed iOS / TestFlight upload
Adds runner_provider plumbing to upload-to-testflight.yml and build-and-upload-to-testflight.yml so signed iOS builds + TestFlight upload can be dispatched on Namespace runners on the trial path. upload-to-testflight.yml: - Add runner_provider input to workflow_call - testflight-upload-summary (ubuntu-latest) -> namespace-profile-metamask-ci-linux - upload-ios-testflight (cirruslabs macos-runner:tahoe-xl) -> namespace-profile-metamask-ios-build build-and-upload-to-testflight.yml: - Add runner_provider input to workflow_call and workflow_dispatch - Forward runner_provider to build.yml (already accepts the input) - Forward runner_provider to upload-to-testflight.yml - cleanup-build-branch (ubuntu-latest) -> namespace-profile-metamask-ci-linux - create-build-branch.yml call left unchanged: tiny ephemeral branch-creation job, not in the Phase 4 ticket inventory Per the ticket's parallel work item, keychain cleanup must be validated when this is dispatched on Namespace to ensure signing certificates don't leak between jobs on the persistent macOS runner storage. The existing configure-signing composite action handles cleanup; the trial dispatch will exercise it on the new infrastructure. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 3ada7d1 commit cf1f514

2 files changed

Lines changed: 23 additions & 3 deletions

File tree

.github/workflows/build-and-upload-to-testflight.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ on:
1919
required: false
2020
type: string
2121
default: 'MetaMask BETA & Release Candidates'
22+
runner_provider:
23+
description: Runner provider forwarded from the caller
24+
required: false
25+
type: string
26+
default: current
2227
workflow_dispatch:
2328
inputs:
2429
source_branch:
@@ -44,6 +49,14 @@ on:
4449
- 'MetaMask BETA & Release Candidates'
4550
- 'MM Card Team'
4651
- 'Ramp Provider Testing'
52+
runner_provider:
53+
description: Runner provider for this manual trial run
54+
required: false
55+
type: choice
56+
options:
57+
- current
58+
- namespace
59+
default: current
4760

4861
permissions:
4962
contents: write
@@ -65,6 +78,7 @@ jobs:
6578
platform: ios
6679
skip_version_bump: false
6780
source_branch: ${{ needs.prepare-build-branch.outputs.build_branch }}
81+
runner_provider: ${{ inputs.runner_provider }}
6882
secrets: inherit
6983

7084
upload-ios-testflight:
@@ -79,13 +93,14 @@ jobs:
7993
build_commit_sha: ${{ needs.build.outputs.built_commit_sha }}
8094
build_version: ${{ needs.build.outputs.semantic_version }}
8195
build_number: ${{ needs.build.outputs.ios_version_code }}
96+
runner_provider: ${{ inputs.runner_provider }}
8297
secrets: inherit
8398

8499
cleanup-build-branch:
85100
name: Cleanup build branch
86101
needs: [prepare-build-branch, upload-ios-testflight]
87102
if: always()
88-
runs-on: ubuntu-latest
103+
runs-on: ${{ inputs.runner_provider == 'namespace' && 'namespace-profile-metamask-ci-linux' || 'ubuntu-latest' }}
89104
steps:
90105
- uses: actions/checkout@v4
91106
with:

.github/workflows/upload-to-testflight.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ on:
3939
description: 'The build number of the app (eg. 4134)'
4040
required: true
4141
type: string
42+
runner_provider:
43+
description: Runner provider forwarded from the caller
44+
required: false
45+
type: string
46+
default: current
4247

4348
permissions:
4449
contents: read
@@ -47,7 +52,7 @@ permissions:
4752
jobs:
4853
testflight-upload-summary:
4954
name: TestFlight upload summary
50-
runs-on: ubuntu-latest
55+
runs-on: ${{ inputs.runner_provider == 'namespace' && 'namespace-profile-metamask-ci-linux' || 'ubuntu-latest' }}
5156
steps:
5257
- name: Display TestFlight upload summary
5358
run: |
@@ -69,7 +74,7 @@ jobs:
6974
upload-ios-testflight:
7075
name: Upload iOS to TestFlight
7176
needs: [testflight-upload-summary]
72-
runs-on: ghcr.io/cirruslabs/macos-runner:tahoe-xl
77+
runs-on: ${{ inputs.runner_provider == 'namespace' && 'namespace-profile-metamask-ios-build' || 'ghcr.io/cirruslabs/macos-runner:tahoe-xl' }}
7378
steps:
7479
- name: Checkout repository
7580
uses: actions/checkout@v4

0 commit comments

Comments
 (0)