oxc/.github/workflows
overlookmotel f0cbbbe28c
ci: build each benchmark only with deps it needs (#3221)
This PR builds on #3201 to further speed up the benchmarks and reduce CI
time.

* Build and run each benchmark as separate job (like before).
* But now each bench is only built with the dependencies it needs.
* For linter benchmarks, build benchmark in 1 job (like #3201 does).
* Run each linter fixture in a separate job as they're slow.

This reduces total time to complete benchmarks from between 6m-7m to
~4m40s.

All the individual jobs complete in under 1m30s, except for building
linter benchmark which takes 2m30s. So there won't be the problem of
blocking the CI queue that there was before.

NB: I did try this before, and didn't see a benefit. But I realized
today what I was doing wrong - it only works once the caches are
populated by a previous run on main branch.

So the CI times in this PR won't look good, but once it's merged to
main, it will take effect. Here it is running on main branch of my fork:

https://github.com/overlookmotel/oxc/actions/runs/9030511348

I also added a step to delete the temp artefacts which aren't needed
once the run has completed.
2024-05-10 22:01:24 +08:00
..
auto-labeler.yml ci: actions/checkout@v4 -> taiki-e/checkout-action@v1 (#2811) 2024-03-26 01:24:51 +08:00
benchmark.yml ci: build each benchmark only with deps it needs (#3221) 2024-05-10 22:01:24 +08:00
bloat.tmpl ci: update cargo bloat and add cargo-unused (#158) 2023-03-08 22:16:38 +08:00
bloat.yml ci: fix broken cargo bloat command 2024-05-04 00:03:21 +08:00
cargo-llvm-lines.yml ci: actions/checkout@v4 -> taiki-e/checkout-action@v1 (#2811) 2024-03-26 01:24:51 +08:00
ci.yml ci: "Coverage and check diff" -> "Check Conformance" 2024-04-26 21:31:44 +08:00
codecov.yml ci: fix codecov stack overflow by increasing the stack size 2024-04-12 20:17:53 +08:00
ecosystem.yml feat(linter): add --format github for github check annotation (#3191) 2024-05-07 20:55:10 +08:00
fuzz.yml ci: actions/checkout@v4 -> taiki-e/checkout-action@v1 (#2811) 2024-03-26 01:24:51 +08:00
link-check.yml ci: actions/checkout@v4 -> taiki-e/checkout-action@v1 (#2811) 2024-03-26 01:24:51 +08:00
lint-rules.yml ci: actions/checkout@v4 -> taiki-e/checkout-action@v1 (#2811) 2024-03-26 01:24:51 +08:00
miri.yml feat(allocator): make Box's PhantomData own the passed in T (#2952) 2024-04-13 12:31:40 +08:00
release_cli.yml ci: add release crates workflow 2024-05-08 22:32:05 +08:00
release_crates.yml ci: add release crates workflow 2024-05-08 22:32:05 +08:00
release_napi_parser.yml ci: actions/checkout@v4 -> taiki-e/checkout-action@v1 (#2811) 2024-03-26 01:24:51 +08:00
release_oxlint.yml chore: only build the allocators in release mode because they are slow to build (60s) 2024-04-02 17:39:01 +08:00
release_vscode.yml ci: actions/checkout@v4 -> taiki-e/checkout-action@v1 (#2811) 2024-03-26 01:24:51 +08:00
release_wasm.yml Publish @oxc-parser/wasm with web and node builds (#2916) 2024-04-08 15:47:02 +08:00
website.yml chore(deps): update peaceiris/actions-gh-pages action to v4 (#2986) 2024-04-15 10:11:26 +08:00