Skip to content

chore(runway): cherry-pick chore: validate env expo#25481

Merged
joaoloureirop merged 1 commit intorelease/7.63.0from
cherry-pick-7-63-0-7e6bee4
Feb 2, 2026
Merged

chore(runway): cherry-pick chore: validate env expo#25481
joaoloureirop merged 1 commit intorelease/7.63.0from
cherry-pick-7-63-0-7e6bee4

Conversation

@runway-github
Copy link
Copy Markdown
Contributor

@runway-github runway-github bot commented Jan 30, 2026

Description

  • Move creating .env from push-eas-update.yml to build.sh
  • Have eas push platform as an input so we can choose to push to all,
    ios or android

Changelog

CHANGELOG entry: null

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 the automation that publishes EAS OTA updates by altering required env validation and how updates are executed per platform, so misconfiguration could block releases. No product/runtime logic changes, but CI deployment behavior is affected.

Overview
Adds a platform input to the push-eas-update GitHub workflow and plumbs it through as OTA_PUSH_PLATFORM so release operators can publish OTA updates to ios, android, or all.

Moves Expo-update environment preparation into scripts/build.sh by generating and sourcing a .env from selected CI variables (and exporting to GITHUB_ENV), tightens Expo credential validation (fails fast on missing EXPO_TOKEN), and publishes iOS/Android updates sequentially with per-platform error reporting. Also removes EXPO_NO_LAVAMOAT from the workflow and hardens Sentry auth token injection by using a safer sed delimiter.

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


Co-authored-by: sethkfman seth.kaufman@consensys.net 7e6bee4

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

- Move creating .env from push-eas-update.yml to build.sh
- Have eas push platform as an input so we can choose to push to all,
ios or android

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry: null

Fixes:

```gherkin
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]
```

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

<!-- [screenshots/recordings] -->

<!-- [screenshots/recordings] -->

- [x] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I've included tests if applicable
- [x] I've documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I've applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] 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.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Changes the OTA update GitHub Actions workflow and `scripts/build.sh`
publish path, including new platform selection and altered `.env`
generation; mistakes could break release/update automation or omit
required env values.
>
> **Overview**
> Adds a `platform` input to the `push-eas-update` workflow and passes
it through as `OTA_PUSH_PLATFORM`, allowing OTA updates to target `ios`,
`android`, or `all`.
>
> Updates `scripts/build.sh`’s `expo-update` flow to generate `.env`
(and mirror vars into `GITHUB_ENV`) from a fixed allowlist, then publish
EAS updates **sequentially per platform** with explicit per-platform
failure reporting/propagation. Also removes the workflow’s
`EXPO_NO_LAVAMOAT` override and hardens Sentry auth token injection by
switching `sed` to a safer delimiter.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
faa3f6b. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: sethkfman <seth.kaufman@consensys.net>
@runway-github runway-github bot requested review from a team as code owners January 30, 2026 23:38
@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.

@metamaskbot metamaskbot added the team-bots Bot team (for MetaMask Bot, Runway Bot, etc.) label Jan 30, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

⏭️ Smart E2E selection skipped - base branch is not main (base: release/7.63.0)

All E2E tests pre-selected.

View GitHub Actions results

@sonarqubecloud
Copy link
Copy Markdown

@joaoloureirop joaoloureirop merged commit 418f4f3 into release/7.63.0 Feb 2, 2026
102 checks passed
@joaoloureirop joaoloureirop deleted the cherry-pick-7-63-0-7e6bee4 branch February 2, 2026 15:09
@github-actions github-actions bot locked and limited conversation to collaborators Feb 2, 2026
@metamaskbot metamaskbot added the release-7.63.0 Issue or pull request that will be included in release 7.63.0 label Feb 6, 2026
@metamaskbot
Copy link
Copy Markdown
Collaborator

No release label on PR. Adding release label release-7.63.0 on PR, as PR was cherry-picked in branch 7.63.0.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.63.0 Issue or pull request that will be included in release 7.63.0 size-M team-bots Bot team (for MetaMask Bot, Runway Bot, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants