Commit graph

257 commits

Author SHA1 Message Date
overlookmotel
68f304faa3
feat(tasks): shard linter benchmarks in CI (#2752)
Follow-on from #2751. Further shards linter benchmarks so each fixture runs in its own job.

This reduces total time to run benchmarks by another ~75 secs. So approx 2.5 mins shaved off in total.
2024-03-18 10:50:44 +08:00
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
overlookmotel
78f1adc043
chore(napi): remove oxc-parser from benchmarks (#2738)
#2724 added CodSpeed benchmarks for NodeJS `oxc-parser`.

Unfortunately it turns out CodSpeed's results are wildly inaccurate.
Unclear why, but have raised an issue with CodSpeed
(https://github.com/CodSpeedHQ/action/issues/96). In meantime it seems
best to remove the benchmarks as they're not useful at present.
2024-03-16 23:39:23 +08:00
overlookmotel
af47aebc7c
chore(napi): add oxc-parser to benchmarks (#2724)
Closes #2616.

Adds benchmarks for NodeJS NAPI build. Measurement includes `JSON.parse`
of the AST on JS side, since that's how it'll be used 99% of the time.

Benchmarks run against same files as Rust parser benchmarks, so we can
see the overhead of transferring AST to JS.
2024-03-15 19:45:02 +08:00
renovate[bot]
68c01d304e
chore(deps): update softprops/action-gh-release action to v2 (#2676) 2024-03-11 15:33:50 +08:00
Boshen
8bb1084863
feat(codegen): add sourcemap (#2565)
Co-authored-by: underfin <2218301630@qq.com>
2024-03-03 14:44:49 +08:00
Boshen
4f22eaaf96
ci: check cargo doc for all crates 2024-02-21 18:03:49 +08:00
Boshen
160498be18
ci: add publish to open vsx registry 2024-02-18 16:55:22 +08:00
Boshen
24a9255610
Release napi oxc-parser@v0.4.0 2024-02-11 12:37:44 +08:00
Boshen
5723690fdf
Release napi oxc-parser@v0.4.0-alpha.0 2024-02-11 11:56:46 +08:00
overlookmotel
1baf9c33d2
ci: run benchmarks on branches called bench-* (#2365)
I've recently switched over from hacking on a fork to working directly
on upstream, in order to be able to use Graphite.

One thing I miss now is ability to create branches and run CodSpeed on
them while developing. Compared to running benches locally, CodSpeed has
the advantage of giving you a visual history, showing how each commit
you push moves the dials.

This PR makes the benchmarks run for any branch named `bench-*`, in
order to enable this workflow on upstream, without having to open a
draft PR for every experiment.
2024-02-09 20:57:37 +08:00
Boshen
5d9b0f3312
ci: speed up benchmark build (#2343)
closes #2299

Managed to figure out what `cargo codspeed build` is doing :-)
2024-02-08 19:47:50 +08:00
Boshen
0f28dc8894
ci: move conformance.yml to ci.yml 2024-02-06 23:01:58 +08:00
Boshen
a928eeaff8
ci: skip benchmark for codegen 2024-02-06 22:55:52 +08:00
Boshen
3b7dfb9bd1
Release oxlint and vscode extension v0.2.8 2024-02-06 15:57:00 +08:00
Boshen
839e7c5c22
feat(napi/parser): add more linux-musl targets 2024-02-06 00:04:25 +08:00
renovate[bot]
7138432541
chore(deps): update codecov/codecov-action action to v4 (#2305)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>codecov/codecov-action (codecov/codecov-action)</summary>

### [`v4`](https://togithub.com/codecov/codecov-action/compare/v3...v4)

[Compare
Source](https://togithub.com/codecov/codecov-action/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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-05 13:08:56 +08:00
Boshen
6002560fa1
feat(span): fix memory leak by implementing inlineable string for oxc_allocator (#2294)
closes #1803

This string is currently unsafe, but I want to get miri working before
introducing more changes.

I want to make a progress from memory leak to unsafe then to safety.
It's harder to do the steps in one go.
2024-02-04 19:28:23 +08:00
Boshen
3569e42475
ci: install just in conformance 2024-02-02 22:49:15 +08:00
Boshen
b2040ed2ec
ci: use node.js 20 2024-02-02 22:28:23 +08:00
Boshen
54dfd91729
ci: temporary fix git clones 2024-02-02 22:27:15 +08:00
Dunqing
3cb85778bc
ci: incorrect uses value (#2276) 2024-02-02 21:53:10 +08:00
Boshen
d2f7ea2923
chore: manually clone git modules instead of using submodules (#2274)
closes #2231

Submodules are a blocker for beginners, we should make it clone on
demand.

It is also a blocker for people who wants to target this repo as a crate
for testing purposes, cargo will do a full clone if you specify
oxc_parser = { git = "this repo" } in Cargo.toml
2024-02-02 11:56:18 +00:00
Boshen
d6ba058f77
ci: paths-filter v3 (#2267) 2024-02-02 16:21:34 +08:00
Boshen
a3df55e7ed
ci: unify the usage of concurrency.group
github.ref refers to the branch
2024-02-02 11:20:44 +08:00
Boshen
c0bdd050ee
ci: s/macos-latest/macos-14 (#2244) 2024-02-01 13:30:49 +08:00
Boshen
9c6c17b9aa
feat(wasm/parser): improve FFI (#2232) 2024-01-31 15:53:32 +08:00
Boshen
b2894c6a38
Release @oxc-parser/wasm v0.0.2 2024-01-30 21:43:41 +08:00
Boshen
5ac61f09a0
feat: setup wasm parser for npm (#2221) 2024-01-30 21:40:10 +08:00
Nicholas Roberts
cd5026c015
feat(ast): TypeScript definition for wasm target (#2158)
Closes #2151
2024-01-30 15:43:03 +08:00
Boshen
ab8a3114a2
feat(cli): add --version (#2182)
closes #2154
2024-01-26 19:13:17 +08:00
Yuji Sugiura
cba8a4c131
feat(tasks): Enable tasks/lint_rules(JS ver) (#2177)
- [x] Remove old task(Rust ver)
- [x] Migrate to new task(JS ver)
- [x] Confirm CI works w/o `--output`
-
https://github.com/oxc-project/oxc/actions/runs/7663961642/job/20887579432?pr=2177
- [x] Confirm CI works w/ fake issue no
  - https://github.com/oxc-project/oxc/issues/2117
- [x] Enable

- - -

I've noticed that

- eslint/no-extra-semi
- eslint/no-mixed-spaces-and-tabs

are maked as deprecated and also recommended.

This is ESLint side
[issue](https://github.com/eslint/eslint/pull/17696#issuecomment-1792452766)
and will fix after v9.
2024-01-26 15:45:05 +08:00
xc2
8e332b20a1
ci(oxlint): run smoke test against both glibc and musl (#2155) 2024-01-24 11:10:53 +08:00
Boshen
382a187175
fix(npm): fix bin script for musl / gnu 2024-01-23 19:09:11 +08:00
Boshen
fda2d7c334
deps(website): bump deps (#2146) 2024-01-23 17:15:42 +08:00
Yuji Sugiura
71173a9181
feat(tasks): Add @typescript-eslint to lint_rules CI task (#2134)
Part of #2020

- Add `@typescript-eslint` plugin rules
- w/ refactoring
  - Fix compile errors to add other plugins
  - Remove not intended unsupported rule in `eslint`

(Use #2117 for updating for a while?)
2024-01-23 12:29:55 +08:00
Boshen
e81e8c7124
ci: release oxlint with linux-{x64-gnu, arm64-gnu, x64-musl, arm64-musl} (#2126)
closes #1736
2024-01-22 19:56:27 +08:00
Boshen
fe7c4d09d2
ci: improve ecosystem ci (#2099) 2024-01-22 17:05:25 +08:00
Yuji Sugiura
ce94714c31
feat(tasks): Enable tasks/lint_rules CI (#2118)
Part of #2020

👉🏻  See generated comment on #2117
2024-01-22 15:29:37 +08:00
Boshen
09c7570560
ci: use miri to detect memory leak for the parser (#2037)
We'll merge this and then eventually turn it on as a nightly check, it's
a manual run for now.
2024-01-15 15:11:02 +00:00
Boshen
0f6674563e
chore: remove DSL based linter plugin (#1985)
Due to maintenance issues, we are going to stop exploring a linter based
DSL plugins.
2024-01-11 04:54:39 +00:00
Dunqing
fc7dbd9225
feat(task): codegen test262 runtime test (#1959) 2024-01-10 17:12:11 +08:00
Boshen
a6717db423
refactor(formatter,linter,codegen): remove oxc_formatter (#1968)
closes #1941
2024-01-10 06:41:20 +00:00
Boshen
e550b4bd97
ci(release_oxlint): try fix broken version tag 2024-01-07 01:07:50 +08:00
Boshen
4a9e0c4bf4
Release oxlint and vscode extension v0.1.2 2024-01-07 00:55:21 +08:00
Boshen
42e7557f63
ci: don't generate release notes after release
They'll blow up github because the it'll generate a log for all commits,
since it doesn't know the commit range.
2024-01-06 19:58:22 +08:00
Boshen
ff0d0e053a
fix(vscode): change all names to oxc_language_server 2024-01-06 19:23:08 +08:00
Boshen
3a6d986b05
Release oxlint and vscode extension v0.1.0 2024-01-06 16:44:31 +08:00
Boshen
601153fe8f
refactor(benchmark): use more complicated files (#1811)
closes #1806

---------

Co-authored-by: Dunqing <dengqing0821@gmail.com>
2023-12-25 17:27:02 +08:00
Boshen
2046e85664
ci: fix release vscode 2023-12-18 19:02:56 +08:00