-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
Labels
Description
Linear ticket: https://linear.app/getsentry/issue/JS-1876
Depends on: #19677 (build output caching)
Parent: #19671
Goal
Extract E2E test jobs (job_e2e_prepare, job_e2e_tests, job_optional_e2e_tests) from build.yml into an independent ci-e2e.yml workflow. This is the first extraction because E2E tests are the most flaky and have the longest running time, making re-run wait times most painful.
New workflow: ci-e2e.yml
name: 'CI: E2E Tests'
on:
push:
branches: [develop, master, v9, v8, release/**]
pull_request:
merge_group:
types: [checks_requested]
workflow_dispatch:Jobs
restore_build— uses.github/actions/restore-build(from CI: Build output caching + cross-workflow restore-cache action #19677) to get build output viaactions/cache/restorewith Nx-cached fallbacke2e_prepare— builds tarballs, generates test matrix (same as currentjob_e2e_prepare)e2e_tests— runs framework test apps against Verdaccio (same as currentjob_e2e_tests)optional_e2e_tests— canary/optional tests requiring secrets (same as currentjob_optional_e2e_tests)e2e_gate— gate job namedE2E Tests Passed, checks all above jobs
Needs from metadata
The E2E jobs need is_base_branch, changed_any_code, and force_skip_cache from metadata. Either:
- Inline the metadata detection in this workflow, or
- Call
reusable-metadata.ymlviaworkflow_call(from Extract reusable metadata workflow #19672)
Transition steps
- Create
ci-e2e.ymlwith all jobs above. E2E tests now run in bothbuild.ymlandci-e2e.yml(dual-running). - Verify
ci-e2e.ymlis stable over several days/PRs. - Ruleset change (requires admin): Add
E2E Tests Passedas required status check to all 4 rulesets (develop, master, v[89], v7). - Remove
job_e2e_prepare,job_e2e_tests,job_optional_e2e_testsfrombuild.yml. Remove them fromjob_required_jobs_passedneeds list.
Concurrency
Needs its own concurrency group to avoid cancelling other workflows:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: trueReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Fields
Give feedbackNo fields configured for issues without a type.