Skip to content

feat: create production runway workflows#27887

Merged
weitingsun merged 5 commits into
mainfrom
wsun/create-runway-production-workflow
Mar 31, 2026
Merged

feat: create production runway workflows#27887
weitingsun merged 5 commits into
mainfrom
wsun/create-runway-production-workflow

Conversation

@weitingsun

@weitingsun weitingsun commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

Description

  • Create a centralized workflow Runway OTA Build Core that decide either to run an OTA update or start a new build based on if there is an OTA version change
  • All 4 workflows use Runway OTA Build: runway-android-production-workflow.yml, runway-android-rc-workflow.yml, runway-ios-rc-workflow.yml and runway-ios-production-workflow.yml
  • Create a workflow to tag branch if it's an OTA update: runway-create-ota-production-tag.yml

Note: all ios workflows (rc and production) will not skip version bump but Android will. That's because we only want to bump version once.

runway-android-rc-workflow (build): https://github.com/MetaMask/metamask-mobile/actions/runs/23557585480
runway-ios-rc-workflow (build): https://github.com/MetaMask/metamask-mobile/actions/runs/23557559865
runway-android-rc-workflow (OTA): https://github.com/MetaMask/metamask-mobile/actions/runs/23561069878
runway-ios-rc-workflow (OTA): https://github.com/MetaMask/metamask-mobile/actions/runs/23561062779

Changelog

CHANGELOG entry: Added runway production workflows

Related issues

Fixes:

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

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 GitHub Actions release automation for OTA updates, builds, and tagging; mistakes could misroute production OTAs, skip version bumps, or create incorrect tags/artifacts.

Overview
Adds dedicated Runway workflow_dispatch entrypoints for iOS/Android RC and production that call a reusable runway-ota-build-core.yml, wiring platform/channel/build-name differences and enabling TestFlight upload for iOS.

Refactors runway-ota-build-core.yml to be workflow_call-driven with new inputs (e.g., platform, ota_channel, build_name, skip_version_bump, upload_testflight) and updates OTA dispatch to use actions/github-script@v7 plus parameterized channel/platform and artifact naming.

Introduces reusable runway-create-ota-production-tag.yml to create an annotated v* tag after a successful production OTA (idempotent, refuses to move existing tags), and removes the legacy runway_android_rc_workflow.yml in favor of the new structure.

Written by Cursor Bugbot for commit a54a664. This will update automatically on new commits. Configure here.

@weitingsun weitingsun requested a review from a team as a code owner March 24, 2026 20:15
@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.

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 3 potential issues.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Comment thread .github/workflows/runway_android_production_workflow.yml Outdated
Comment thread .github/workflows/runway_ios_rc_workflow.yml
Comment thread .github/workflows/runway-ota-build-core.yml
@github-actions github-actions Bot added the risk-low Low testing needed · Low bug introduction risk label Mar 24, 2026
@github-actions github-actions Bot added size-M risk-low Low testing needed · Low bug introduction risk and removed size-L risk-low Low testing needed · Low bug introduction risk labels Mar 24, 2026
@github-actions github-actions Bot added risk-low Low testing needed · Low bug introduction risk and removed risk-low Low testing needed · Low bug introduction risk labels Mar 24, 2026
@sonarqubecloud

Copy link
Copy Markdown

@github-actions github-actions Bot added risk-low Low testing needed · Low bug introduction risk and removed risk-low Low testing needed · Low bug introduction risk labels Mar 25, 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 7 changed files are GitHub Actions CI/CD workflow files exclusively. The changes are a pure infrastructure refactoring:

  1. runway_android_rc_workflow.yml (deleted) - Old standalone Android RC workflow removed
  2. runway_ios_rc_workflow.ymlrunway-ota-build-core.yml (renamed + refactored) - The iOS RC workflow logic was generalized into a reusable workflow_call core supporting both platforms and both RC/production channels
  3. runway-android-rc-workflow.yml (new) - Thin wrapper calling the new core
  4. runway-android-production-workflow.yml (new) - Thin wrapper for Android production
  5. runway-ios-rc-workflow.yml (new) - Thin wrapper for iOS RC
  6. runway-ios-production-workflow.yml (new) - Thin wrapper for iOS production
  7. runway-create-ota-production-tag.yml (new) - Reusable workflow for creating OTA production release tags

None of these changes touch:

  • Application source code (no app/ directory changes)
  • Test infrastructure (no tests/ directory changes)
  • Build configuration (no package.json, metro.config.js, babel.config.js, .detoxrc.js changes)
  • Any controllers, Engine, or runtime components

These are purely CI/CD pipeline changes for the Runway release automation system. They do not affect the app's behavior, UI, or any user-facing functionality. No E2E tests need to run to validate these changes — they are validated by the CI pipeline itself when the workflows are triggered.

Performance Test Selection:
No application code changes were made. All changes are GitHub Actions workflow files for CI/CD release automation. There is no impact on app performance, rendering, data loading, or any runtime behavior.

View GitHub Actions results

@weitingsun weitingsun self-assigned this Mar 25, 2026
@weitingsun weitingsun added the team-mobile-platform Mobile Platform team label Mar 25, 2026
@github-project-automation github-project-automation Bot moved this to Needs dev review in PR review queue Mar 25, 2026

@Cal-L Cal-L left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm

@github-project-automation github-project-automation Bot moved this from Needs dev review to Review finalised - Ready to be merged in PR review queue Mar 30, 2026
@weitingsun weitingsun added this pull request to the merge queue Mar 30, 2026
Merged via the queue into main with commit c702a36 Mar 31, 2026
81 of 83 checks passed
@weitingsun weitingsun deleted the wsun/create-runway-production-workflow branch March 31, 2026 00:03
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 31, 2026
@weitingsun weitingsun added release-7.73.0 Issue or pull request that will be included in release 7.73.0 and removed release-100.10.0 labels Mar 31, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.73.0 Issue or pull request that will be included in release 7.73.0 risk-low Low testing needed · Low bug introduction risk size-M team-mobile-platform Mobile Platform team

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants