Skip to content

Commit 96ee8a5

Browse files
chore(ci): derive RC slack notification changelog 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}}]}) ---
1 parent 9bd66ad commit 96ee8a5

File tree

2 files changed

+180
-123
lines changed

2 files changed

+180
-123
lines changed

.github/workflows/slack-rc-notification.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
- uses: actions/checkout@v4
4141
with:
4242
ref: ${{ inputs.source_branch }}
43-
fetch-depth: 1
43+
fetch-depth: 0
4444
- uses: actions/setup-node@v4
4545
with:
4646
node-version-file: '.nvmrc'

0 commit comments

Comments
 (0)