-
Notifications
You must be signed in to change notification settings - Fork 407
ci: reduce system tests execution time, split AppSec ubuntu matrix, rework All Green report uploads #9197
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
rochdev
wants to merge
37
commits into
master
Choose a base branch
from
rochdev/system-tests-execution-time
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
ci: reduce system tests execution time, split AppSec ubuntu matrix, rework All Green report uploads #9197
Changes from 34 commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
3ccee7c
ci: reduce system tests desired execution time to 120s
rochdev 2222879
ci(appsec): run AppSec ubuntu job per Node version in parallel
rochdev 1b1dbf8
ci(all-green): group coverage uploads by area, upload fully in parallel
rochdev df84c4a
ci(all-green): drop per-area coverage flags, upload once per backend
rochdev 92f77e2
ci(all-green): physically merge coverage reports before upload
rochdev c160ab0
ci(all-green): run junit/coverage/codecov uploads concurrently
rochdev 0e4d762
ci(all-green): drop istanbul JSON coverage upload, lcov only
rochdev 894eff0
ci(all-green): print per-upload timing summary
rochdev edcc425
ci(all-green): lengthen initial delay, tighten polling interval
rochdev 9fdab1d
ci(all-green): download/merge/upload reports per workflow, not after …
rochdev 22b8ede
ci(all-green): buffer upload CLI output, dump it only on failure
rochdev e942839
ci(all-green): log one summary line per workflow run, not per upload
rochdev cac54f2
ci(all-green): register the Codecov commit/report before uploading, a…
rochdev 8fda817
ci(all-green): fold download/merge logs into the per-run upload summary
rochdev 52e6f83
ci(all-green): only notify Codecov when every sibling workflow passed
rochdev 840b53a
ci(all-green): address bot review feedback on coverage upload
rochdev 02c17ce
ci(all-green): merge lcov reports per-file instead of concatenating
rochdev 5437f57
ci(all-green): tag each sibling workflow's Codecov upload with its ow…
rochdev 62156a0
ci(all-green): restore istanbul JSON upload for Codecov only
rochdev ba9e2bc
ci(system-tests): raise desired execution time from 2 to 3 minutes
rochdev 80eabd8
ci(all-green): tag junit uploads with the Node version that produced …
rochdev 8142789
ci(all-green): merge per-cell junit XML before uploading
rochdev 5256132
ci(all-green): batch junit and Datadog coverage uploads across runs
rochdev e7f70b6
ci(all-green): cap concurrency and retry artifact downloads
rochdev 11e3881
ci(all-green): tag each workflow's junit upload with its own CI metadata
rochdev 96e4de6
ci(all-green): fix junit workflow attribution via per-test ci.* tags
rochdev adae4f2
ci(all-green): drop the cross-run lcov merge for Datadog coverage upl…
rochdev 2899725
ci(all-green): stop datadog-ci's own CI detection from overwriting pe…
rochdev a68ba27
ci(all-green): fix jsdoc/no-undefined-types lint failure in run-uploa…
rochdev f33e063
ci(all-green): cache successful Codecov uploads across job attempts
rochdev c8a2a63
ci(all-green): skip the json coverage merge for already-uploaded runs
rochdev 31ecd3d
ci(all-green): merge/upload lcov only, drop per-run Codecov cache
rochdev 2837855
fix(ci): globally cap artifact download concurrency, fix duplicate-na…
rochdev f0d7a88
refactor(ci): extract download concurrency Semaphore into its own module
rochdev ba598e9
fix(ci): gate Codecov notification on upload success, not just workfl…
rochdev 7e77897
fix(ci): gate Codecov notification on downloads, and merge lcov acros…
rochdev c74af92
fix(ci): gate Codecov notification on processRun exceptions too
rochdev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,15 +1,34 @@ | ||
| 'use strict' | ||
|
|
||
| // eslint-disable-next-line eslint-rules/eslint-process-env | ||
| const isCI = Boolean(process.env.CI) | ||
|
|
||
| const reporterEnabled = ['spec'] | ||
| if (isCI) reporterEnabled.push('./scripts/junit-reporter.js') | ||
|
|
||
| // eslint-disable-next-line eslint-rules/eslint-process-env | ||
| if (process.env.CI) { | ||
| reporterEnabled.push('./scripts/junit-reporter.js') | ||
| } | ||
| // datadog-ci junit upload derives the Pipeline/Job UI facets from GITHUB_* env vars in its own | ||
| // process at upload time, which are All Green's own since it uploads every sibling workflow's | ||
| // results in a single call. Stamping them here instead, while this job's own GITHUB_* values are | ||
| // still correct, lets `--xpath-tag` (see scripts/upload-junit.mjs) remap them onto the real | ||
| // ci.pipeline.*/ci.job.* tags per test instead. | ||
| const GITHUB_ENV = process.env // eslint-disable-line eslint-rules/eslint-process-env | ||
| const { | ||
| GITHUB_JOB, GITHUB_RUN_ID, GITHUB_WORKFLOW, GITHUB_RUN_NUMBER, GITHUB_SERVER_URL, GITHUB_REPOSITORY, | ||
| } = GITHUB_ENV | ||
|
|
||
| module.exports = { | ||
| reporterEnabled, | ||
| scriptsJunitReporterJsReporterOptions: { | ||
| mochaFile: `./node-${process.versions.node}-junit.xml`, | ||
| properties: { | ||
| node_version: process.versions.node, | ||
| ...(isCI && { | ||
| 'ci.pipeline.name': GITHUB_WORKFLOW, | ||
| 'ci.pipeline.id': GITHUB_RUN_ID, | ||
| 'ci.pipeline.number': GITHUB_RUN_NUMBER, | ||
| 'ci.pipeline.url': `${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}`, | ||
| 'ci.job.name': GITHUB_JOB, | ||
| }), | ||
| }, | ||
| }, | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.