Commit graph

307 commits

Author SHA1 Message Date
Boshen
851318b413
ci(): install rust before cache in windows-test 2024-05-31 10:01:09 +08:00
Boshen
8fe58921e9
ci: speed up windows build (#3474)
Windows warm cache run reduced from 3 mins to 2 mins 20 seconds.

Unsung heros of the internet, who led me here to speed up window's
slowness:
* `https://github.com/actions/cache/issues/752#issuecomment-1847036770`
*
502e04200d/.github/workflows/ci.yml (L158)
2024-05-31 09:48:28 +08:00
Boshen
0f4bcc0a68
ci: fix cache for clippy and docs 2024-05-30 23:43:41 +08:00
Boshen
41d67fe6f6
ci: clean up the bloat action 2024-05-30 23:26:34 +08:00
Boshen
0d35f227b5
ci: fix sccache in "check conformance" 2024-05-30 00:46:47 +08:00
Boshen
0a61843ea8
ci: fix smoke test failing because bash is not installed on alpine 2024-05-28 23:47:10 +08:00
Boshen
0355c9d116
ci: remove actions/rustup in favor of Boshen/rustup (#3429) 2024-05-27 16:34:18 +08:00
rzvxa
56cbdf5f0e ci(oxlint): add oxc_language_server binary to the oxlint package. (#3350)
I didn't introduce a new set of native packages for the `oxc_language_server` binary, This change temporarily bundles them as part of oxlint, We most probably would want to make it an optional dependency in the future if we start to add more futures like formatting, jump to definition, etc to it.
2024-05-27 02:46:43 +00:00
Boshen
d80e9b4187
ci: add sccache to linter benchmark (#3418) 2024-05-26 20:27:24 +08:00
Boshen
31c8e3340d
ci: build test first to speed up ci runs by a little bit 2024-05-26 16:28:18 +08:00
Boshen
3855579eb4 ci: apply default shell: bash to all CI jobs (#3416) 2024-05-26 08:05:11 +00:00
Boshen
21505e885c refactor(cli): move crates/oxc_cli to apps/oxlint (#3413)
We need to split the cli crate up to reduce dependencies,
the current cli crate is pulling in `oxc_prettier`, which is redundant
for the linter.
2024-05-26 05:00:30 +00:00
Boshen
7d73fb33e8
ci: disable RUSTC_WRAPPER from forks 2024-05-26 01:46:14 +08:00
Boshen
217594d21f
ci: setup sccache (#3403) 2024-05-25 23:38:43 +08:00
Boshen
68c1bf4018
ci: disable the flaky semantic benchmark 2024-05-24 15:01:11 +08:00
Boshen
c8e3ca0816
ci: add secret CARGO_REGISTRY_TOKEN to cargo publish 2024-05-22 18:19:40 +08:00
Boshen
16d8dcda76
ci: allow branch renovate/** 2024-05-20 13:35:31 +08:00
Boshen
cc1882d221
ci: remove ecosystem ci, moved to https://github.com/oxc-project/oxlint-ecosystem-ci 2024-05-16 01:32:45 +08:00
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
Boshen
be2aaa1d7e
ci: add release crates workflow
closes #2518
2024-05-08 22:32:05 +08:00
Boshen
5683aceae9
ci: improve benchmark build time by only building once (#3201)
relates #3200
2024-05-08 14:54:10 +08:00
Boshen
ed3fa399a6
feat(linter): add --format github for github check annotation (#3191)
closes #480
2024-05-07 20:55:10 +08:00
Boshen
8fbba03afd
ci: reduce the total number of linter benchmarks (#3172)
closes #2981
2024-05-06 12:54:50 +08:00
Boshen
cf2db1ef3a
ci: fix broken cargo bloat command 2024-05-04 00:03:21 +08:00
Boshen
5d0f165f51
ci: "Coverage and check diff" -> "Check Conformance" 2024-04-26 21:31:44 +08:00
Boshen
fe37da63ae
ci: remove some redundant lines that are showing warnings 2024-04-20 14:23:34 +08:00
renovate[bot]
ec1ca3ac98
chore(deps): update peaceiris/actions-gh-pages action to v4 (#2986)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[peaceiris/actions-gh-pages](https://togithub.com/peaceiris/actions-gh-pages)
| action | major | `v3` -> `v4` |

---

### Release Notes

<details>
<summary>peaceiris/actions-gh-pages
(peaceiris/actions-gh-pages)</summary>

###
[`v4`](https://togithub.com/peaceiris/actions-gh-pages/compare/v3...v4)

[Compare
Source](https://togithub.com/peaceiris/actions-gh-pages/compare/v3...v4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 8am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 10:11:26 +08:00
Boshen
93ce5a919a
chore: fix internal doc warnings 2024-04-13 15:59:24 +08:00
Boshen
9df5001543
ci: explicitly disable incremental build and deny warnings for cargo and rust 2024-04-13 15:40:10 +08:00
Boshen
adabbac696
ci: only run cargo-shear when Rust changes (#2953) 2024-04-13 13:24:09 +08:00
Boshen
063b281c39
feat(allocator): make Box's PhantomData own the passed in T (#2952) 2024-04-13 12:31:40 +08:00
Boshen
b05c26374c
ci: fix codecov stack overflow by increasing the stack size
The underlying cause is oxc_prettier recursively printing assignment expressions.
2024-04-12 20:17:53 +08:00
Boshen
ced0721b3b
ci: cache codecov; enable code coverage for oxc_transformer 2024-04-11 16:16:02 +08:00
Boshen
659e891615
ci: skip benchmark-napi because it is flaky (#2918)
The flakiness and all the noise produced by it is starting to hurt
maintenance because I can no longer tell if main or PR is failing
properly :-(

codspeed doesn't have the feature "let it run but don't report as error"
or "different thresholds on different benchmarks"
2024-04-08 19:21:57 +08:00
Boshen
ab26099281
Publish @oxc-parser/wasm with web and node builds (#2916)
Co-authored-by: Saeid Zareie <saeid.za98@gmail.com>
2024-04-08 15:47:02 +08:00
Boshen
c767a2ede0
ci: fix ecosystem-ci build 2024-04-02 17:47:05 +08:00
Boshen
d63127d009
chore: only build the allocators in release mode because they are slow to build (60s) 2024-04-02 17:39:01 +08:00
Boshen
3ca6721783
ci: always run cargo shear 2024-03-31 16:06:22 +08:00
Boshen
52a9f08a57
chore: remove release-plz 2024-03-30 13:50:41 +08:00
Boshen
348c3e9bb3
ci: rename and tweak publish crates action 2024-03-30 13:20:29 +08:00
underfin
b199cb89a2
feat: add oxc sourcemap crate (#2825)
The sourcemap implement port from
[rust-sourcemap](https://github.com/getsentry/rust-sourcemap), but has
some different with it.

- Encode sourcemap at parallel, including quote `sourceContent` and
encode token to `vlq` mappings.
- Avoid `Sourcemap` some methods overhead, like `SourceMap::tokens()`
caused extra overhead at common cases. Here using `SourceViewToken` to
instead of it.
2024-03-28 19:36:38 +08:00
Boshen
c5ccd5e7a1
ci: add release-plz 2024-03-26 18:18:16 +08:00
Dunqing
224299fe5c
ci: ci should run when clone-submodules/action.yml changes (#2816)
When we change `clone-submodules/action.yml`, the snapshot will probably be updated as well, so I'd run ci to make sure the snapshot is correct.
2024-03-26 11:58:55 +08:00
Boshen
66117b10aa
ci: cargo doc --no-deps 2024-03-26 01:56:16 +08:00
Boshen
06a81409f1
ci: actions/checkout@v4 -> taiki-e/checkout-action@v1 (#2811)
This does not depend on node.js, and sets persist-credentials to false
2024-03-26 01:24:51 +08:00
Boshen
e32a3b3783
ci: use cargo-shear (#2810) 2024-03-26 00:43:10 +08:00
overlookmotel
29d8a64bc9
perf(tasks): speed up NAPI parser benchmark build (#2787)
The `parser_napi` pseudo-benchmark does not depend on any Oxc crates, so
remove all dependencies for this benchmark. This reduces build time of
this benchmark on CI by ~1 minute.

After #2780, NAPI parser benchmark sometimes took the longest of all the
benchmarks, so making it faster reduces time to complete the benchmarks
overall.
2024-03-22 12:09:32 +00:00
overlookmotel
2fe158d0d6
refactor(tasks): separate NAPI benchmark CI job (#2783)
Not a substantive change. This just prevents the other benchmark jobs
showing greyed-out "Build NAPI benchmark" steps, and makes the workflow
file easier to follow.

CI tasks were stuck at "Waiting for status to be reported", and unable
to merge until they passed. Problem was that CI task doesn't run if only
`.yml` files are altered. So have added a dummy comment to a random Rust
file just to get it to run. Will make another PR after to remove the
comment again!
2024-03-21 23:30:38 +00:00
overlookmotel
508091314f
feat(tasks): benchmark NodeJS parser (#2770)
Add NodeJS parser to benchmarks.

Previous attempt #2724 did not work due CodSpeed producing very
inaccurate results (https://github.com/CodSpeedHQ/action/issues/96).

This version runs the actual benchmarks without CodSpeed's
instrumentation. Then another faux-benchmark runs within Codspeed's
instrumented action and just performs meaningless calculations in a loop
for as long as is required to take same amount of time as the original
uninstrumented benchmarks took.

It's unfortunate that we therefore don't get flame graphs on CodSpeed,
but this seems to be the best we can do for now.
2024-03-20 05:06:09 +00:00
overlookmotel
5edd196836
fix(tasks): fix codspeed upload for PRs from forks (#2759)
#2751 contained a mistake, which was pointed out by Adrian @ CodSpeed on
Discord.

For PRs from forks, `CODSPEED_TOKEN` is not provided, and the submission
to CodSpeed is "tokenless". #2751 wrongly assumed all runs are submitted
with a token. This PR fixes that.
2024-03-18 20:29:16 +00:00