Skip to content

chore: Disable iOS external group distribution by default#30272

Merged
Cal-L merged 2 commits into
mainfrom
chore/disable-external-ios-distribution-by-default
May 15, 2026
Merged

chore: Disable iOS external group distribution by default#30272
Cal-L merged 2 commits into
mainfrom
chore/disable-external-ios-distribution-by-default

Conversation

@Cal-L
Copy link
Copy Markdown
Contributor

@Cal-L Cal-L commented May 15, 2026

Description

These changes disables iOS external group distribution by default within our workflows. We're going to try relying on internal group distribution instead since it removes the Apple review bottleneck from External builds. Uploaded builds to internal groups will be immediately available.

Changelog

CHANGELOG entry:

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/MCWP-607

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

Screenshots/Recordings

Before

After

Pre-merge author checklist

Performance checks (if applicable)

  • I've tested on Android
    • Ideally on a mid-range device; emulator is acceptable
  • I've tested with a power user scenario
    • Use these power-user SRPs to import wallets with many accounts and tokens
  • I've instrumented key operations with Sentry traces for production performance metrics

For performance guidelines and tooling, see the Performance Guide.

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Medium Risk
Changes the default distribute_external behavior for iOS TestFlight uploads across GitHub workflows and Fastlane, which could unintentionally stop external tester distribution if callers relied on the prior default.

Overview
iOS TestFlight uploads now default to internal-only distribution by setting distribute_external to false by default in upload-to-testflight.yml, scripts/upload-to-testflight.sh, and the Fastlane upload_to_testflight_only lane.

Workflow callers (e.g. nightly-build.yml, runway-*-builds.yml, auto-rc-ota-build-core.yml) remove explicit distribute_external overrides and update input descriptions to reflect the new default.

Reviewed by Cursor Bugbot for commit d2b15fb. Bugbot is set up for automated code reviews on this repo. Configure here.

@Cal-L Cal-L requested review from a team as code owners May 15, 2026 18:41
@github-actions
Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbotv2 metamaskbotv2 Bot added the team-mobile-platform Mobile Platform team label May 15, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: None (no tests recommended)
  • Selected Performance tags: None (no tests recommended)
  • Risk Level: low
  • AI Confidence: 97%
click to see 🤖 AI reasoning details

E2E Test Selection:
All 8 changed files are CI/CD infrastructure files related to iOS TestFlight build distribution:

  1. upload-to-testflight.yml: Changed distribute_external default from truefalse. This is the core behavioral change.
  2. build-and-upload-to-testflight.yml: Description text updates only (no functional change).
  3. nightly-build.yml: Removed explicit distribute_external: true (exp) and distribute_external: false (rc) — both now rely on the new default of false. This means nightly exp builds will no longer distribute to external testers.
  4. auto-rc-ota-build-core.yml, runway-production-builds.yml, runway-rc-builds.yml: Removed explicit distribute_external: false — these already matched the new default, so no behavioral change.
  5. ios/fastlane/Fastfile: Changed nil-default for distribute_external from truefalse.
  6. scripts/upload-to-testflight.sh: Changed DISTRIBUTE_EXTERNAL default from truefalse.

None of these changes touch app source code, E2E test infrastructure, test page objects, controllers, components, or any user-facing functionality. They exclusively affect the iOS TestFlight distribution pipeline configuration. No E2E tests are needed to validate these changes — they are build/release pipeline changes that would be validated by the CI pipeline itself running successfully.

Performance Test Selection:
All changes are CI/CD pipeline configuration changes affecting TestFlight distribution defaults. No app source code, rendering logic, state management, or performance-sensitive code was modified. Performance tests are not applicable.

View GitHub Actions results

@Cal-L Cal-L added the needs-dev-review PR needs reviews from other engineers (in order to receive required approvals) label May 15, 2026
@github-project-automation github-project-automation Bot moved this to Needs dev review in PR review queue May 15, 2026
@Cal-L Cal-L added No QA Needed Apply this label when your PR does not need any QA effort. no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed no changelog required No changelog entry is required for this change labels May 15, 2026
@sonarqubecloud
Copy link
Copy Markdown

@Cal-L Cal-L enabled auto-merge May 15, 2026 21:18
@Cal-L Cal-L disabled auto-merge May 15, 2026 21:18
@Cal-L Cal-L merged commit 801ab3f into main May 15, 2026
93 of 97 checks passed
@Cal-L Cal-L deleted the chore/disable-external-ios-distribution-by-default branch May 15, 2026 21:18
@github-actions github-actions Bot locked and limited conversation to collaborators May 15, 2026
@github-actions github-actions Bot removed the needs-dev-review PR needs reviews from other engineers (in order to receive required approvals) label May 15, 2026
@metamaskbotv2 metamaskbotv2 Bot added the release-7.79.0 Issue or pull request that will be included in release 7.79.0 label May 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

no changelog required No changelog entry is required for this change No QA Needed Apply this label when your PR does not need any QA effort. no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-7.79.0 Issue or pull request that will be included in release 7.79.0 size-S team-mobile-platform Mobile Platform team

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants