Skip to content

added github pipelines and fixed css for successful build - #4

Merged
roncodes merged 5 commits into
mainfrom
dev-main
May 23, 2023
Merged

roncodes merged 5 commits into
mainfrom
dev-main

Conversation

@roncodes

Copy link
Copy Markdown
Member

No description provided.

@roncodes roncodes left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All looks good, but need to run tests from inside console, then bump version

@roncodes
roncodes merged commit ef9fadb into main May 23, 2023
roncodes added a commit that referenced this pull request Aug 25, 2026
…(DEFECTS #16)

The cause, at last, and it is a known upstream bug rather than anything odd
about this repo.

sendCoverage() POSTs ~1.9 MB to /write-coverage — 401 instrumented files,
because a per-file 100% gate needs forceModulesToBeLoaded() to evaluate
everything so untested files stay in the denominator. In CI mode testem tears
the browser down the moment QUnit reports the run finished, truncating the
upload mid-body. raw-body aborts, coverageHandler is never reached, and nothing
is written.

That is why it looked like flakiness rather than a bug: it depends on how long
the run took. After 139 tests testem has almost nothing to serialize and kills
the browser in milliseconds; after 5130 tests, emitting the results buys the
upload enough time to land. Measured 2 of 9 artifacts on fast filtered runs
against 100% on full runs, with `BadRequestError: request aborted` correlating
1:1 with every failure.

Testem.afterTests hands testem a callback it WAITS for, so the upload finishes
before teardown. It does not fire under --server, hence the branch on
config.APP.isRunningWithServerArgs.

Upstream, all with the identical raw-body:245 stack:
  ember-cli-code-coverage#420 (Aug 2024), #421, testem#1577
Our measurements are added to #420.

Measured: 2 of 2 fast filtered runs now produce an artifact with no abort.
Full suite unchanged — 5130 pass, 0 fail, lint 0.

Ruled out and recorded so nobody retries them: keepalive:true and sendBeacon
(the Fetch spec caps both at 64 KiB, ~30x under our payload), and moving
forceModulesToBeLoaded() to QUnit.begin (0 of 3, and against the guidance in
the addon's own source, which says to call it after the suite).

Also recorded a debugging trap: instrumenting coverageHandler shows nothing on a
failing run, which reads as "the POST never arrived". It does arrive and dies
inside bodyParser, before the handler. I drew the wrong conclusion from that and
had to retract it; instrument in front of bodyParser, not behind it.

The freshness gate from PR #163 stays. It is what made this failure loud instead
of silent, and it is still the guard against reading a stale report.

DEFECTS #18 opened: branch totals still vary by +/-1 between identical runs
(5825 vs 5826 across three otherwise-identical full runs). Same class of gate
blocker #4 was, culprit not yet located.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant