oxc/tasks
overlookmotel 93e1ea4419
feat(tasks): shard benchmarks in CI (#2751)
This PR shards benchmarks when running on CI. Each benchmark (parser, minifier etc) runs as a separate job, and then a final job combines the results and uploads to Codspeed.

A bit of a hacky implementation. Uses a small NodeJS HTTP server to intercept the results from `codspeed-runner`, and then another NodeJS script to combine them all together, and upload to CodSpeed.

I will submit PRs on Codspeed's runner + action to do it properly, but as I imagine it'll be a slow process getting that merged upstream, I wanted to see if it worked first. We can replace this once it's supported upstream.

Sharding only reduces total time to run the benchmarks by about 70 secs at present, because linter benchmark takes 6 mins alone and holds up the whole process (all the rest are done in ~2 mins). If we can split up the linter benchmark, we can likely get total run time down to around 3 mins. I'll try that in a follow-on PR.

I guess the other upside is we can now add as many benchmarks as we like with impunity - they'll run in parallel, and so won't slow things down overall.
2024-03-18 10:45:44 +08:00
..
benchmark feat(tasks): shard benchmarks in CI (#2751) 2024-03-18 10:45:44 +08:00
common feat: merge features serde and wasm to serialize (#2716) 2024-03-14 17:13:12 +08:00
coverage chore(deps): update rust crates (#2747) 2024-03-17 16:40:42 +00:00
javascript_globals chore: update Cargo.toml and deny.yaml 2024-03-05 16:31:05 +08:00
lint_rules chore(lint_rules): deprecated eslint no-dupe-args / no-octal / no-with 2024-02-02 17:33:54 +08:00
minsize refactor(codegen): clean up API around building sourcemaps (#2602) 2024-03-04 16:03:33 +08:00
prettier_conformance refactor(ast): refactor Trivias API - have less noise around it (#2692) 2024-03-12 20:16:36 +08:00
rulegen feat(task): init eslint-plugin-tree-shaking rule (#2662) 2024-03-10 22:07:34 +08:00
transform_conformance fix(transformer/decorators): missing check private function (#2607) 2024-03-05 11:37:00 +08:00
libs.txt refactor(benchmark): use more complicated files (#1811) 2023-12-25 17:27:02 +08:00