Skip to content

ci: extract mobile CI status gate#29619

Draft
Qbandev wants to merge 1 commit intomainfrom
mcwp-440-gate-extraction
Draft

ci: extract mobile CI status gate#29619
Qbandev wants to merge 1 commit intomainfrom
mcwp-440-gate-extraction

Conversation

@Qbandev
Copy link
Copy Markdown
Contributor

@Qbandev Qbandev commented May 1, 2026

Description

This PR extracts the final Mobile CI pass/fail decision into a composite action and keeps the visible Check all jobs pass status context intact.

Why:

  • MCWP-440 will add more centralized CI requirement decisions so later changes can safely skip unnecessary work for low-risk PRs, such as locale-only changes.
  • Before standard CI jobs can be skipped safely, the final CI gate needs one explicit contract for successes, failures, cancellations, and expected skips.
  • Keeping this logic in one action makes the later requirement outputs easier to review and reduces the risk of skipped jobs causing ambiguous CI results.

What changed:

  • Added .github/actions/ci-status-gate.
  • Moved the inline final CI gate logic out of .github/workflows/ci.yml.
  • Removed the intermediate All jobs pass job and evaluates standard CI plus E2E build/smoke jobs directly in Check all jobs pass.
  • Preserved existing behavior for merge queue skips, fork PR skips, E2E skipped jobs, pr-not-ready-for-e2e, and merge group failure logging.
  • Added a workflow summary table so the final gate explains why each job passed, failed, or was accepted as skipped.

Validation performed locally:

  • actionlint -color -config-file .github/actionlint.yaml .github/workflows/ci.yml
  • extracted the composite action bash and checked it with bash -n
  • git diff --check
  • simulated the gate for E2E skipped jobs, E2E failures, unexpected standard job skips, planned skips, merge queue skips, fork skips, readiness-label blocking, empty needs, and missing/null requirement keys

Changelog

CHANGELOG entry: null

Related issues

Refs: MCWP-440

Manual testing steps

N/A - CI-only change. See local validation commands in the description.

Screenshots/Recordings

Before

N/A

After

N/A

Pre-merge author checklist

Performance checks (if applicable)

  • I've tested on Android
    • Ideally on a mid-range device; emulator is acceptable
  • I've tested with a power user scenario
    • Use these power-user SRPs to import wallets with many accounts and tokens
  • I've instrumented key operations with Sentry traces for production performance metrics

For performance guidelines and tooling, see the Performance Guide.

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.

@Qbandev Qbandev self-assigned this May 1, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

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.

@metamaskbotv2 metamaskbotv2 Bot added the team-dev-ops DevOps team label May 1, 2026
@Qbandev Qbandev added DO-NOT-MERGE Pull requests that should not be merged no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed labels May 1, 2026
@github-actions github-actions Bot added the size-M label May 1, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

🔍 Smart E2E Test Selection

  • Selected E2E tags: None (no tests recommended)
  • Selected Performance tags: None (no tests recommended)
  • Risk Level: low
  • AI Confidence: 95%
click to see 🤖 AI reasoning details

E2E Test Selection:
The changes are purely CI infrastructure refactoring:

  1. .github/actions/ci-status-gate/action.yml - A NEW composite GitHub Action that centralizes CI status gate evaluation logic (previously inline bash in ci.yml). It evaluates job results (success/failure/skipped/cancelled) and produces a summary table.

  2. .github/workflows/ci.yml - Refactors check-all-jobs-pass job to:

    • Remove the intermediate all-jobs-pass job
    • Directly list all required jobs in needs
    • Delegate evaluation to the new ci-status-gate composite action

The behavior is functionally equivalent - same jobs are checked, same pass/fail semantics. No application code, test code, or E2E infrastructure was modified. This is a pure CI maintenance/refactoring change that does not affect any user-facing functionality, test execution, or app performance. No E2E tests need to run to validate this change.

Performance Test Selection:
No application code changes were made. This is a pure CI workflow refactoring that does not affect app performance, rendering, data loading, or any user-facing functionality.

View GitHub Actions results

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 1, 2026

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

Labels

DO-NOT-MERGE Pull requests that should not be merged no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed size-M team-dev-ops DevOps team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant