You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
bun_unit_tests — conditional on @sentry/bun changes
deno_unit_tests — conditional on @sentry/deno changes
unit_tests_gate — gate job named Unit Tests Passed
Conditional execution
Bun and Deno tests use changed_bun and changed_deno flags. This workflow needs the same detection.
Transition steps
Create ci-unit-tests.yml. Unit tests run in bothbuild.yml and ci-unit-tests.yml (dual-running).
Verify stability over several days/PRs.
Ruleset change (requires admin): Add Unit Tests Passed as required status check to all 4 rulesets.
Remove unit test jobs from build.yml and from job_required_jobs_passed needs list.
At this point build.yml only contains build, lint, and check jobs. Rename workflow to CI: Build & Lint and gate job to Build & Lint Passed. Update rulesets accordingly.
Linear ticket: https://linear.app/getsentry/issue/JS-1879
Depends on: #19677 (build output caching)
Parent: #19671
Goal
Extract unit test jobs from
build.ymlinto an independentci-unit-tests.ymlworkflow. This includes:job_browser_unit_testsjob_node_unit_tests(×4 Node versions)job_bun_unit_testsjob_deno_unit_testsThis is the last extraction since unit tests are the least flaky and fastest to complete, so re-run wait times are least painful.
New workflow:
ci-unit-tests.ymlJobs
restore_build— uses.github/actions/restore-build(from CI: Build output caching + cross-workflow restore-cache action #19677)browser_unit_tests— Vitest browser testsnode_unit_tests— matrix: Node 18/20/22/24bun_unit_tests— conditional on@sentry/bunchangesdeno_unit_tests— conditional on@sentry/denochangesunit_tests_gate— gate job namedUnit Tests PassedConditional execution
Bun and Deno tests use
changed_bunandchanged_denoflags. This workflow needs the same detection.Transition steps
ci-unit-tests.yml. Unit tests run in bothbuild.ymlandci-unit-tests.yml(dual-running).Unit Tests Passedas required status check to all 4 rulesets.build.ymland fromjob_required_jobs_passedneeds list.build.ymlonly contains build, lint, and check jobs. Rename workflow toCI: Build & Lintand gate job toBuild & Lint Passed. Update rulesets accordingly.Concurrency