[pull] develop from rainbow-me:develop#361
Merged
Merged
Conversation
iOS E2E currently runs on every PR push with four shards on `macos-26-xlarge`. It's slow, expensive, and blocks merges; with stacked PRs it multiplies further because every restack reruns the suite. Flaky tests force manual re-triggers. The cost shows up both in development speed (approved work waits on heavy CI) and delivery (approved stacks blocked on duplicated checks). This change moves iOS E2E off the PR-blocking path. The suite now runs on push to `develop` and as opt-in on labeled PRs: - **Post-merge on `develop`**: a notify job posts to `#frontend-alerts` on failure, mentioning the commit author and assigning them to triage - **Opt-in via `e2e` label**: replaces the `/e2e` comment trigger. Adding the label runs the suite; pushes to a labeled PR re-run via `synchronize`. Label write-access takes over the previous `author_association` check. The alert path uses a new composite action that takes the Slack token, channel ID, and run URL; everything else (workflow name, branch, commit, PR link, author) is derived from the GitHub API. Commit authors resolve to real `@mentions` via `.github/slack-handles.json`, seeded with the active contributors from the last 6 months. **What the alert will look like** (using a recent commit as an example): > π¨ **iOS E2E** failed on `develop` > > [`5c83a9f`](5c83a9f) chore: remove dead Cloudinary icon-signing fast-path ([#7443](#7443)) > > @olerass - you are assigned to triage this failure. > > π [View run](https://github.com/rainbow-me/rainbow/actions/runs/12345678) This is the iOS portion of [RFC: Optimize CI and Delivery](https://www.notion.so/rainbowdotme/RFC-Optimize-CI-and-Delivery-348b001b85b481999ab9d5a5de33960b), with the scope adjustment that iOS lands on post-merge `develop` rather than nightly. Android gets the same treatment in a follow-up PR.
Follows up #7489 which did the same for iOS, applying the [RFC: Optimize CI and Delivery](https://www.notion.so/rainbowdotme/RFC-Optimize-CI-and-Delivery-348b001b85b481999ab9d5a5de33960b) to Android. The workflow contains both `e2e-tests` and `perf-tests` jobs and they're treated differently here: - **`e2e-tests`** moves off the PR-blocking path. It runs on push to `develop` and as opt-in via the `e2e` label on PRs, matching iOS. - **`perf-tests`** is unchanged: it keeps running automatically on every non-draft PR push. This will be moved off PRs in a separate step later. The shared `build` job gates on the union of what either downstream needs: push events, automatic non-draft PR events (for perf), or `labeled` events with `e2e` (for e2e). A `notify-failure` job alerts `#frontend-alerts` on any post-merge failure across the 2 jobs (NOT perf), reusing the composite action and `slack-handles.json` introduced in #7489.
Fixes APP-3686 ## What changed (plus any additional context for devs) Sentry issue `RAINBOW-WALLET-3XAF` is noisy because `getClaimables` logged fetch failures as a fresh `RainbowError`, discarding the original cause. This preserves the underlying error as the `RainbowError` cause so the existing Sentry filters can drop expected network failures and aborts instead of grouping them under claimables.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? π Please sponsor : )