fix(e2e): fix applesimutils brew trust ordering and improve CI failure messages#9899
fix(e2e): fix applesimutils brew trust ordering and improve CI failure messages#9899yasserfaraazkhan wants to merge 5 commits into
Conversation
…e messages - brew trust wix/brew was running before brew tap wix/brew, causing "Refusing to load formula from untrusted tap" errors on fresh runners. Fixed by tapping before trusting, and removing || true suppression. - When all test machines fail before producing results, the PR check showed "? passed, ? failed" because the report-save step was blocking the failure-counting step. Fixed with continue-on-error: true. - When no S3 report exists (infra failure), clicking the check now falls back to the GitHub Actions run URL instead of going nowhere. Fixes the E2E failure on #9887.
|
Caution Review failedAn error occurred during the review process. Please try again later. 📝 WalkthroughWalkthroughThe PR migrates E2E status reporting to GitHub Checks, updates permissions, changes skipped and cancelled outcomes, and adjusts Maestro and Detox target URL handling. It also changes iOS setup behaviour and no-report parsing in the E2E workflows. ChangesGitHub Checks migration and E2E status handling
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/e2e-ios-template.yml:
- Around line 719-721: The report-save step is allowed to fail in Save report
Detox Dependencies, but generate-report still sets TARGET_URL as if the S3
upload succeeded. Update the workflow logic around Save report Detox
Dependencies and the TARGET_URL assignment so the URL is only published when the
report save actually succeeds; if npm ci or npm run e2e:save-report fails, leave
TARGET_URL empty or unset so the fallback path can run instead.
In @.github/workflows/e2e-maestro-template.yml:
- Around line 363-366: The infra-failure sentinel is being set in the Maestro
report parsing path, but the URL-setting logic still leaves TARGET_URL populated
with the S3 report link. Update the steps that set the URL (including set-url
and the related fallback path in the Maestro workflow template) to detect the
NO_REPORT/FAILURES=-1 case and avoid publishing the S3 URL, so the downstream
fallback in e2e-maestro-pr.yml can redirect to the Actions run instead.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 28e8a007-3795-4ef2-aeff-99a3b141321c
📒 Files selected for processing (4)
.github/workflows/e2e-detox.yml.github/workflows/e2e-ios-template.yml.github/workflows/e2e-maestro-pr.yml.github/workflows/e2e-maestro-template.yml
Coverage Comparison Report |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/actions/cancel-e2e-runs/action.yml:
- Around line 100-111: The cancel-e2e-runs action is creating a new check run
instead of updating the existing one, which leaves the original E2E check
unresolved. In the GitHub API call inside
`.github/actions/cancel-e2e-runs/action.yml`, replace the current checks.create
flow with checks.update against the matching non-completed run, or delegate to
the shared status action so the original run is marked skipped. Use the existing
statusContext and sha values to locate and update the correct check run.
In @.github/actions/update-commit-status/action.yml:
- Around line 55-77: The check-run update logic in the action should correlate
each run with its originating workflow run instead of picking the latest
in-progress check for the same commit/context. Update the flow around the
existing github.rest.checks.listForRef and github.rest.checks.update/create
calls to use a stable external_id, and match against the returned runs by that
identifier before updating. If needed, thread the created check_run_id through
the workflow so the final completion update targets the exact run that was
originally created.
In @.github/workflows/e2e-maestro-pr.yml:
- Around line 52-55: The status-job checkout is still using the untrusted tested
ref before running update-commit-status, so adjust the checkout in the
e2e-maestro-pr workflow to load the action from a trusted ref while keeping
commit_sha pointed at the tested SHA. Update the actions/checkout step used
before .github/actions/update-commit-status to remove the direct dependency on
inputs.MOBILE_VERSION, and set persist-credentials: false so the job does not
retain write credentials on the checked-out repository.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 8e8f2acf-051e-46e6-9359-e6698e2f95b2
📒 Files selected for processing (7)
.github/actions/cancel-e2e-runs/action.yml.github/actions/update-commit-status/action.yml.github/workflows/e2e-cancel-on-label-removal.yml.github/workflows/e2e-detox-pr.yml.github/workflows/e2e-detox.yml.github/workflows/e2e-label-manager.yml.github/workflows/e2e-maestro-pr.yml
✅ Files skipped from review due to trivial changes (1)
- .github/workflows/e2e-cancel-on-label-removal.yml
|
closing this in favor of #9925 |
Summary
brew trust wix/brew was running before brew tap wix/brew, causing "Refusing to load formula from untrusted tap" errors on fresh runners. Fixed by tapping before trusting, and removing || true suppression.
When all test machines fail before producing results, the PR check showed "? passed, ? failed" because the report-save step was blocking the failure-counting step. Fixed with continue-on-error: true.
When no S3 report exists (infra failure), clicking the check now falls back to the GitHub Actions run URL instead of going nowhere.
Fixes the E2E failure on #9887.