Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk4 min

The PR Was Green. Main Was Red: Why CI Can Disagree

A coverage collapse after a docs-only change may point to what CI resolved and ran—not the latest diff. Here’s how to investigate the mismatch.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A green pull request and a red main-branch CI run can both be accurate: they may have tested different code, dependencies, or runtime conditions. In a September 2026 case study, DEV Community author qnbs reported that a documentation-only change was followed by a dramatic coverage collapse on main. The lesson is to inspect what ran and what the CI environment resolved before blaming the latest diff.

How can a green pull request and red main both be right?

Pull-request checks and main-branch checks are separate executions, not a guarantee that the same environment will produce the same result. A change can be merged while dependencies, caches, lockfile state, configuration, or the tested commit differ between runs. A green check says that particular job passed under its conditions; it does not prove that a later main run used identical inputs.

As an Amazon Associate I earn from qualifying purchases.

That distinction matters when the failure appears after a change that should not affect runtime behavior. The timing makes the change worth checking, but does not establish that it caused the failure.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What happened in the reported case?

In a case study published September 28, 2026, qnbs described WorldScript Studio at commit 99024a4b and release v1.28.8. The author said a documentation-only commit was followed by a coverage drop on main, and that rerunning the job reproduced the same measurements. The case study reported coverage falling from 77.09% to 5.16%; its failed gate measured 5.16% lines, 4.91% functions, 5.02% statements, and 3.24% branches. These are the author’s incident-specific figures, not independently audited measurements. Read the case study by qnbs.

Why is missing test coverage different from failed tests?

A test assertion failure means a suite ran and reported an unexpected result. Missing suites point to a different possibility: the tests may not have started, or their results may not have been included in coverage. In qnbs’s account, suites using the jsdom environment were absent. The author interpreted that pattern as workers failing during startup rather than tests running and failing assertions.

That is a diagnostic clue, not proof on its own. Check the runner output, worker startup errors, suite discovery, and coverage inputs to learn whether tests were skipped, failed to initialize, or ran without being counted.

What cause did the case study identify?

According to qnbs, the workspace used a pnpm override for undici written as >=7.28.0. Because that range had no upper limit, it reportedly resolved to undici 8.5.0 after that major version became available. The article says jsdom 29.1.1 required lib/handler/wrap-handler.js from undici at module load, while its declared dependency range targeted undici 7.x. The override displaced that range, and jsdom workers then failed to load.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

On that account, the documentation change was coincidental: a dependency resolution change exposed an incompatibility at worker startup, leaving the jsdom suites out of coverage. The package, repository, and root-cause details here are the author’s reported findings; the underlying repository artifacts were not independently inspected for this article.

How should you diagnose a green-PR, red-main incident?

  1. Rerun the failed job. Compare the logs and measurements. A repeatable result can point toward a deterministic configuration or environment problem, but repeatability alone does not identify the cause.
  2. Classify the failure shape. Separate assertion failures from missing suites, worker startup errors, collection failures, and coverage-reporting problems. Find out which expected suites actually ran.
  3. Compare execution inputs. Check the tested commit, lockfile, runtime and package-manager versions, CI configuration, cache behavior, and resolved dependency tree for the pull-request and main jobs.
  4. Inspect worker startup dependencies. Look at the modules loaded before tests execute, including internal imports and the package-version ranges declared by the worker’s dependencies.
  5. Review overrides against supported ranges. A broad override can force a package version outside a dependent’s supported range. Check the resolved version, not just the range written in a manifest.
  6. Test one specific hypothesis. Change the suspected range or configuration in a controlled way, then rerun the relevant job and confirm that the missing suites start and coverage behaves as expected.

What makes a dependency override safer?

In the case study, the reported fix changed the override to >=7.28.0 <8. That kept the stated security floor while constraining resolution to undici 7.x. The author said this restored jsdom worker startup and coverage. The durable policy was to remove the upper bound only when jsdom supported undici 8.

A version ceiling should not become an unexplained permanent workaround. Record why it exists, what compatibility condition would allow it to be lifted, and who should review that change. Qnbs also described a later floor increase to >=7.29.0 <8, an upgrade to jsdom 30.x while retaining the bound, and documented criteria for gradually ratcheting coverage thresholds. Those are repository-specific developments reported by the author, not universal version guidance.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What should you take from the incident?

Do not infer that a docs-only change caused a runtime regression simply because the failure followed it. Nor should every green-PR/red-main mismatch be attributed to dependency resolution. Follow the evidence: determine whether tests ran, compare the actual environments, and verify a concrete cause with a targeted change. As qnbs put it, “The PR was green, main was red, and both were telling the truth.”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.