Skip to content

chore(runway): cherry-pick chore(ci): derive RC slack notification changelog from git ancestry#28683

Merged
joaoloureirop merged 1 commit intorelease/7.73.0from
runway-cherry-pick-7.73.0-1775840396
Apr 10, 2026
Merged

chore(runway): cherry-pick chore(ci): derive RC slack notification changelog from git ancestry#28683
joaoloureirop merged 1 commit intorelease/7.73.0from
runway-cherry-pick-7.73.0-1775840396

Conversation

@runway-github
Copy link
Copy Markdown
Contributor

@runway-github runway-github bot commented Apr 10, 2026

Description

RC Slack notifications previously parsed CHANGELOG.md with
@metamask/auto-changelog. It wasn't working because the release
changelog is on a different branch and do not follow the format we want
for the slack notification. This change builds the “What’s in this RC”
section from git instead:

  • A = git merge-base HEAD <base> (default origin/main,
    overridable via CHANGELOG_MERGE_BASE_REF)
  • B = HEAD
  • List commits with git log --ancestry-path A..B so only commits
    on the path between the fork point and the RC tip are included.

The reusable Slack workflow checkout is updated from fetch-depth: 1 to fetch-depth: 0 so merge-base has enough history on
the runner.

Changelog

CHANGELOG entry: null

Related issues

Fixes:
https://consensyssoftware.atlassian.net/browse/INFRA-3482
https://consensyssoftware.atlassian.net/browse/MCWP-442

Manual testing steps

Feature: RC Slack notification changelog

  Scenario: Verify git-based commit list on a release branch
    Given a clone with full history and a remote tracking branch (e.g. origin/main)
    When CHANGELOG_MERGE_BASE_REF is unset or set to origin/main and the script runs with SLACK_BOT_TOKEN and TEST_CHANNEL
    Then the Slack message lists commits from git log --ancestry-path $(git merge-base HEAD origin/main)..HEAD and respects the entry cap

  Scenario: GitHub Actions reusable workflow
    Given the slack-rc-notification workflow runs after an RC build
    When the checkout uses fetch-depth 0
    Then merge-base and ancestry-path succeed and the notification posts without shallow-clone errors

Screenshots/Recordings

Before

image

After

Message preview
link

--- 96ee8a5

…angelog from git ancestry (#28676)

## **Description**

RC Slack notifications previously parsed **CHANGELOG.md** with
`@metamask/auto-changelog`. It wasn't working because the release
changelog is on a different branch and do not follow the format we want
for the slack notification. This change builds the “What’s in this RC”
section from **git** instead:

- **`A`** = `git merge-base HEAD <base>` (default **`origin/main`**,
overridable via **`CHANGELOG_MERGE_BASE_REF`**)
- **`B`** = **`HEAD`**
- List commits with **`git log --ancestry-path A..B`** so only commits
on the path between the fork point and the RC tip are included.

The reusable Slack workflow checkout is updated from **`fetch-depth:
1`** to **`fetch-depth: 0`** so **`merge-base`** has enough history on
the runner.

## **Changelog**

CHANGELOG entry: null

## **Related issues**

Fixes: 
https://consensyssoftware.atlassian.net/browse/INFRA-3482
https://consensyssoftware.atlassian.net/browse/MCWP-442

## **Manual testing steps**

```gherkin
Feature: RC Slack notification changelog

  Scenario: Verify git-based commit list on a release branch
    Given a clone with full history and a remote tracking branch (e.g. origin/main)
    When CHANGELOG_MERGE_BASE_REF is unset or set to origin/main and the script runs with SLACK_BOT_TOKEN and TEST_CHANNEL
    Then the Slack message lists commits from git log --ancestry-path $(git merge-base HEAD origin/main)..HEAD and respects the entry cap

  Scenario: GitHub Actions reusable workflow
    Given the slack-rc-notification workflow runs after an RC build
    When the checkout uses fetch-depth 0
    Then merge-base and ancestry-path succeed and the notification posts without shallow-clone errors
```

## **Screenshots/Recordings**

### **Before**

<img width="571" height="221" alt="image"
src="https://github.com/user-attachments/assets/abf62ebf-3fa9-4ecd-a35f-3ec98aa1586d"
/>


### **After**

Message preview
[link](https://app.slack.com/block-kit-builder/T02P98BKE#{%22blocks%22:[{%22type%22:%22header%22,%22text%22:{%22type%22:%22plain_text%22,%22text%22:%22%F0%9F%9A%80%20Mobile%20RC%20Build%20v7.73.0%20(iOS%204400%20/%20Android%204400)%22,%22emoji%22:true}},{%22type%22:%22section%22,%22fields%22:[{%22type%22:%22mrkdwn%22,%22text%22:%22*Version:*\n7.73.0%22},{%22type%22:%22mrkdwn%22,%22text%22:%22*Build%20Number:*\niOS%204400%20/%20Android%204400%22}]},{%22type%22:%22section%22,%22text%22:{%22type%22:%22mrkdwn%22,%22text%22:%22*%F0%9F%93%A6%20Download%20Links:*%22}},{%22type%22:%22section%22,%22fields%22:[{%22type%22:%22mrkdwn%22,%22text%22:%22*Android%20APK:*\n_Not%20available_%22},{%22type%22:%22mrkdwn%22,%22text%22:%22*iOS%20Build:*\n_Check%20TestFlight_%22}]},{%22type%22:%22divider%22},{%22type%22:%22section%22,%22text%22:{%22type%22:%22mrkdwn%22,%22text%22:%22*%F0%9F%93%8B%20What's%20in%20this%20RC:*\n%E2%80%A2%20%605e54464545%60%20chore(runway):%20cherry-pick%20feat(predict):%20track%20mmpay%20submitted%20event%20with%20payment%20token%20address%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28598|#28598%3E)\n%E2%80%A2%20%601dc0621c4b%60%20chore(runway):%20cherry-pick%20fix(bridge):%20harden%20token%20hooks%20against%20malformed%20API%20responses%20cp-7.73.0%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28537|#28537%3E)\n%E2%80%A2%20%60d6c3b9a527%60%20chore(runway):%20cherry-pick%20fix(perps):%20extract%20payment%20token%20init%20into%20useInitPerpsPaymentToken%20hook%20and%20move%20it%20to%20the%20parent%20cp-7.73.0%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28579|#28579%3E)\n%E2%80%A2%20%603993d6c45b%60%20chore(runway):%20cherry-pick%20fix:%20update%20account%20status%20screen%20with%20new%20ui%20design%20system%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28541|#28541%3E)\n%E2%80%A2%20%60849de28bc5%60%20fix:%20unit%20test%20to%20align%20ramps%20selector%20test%20mock%20%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28585|#28585%3E)\n%E2%80%A2%20%60a9bb8ee57e%60%20Auto%20rc%20trigger%20commit%20--%20This%20is%20an%20empty%20commit\n%E2%80%A2%20%60aef5f19d78%60%20ci:%20cherry%20pick%2028202%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28559|#28559%3E)\n%E2%80%A2%20%60dac8f5a525%60%20chore:cherry%20pick%2028490%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28556|#28556%3E)\n%E2%80%A2%20%60e7967a1867%60%20chore:%20cherry%20pick%2028423%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28540|#28540%3E)\n%E2%80%A2%20%60f69bf23caf%60%20chore(runway):%20cherry-pick%206334093%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28523|#28523%3E)\n%E2%80%A2%20%60f1772829aa%60%20cherry%20pick%2028368%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28535|#28535%3E)\n%E2%80%A2%20%60422d3986cb%60%20chore:%20use%20push%20EAS%20directly%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28362|#28362%3E)%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28550|#28550%3E)\n%E2%80%A2%20%60435fa92b80%60%20chore(runway):%20cherry-pick%20fix:%20backfill-consent-event%20cp-7.73.0%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28530|#28530%3E)\n%E2%80%A2%20%60317287eed0%60%20chore(runway):%20cherry-pick%20fix(predict):%20reset%20active%20order%20state%20on%20payment%20token%20clear%20and%20suppress%20stale%20balance%20alert%20cp-7.73.0%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28529|#28529%3E)\n%E2%80%A2%20%6083e68c0f30%60%20chore(runway):%20cherry-pick%20refactor(onboarding):%20migrate%20OAuthRehydration%20to%20design%20system%20cp-7.73.0%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28528|#28528%3E)\n%E2%80%A2%20%60a49e807209%60%20chore(release):%20merge%20stable%20into%20release/7.73.0%20%20(%3Chttps://github.com/MetaMask/metamask-mobile/pull/28510|#28510%3E)\n%E2%80%A2%20%60eb8a937d63%60%20chore:%20merge%20stable%20into%20release/7.73.0%20(stable%20sync)%22}}]})

---
@runway-github runway-github bot requested a review from a team as a code owner April 10, 2026 17:00
@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 Apr 10, 2026
@github-actions github-actions bot added size-M risk-low Low testing needed · Low bug introduction risk labels Apr 10, 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: 98%
click to see 🤖 AI reasoning details

E2E Test Selection:
The two changed files are purely CI/notification infrastructure:

  1. .github/workflows/slack-rc-notification.yml: A single-line change from fetch-depth: 1 to fetch-depth: 0 to enable full git history fetching. This is required by the new git-based commit listing logic in the script.

  2. scripts/slack-rc-notification.mjs: A significant refactor of the Slack RC notification script that replaces CHANGELOG.md parsing with git history-based commit listing (git merge-base + git log --ancestry-path). Also adds dry-run mode and removes TEST_CHANNEL override.

Neither file touches any app source code, React Native components, controllers, navigation, state management, or any code path exercised by E2E or performance tests. These changes only affect the post-RC-build Slack notification mechanism. No E2E tests or performance tests are warranted.

Performance Test Selection:
The changes are limited to a CI notification workflow and its associated script. No app code, rendering, state management, or performance-sensitive paths are affected. Performance tests are not needed.

View GitHub Actions results

@sonarqubecloud
Copy link
Copy Markdown

@joaoloureirop joaoloureirop enabled auto-merge (squash) April 10, 2026 17:32
@joaoloureirop joaoloureirop disabled auto-merge April 10, 2026 18:17
@joaoloureirop joaoloureirop merged commit 97836e9 into release/7.73.0 Apr 10, 2026
57 of 59 checks passed
@joaoloureirop joaoloureirop deleted the runway-cherry-pick-7.73.0-1775840396 branch April 10, 2026 18:17
@github-actions github-actions bot locked and limited conversation to collaborators Apr 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

risk-low Low testing needed · Low bug introduction risk 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.

2 participants