Skip to content

Fixes #33595: run the jest coverage job on core-components changes - #33596

Merged
harsh-vador merged 1 commit into
mainfrom
ci/coverage-watch-core-components
Sep 18, 2026
Merged

harsh-vador merged 1 commit into
mainfrom
ci/coverage-watch-core-components

Conversation

@harsh-vador

@harsh-vador harsh-vador commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Fixes #33595

What

Adds the openmetadata-ui-core-components paths to the dorny/paths-filter that gates ui-coverage-tests in .github/workflows/yarn-coverage.yml.

Why

The app compiles against @openmetadata/ui-core-components via a yarn link: dependency, so a change confined to that package changes what the app's unit tests execute — while matching none of the openmetadata-ui/** paths the filter watches. The job is skipped, and ui-coverage / ui-sonar-gate both pass-on-skip by design, so the PR goes green having never run the suite.

That is how #33591 happened: #33163 touched only core-components, passed every check, and broke three unit tests on main, blocking every entry in the merge queue.

ui-checkstyle.yml already watches openmetadata-ui-core-components/src/main/resources/ui/**; this brings the coverage workflow in line.

How

Four paths added to the ui filter — src/**, package.json, yarn.lock, vite.config.ts — matching the set ui-checkstyle uses for the same package.

No change to the job itself: it runs yarn install in the app directory, whose preinstall installs and builds core-components, so the suite already runs against the PR's version of the library.

Trade-off

Core-components PRs now pay the full Jest + Sonar run. That is the intent — it is the only check that exercises the library against its consumer.

Testing

YAML parses; the diff is filter paths only, so the first core-components PR after this merges is the real verification. Companion to #33592, which fixes the tests that are currently blocking the queue.

🤖 Generated with Claude Code

RetriggerConfidence Score: 5/5

The PR appears safe to merge; the added filters cover the core-components inputs that directly determine the linked package build exercised by the UI test suite.

Summary

This PR broadens the UI coverage workflow’s path filter so changes to the linked core-components package trigger the existing Jest coverage and Sonar jobs.

  • Adds the core-components source tree as a trigger.
  • Includes its package manifest, lockfile, and Vite configuration.
  • Leaves the coverage job and its execution behavior unchanged.

Reviews (1) · Last reviewed commit: "ci: run the jest coverage job on core-co..."

@github-actions

Copy link
Copy Markdown
Contributor

❌ PR checklist incomplete

This PR cannot be merged until the following are addressed on its linked issue:

The fields live on the linked issue in the Shipping project (open the issue → right sidebar → Projects). After you set them, re-run this check (or push a commit) — issue/project changes do not re-trigger it automatically.

Maintainers can bypass this check by adding the skip-pr-checks label.

@github-actions github-actions Bot added the UI UI specific issues label Sep 18, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

@harsh-vador harsh-vador added the safe to test Add this label to run secure Github workflows on PRs label Sep 18, 2026
@harsh-vador harsh-vador self-assigned this Sep 18, 2026
The app compiles against ui-core-components through a yarn `link:`, so a
change confined to that package changes what the app's unit tests run —
while matching none of the paths the coverage filter watches. The job is
skipped, the pass-on-skip gates go green, and the breakage only surfaces
once it is on main and blocking the merge queue.

Watch the same core-components paths ui-checkstyle already does.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@harsh-vador
harsh-vador force-pushed the ci/coverage-watch-core-components branch from 6d057c6 to 3831d36 Compare September 18, 2026 16:34
@gitar-bot

gitar-bot Bot commented Sep 18, 2026

Copy link
Copy Markdown
Code Review ✅ Approved

🟢 Low risk

Adds openmetadata-ui-core-components paths to the jest coverage job filter in .github/workflows/yarn-coverage.yml so that changes to the core-components library trigger the full test suite. This prevents PRs that modify only core-components from skipping coverage checks and reaching main untested. No issues found.

Review coverage

Rules No rules evaluated

Functional validation Not enabled · Set up

Auto-approval Not enabled · Set up

Options

Display: compact → Counting what did not apply, without listing it.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source

@github-actions

Copy link
Copy Markdown
Contributor

✅ Playwright Results — workflow succeeded

Validated commit 3831d36f5e238a69a7f7bace88d0d609f31fc5b9 in Playwright run 35369314021, attempt 1.

✅ 557 passed · ❌ 0 failed · 🟡 0 flaky · ⏭️ 0 skipped · 🧰 0 lifecycle flaky

Performance

Blocking targets: ✅ met · Optimization targets: 🟡 in progress

Shard-job maxima below are not the full workflow wall time; the linked run includes build, fixture, planning, and reporting.

🕒 Full workflow signal wall (to summary) 59m 10s

⏱️ Max setup 4m 34s · max shard execution 17m 49s · max shard-job elapsed before upload 20m 57s · reporting 5s

🌐 227.40 requests/attempt · 2.24 app boots/UI scenario · 36.58% common-shard skew

Optimization targets still in progress:

  • Common shard skew was 36.58% (convergence target: at most 15%).
  • Browser traffic was 227.4 requests per attempt (convergence target: fewer than 200).
  • Application boot ratio was 2.24 per UI scenario (1292 boots / 578 scenarios; convergence target: at most 1).
Shard Passed Failed Flaky Skipped Lifecycle failed Lifecycle flaky
✅ Shard chromium-01 135 0 0 0 0 0
✅ Shard chromium-02 129 0 0 0 0 0
✅ Shard chromium-03 135 0 0 0 0 0
✅ Shard data-asset-rules-01 65 0 0 0 0 0
✅ Shard domain-isolation-01 16 0 0 0 0 0
✅ Shard global-state-01 34 0 0 0 0 0
✅ Shard ingestion-01 1 0 0 0 0 0
✅ Shard reindex-01 2 0 0 0 0 0
✅ Shard search-01 11 0 0 0 0 0
✅ Shard search-rbac-01 29 0 0 0 0 0

📦 Download artifacts

How to debug locally
# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip    # view trace

@harsh-vador
harsh-vador added this pull request to the merge queue Sep 18, 2026
Merged via the queue into main with commit 6eeea51 Sep 18, 2026
106 of 108 checks passed
@harsh-vador
harsh-vador deleted the ci/coverage-watch-core-components branch September 18, 2026 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs UI UI specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Jest coverage check skips core-components-only PRs, so they can break main unchecked

3 participants