Commit Graph

1375 Commits

Author SHA1 Message Date
renovate[bot] c65e8ad545 chore(deps): update crate-ci/typos action to v1.46.3 (#22746)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| patch | `v1.46.2` → `v1.46.3` |

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.46.3`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.46.3)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.46.2...v1.46.3)

#### \[1.46.3] - 2026-05-23

##### Fixes

- Don't correct to `sequentials`
- Don't correct to `subdolder`

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-27 01:15:09 +00:00
Dunqing 577405266e chore(deps): update oxc-project/setup-rust to v1.0.17 (#22723)
## Summary

- Bumps `oxc-project/setup-rust` from `v1.0.16` → [`v1.0.17`](https://github.com/oxc-project/setup-rust/releases/tag/v1.0.17) across 12 workflow files.
- `v1.0.17` updates the transitive `Swatinem/rust-cache` pin to [`v2.9.1`](https://github.com/Swatinem/rust-cache/releases/tag/v2.9.1), which runs on `node24`.
- Clears the Node.js 20 deprecation warning emitted on every workflow run. Node 20 actions will be forced to `node24` on **2026-06-02** and removed on **2026-09-16**. See the [GitHub Actions changelog](https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/).

The two direct `Swatinem/rust-cache@c1937114 # v2.9.1` pins in `ci.yml` and `miri-windows.yml` were already on `node24` and don't need changing.
2026-05-25 14:38:27 +00:00
oxc-guard[bot] 50baca037c chore(submodules): update submodule SHAs to latest commits (#22721)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `78fc3f8` → `7e115f4`
- babel: `3d34928` → `d9fe348`
- TypeScript: `f350b52` → `e5509e2`
- estree-conformance: `576e7d8` → `faf089d`


This PR is automatically generated by the [update_submodules
workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).

Co-authored-by: oxc-guard[bot] <276638029+oxc-guard[bot]@users.noreply.github.com>
2026-05-25 22:16:39 +08:00
Boshen 38735dd3d8 ci(release_crates): use crates environment for trusted publishing (#22677)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 22:09:14 +08:00
Yuji Sugiura a4752b2ea5 fix(ci): Specify release-oxc --changelog flag (#22718)
- `cargo-release-oxc` v0.0.42 made changelog generation opt-in via
`--changelog`
  - oxc-project/cargo-release-oxc#236
- The `update` step no longer writes `./target/{NAME}_CHANGELOG`,
breaking both `Prepare Release Apps` and `Prepare Release Crates`
scheduled runs
-
https://github.com/oxc-project/oxc/actions/runs/26395995261/job/77696682742
-
https://github.com/oxc-project/oxc/actions/runs/26396139852/job/77697143129

Added `--changelog` to both `cargo release-oxc update` invocations to
restore previous behavior.
2026-05-25 20:06:08 +08:00
Dunqing d5d0cf345a ci(monitor-oxc): trigger via run-monitor-oxc PR label (#22712)
## Summary

Add `.github/workflows/monitor-oxc.yml`. When a maintainer adds the `run-monitor-oxc` label to a PR, the workflow posts a placeholder comment, mints a GitHub App token, and dispatches `ci.yml` on `oxc-project/monitor-oxc` with `issue-number`, `comment-id`, and `ref: refs/pull/N/head`. monitor-oxc's existing `comment` job then edits the placeholder in place with the per-suite result table.

Consolidates the duplicated dispatch logic in `prepare_release_crates.yml`: the standalone `ecosystem-ci` job (and the now-unused `outputs:` on `prepare`) is replaced by a single `labels: run-monitor-oxc` input on `peter-evans/create-pull-request`. Because the action creates the PR with the App token, attaching the label fires `pull_request: labeled` on `oxc-project/oxc` and re-enters the new workflow.

## Operational notes

- The `run-monitor-oxc` label needs to be created once in repo settings — proposed color `#55e1cc` (same as `run-bench`) with description "Add to a PR to dispatch oxc-project/monitor-oxc CI against it". The workflow's `if:` guard ignores the event when the label name doesn't match, so missing the label only means the workflow does nothing — no errors.
- The GitHub App is already authorized to dispatch into `monitor-oxc` (same `repositories: monitor-oxc` token mint used by the old `ecosystem-ci` job in `prepare_release_crates.yml`).
- One-shot: removing and re-adding the label dispatches a new run. Pushing new commits while the label is still attached does **not** auto-retrigger.

## Behavior delta for release-prep flow

- *Before:* dispatch passed no `ref`, so monitor-oxc defaulted to `main` and tested `oxc-project/oxc@main` as of dispatch time (pre version-bump).
- *After:* dispatch passes `refs/pull/N/head`, so monitor-oxc tests the release PR branch (main + version-bump commit).

Version-bump commits only touch `Cargo.toml` / `package.json` versions — no transformer/codegen/etc. code paths. So monitor-oxc's results are functionally identical; arguably slightly better since it tests the exact code that ships.
2026-05-25 09:46:10 +00:00
renovate a71fedd39c chore(deps): update taiki-e/install-action action to v2.79.4 (#22704)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [taiki-e/install-action](https://redirect.github.com/taiki-e/install-action) | action | patch | `v2.79.3` → `v2.79.4` | `v2.79.7` (+2) |

---

### Release Notes

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

### [`v2.79.4`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.4): 2.79.4

[Compare Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.3...v2.79.4)

- Update `martin@latest` to 1.10.1.

- Update `prek@latest` to 0.4.1.

- Update `protoc@latest` to 3.35.0.

- Update `mdbook@latest` to 0.5.3.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2026-05-25 09:36:10 +00:00
Boshen d1cd344b5a chore(deps): update cargo-shear to 1.12.4 (#22706)
## Summary

- Bump `cargo-shear` from `1.11.2` to `1.12.4` in `justfile`,
`.github/workflows/autofix.yml`, and
`.github/workflows/copilot-setup-steps.yml`.
- Enable `--check-test-targets` (new in 1.12.0) in `just fmt` and the
autofix CI step to flag `test`/`doctest` target settings that don't
match source content; pairs with `--fix` to auto-reconcile.
- Enable `--deny-warnings` and `--format=github` in the autofix CI step
so warnings fail the job (triggering the existing autofix push) and
findings surface as inline PR annotations.
2026-05-25 13:33:54 +08:00
renovate[bot] 6a338b7327 chore(deps): update github actions (#22698)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
|
[benc-uk/workflow-dispatch](https://redirect.github.com/benc-uk/workflow-dispatch)
| action | patch | `v1.3.1` → `v1.3.2` | |
|
[codecov/codecov-action](https://redirect.github.com/codecov/codecov-action)
| action | patch | `v6.0.0` → `v6.0.1` | |
|
[cross-platform-actions/action](https://redirect.github.com/cross-platform-actions/action)
| action | minor | `v1.0.0` → `v1.1.0` | |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | minor | `v2.78.0` → `v2.79.3` | `v2.79.7` (+3) |

---

### Release Notes

<details>
<summary>benc-uk/workflow-dispatch (benc-uk/workflow-dispatch)</summary>

###
[`v1.3.2`](https://redirect.github.com/benc-uk/workflow-dispatch/releases/tag/v1.3.2)

[Compare
Source](https://redirect.github.com/benc-uk/workflow-dispatch/compare/v1.3.1...v1.3.2)

##### What's changed since v1.3.1

##### Added

- New `wait-interval-seconds` input to control how often the action
polls when `wait-for-completion: true`.
([#&#8203;98](https://redirect.github.com/benc-uk/workflow-dispatch/issues/98))

##### Fixed

- Pass `X-GitHub-Api-Version: 2026-03-10` on the dispatch and run-status
REST calls. Removes the GitHub REST API deprecation warning emitted on
every run and makes behaviour deterministic against future
default-version changes.
([#&#8203;103](https://redirect.github.com/benc-uk/workflow-dispatch/issues/103),
fixes
[#&#8203;99](https://redirect.github.com/benc-uk/workflow-dispatch/issues/99))

##### Docs

- Document the existing `sync-status` input.
([#&#8203;93](https://redirect.github.com/benc-uk/workflow-dispatch/issues/93))
- Document `wait-interval-seconds` in the README.
([#&#8203;100](https://redirect.github.com/benc-uk/workflow-dispatch/issues/100))
- Fix typo in README for the `wait-for-completion` option.
([#&#8203;101](https://redirect.github.com/benc-uk/workflow-dispatch/issues/101))

##### Notes

- No breaking changes. No changes to `action.yaml` inputs/outputs beyond
what was already in v1.3.1.
- The floating `v1` and `v1.3` tags have been moved to point at
`v1.3.2`.

**Full changelog**:
<https://github.com/benc-uk/workflow-dispatch/compare/v1.3.1...v1.3.2>

</details>

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

###
[`v6.0.1`](https://redirect.github.com/codecov/codecov-action/releases/tag/v6.0.1)

[Compare
Source](https://redirect.github.com/codecov/codecov-action/compare/v6.0.0...v6.0.1)

#### What's Changed

- fix: prevent template injection in run: steps (VULN-1652) by
[@&#8203;thomasrockhu-codecov](https://redirect.github.com/thomasrockhu-codecov)
in
[#&#8203;1947](https://redirect.github.com/codecov/codecov-action/pull/1947)
- chore(release): 6.0.1 by
[@&#8203;thomasrockhu-codecov](https://redirect.github.com/thomasrockhu-codecov)
in
[#&#8203;1949](https://redirect.github.com/codecov/codecov-action/pull/1949)

**Full Changelog**:
<https://github.com/codecov/codecov-action/compare/v6.0.0...v6.0.1>

</details>

<details>
<summary>cross-platform-actions/action
(cross-platform-actions/action)</summary>

###
[`v1.1.0`](https://redirect.github.com/cross-platform-actions/action/releases/tag/v1.1.0):
Cross Platform Action 1.1.0

[Compare
Source](https://redirect.github.com/cross-platform-actions/action/compare/v1...v1.1.0)

##### Added

- Add support for DragonFly BSD
([#&#8203;19](https://redirect.github.com/cross-platform-actions/action/issues/19))

- Add support for MidnightBSD
([#&#8203;102](https://redirect.github.com/cross-platform-actions/action/issues/102))

- Add support for FreeBSD 14.4
([#&#8203;122](https://redirect.github.com/cross-platform-actions/action/issues/122))

- Add support for OmniOS r151058

- New syntax for multiple steps
([#&#8203;83](https://redirect.github.com/cross-platform-actions/action/issues/83)).
Instead of invoking the action multiple times it's now possible to use a
  custom shell when running commands:

  ```yaml
  jobs:
    custom-shell:
      runs-on: ubuntu-latest
      defaults:
        run:
          shell: cpa.sh {0}

      steps:
        - name: Start VM
          uses: cross-platform-actions/action@master
          with:
            operating_system: freebsd
            architecture: x86-64
            version: '15.0'

        - name: Run command using custom shell
          run: '[ "`uname`" = FreeBSD ]'
  ```

  Each custom-shell step automatically synchronizes files in both
  directions: runner-to-vm before the step runs and vm-to-runner after.
  Pass `--sync-files DIRECTION` after the file argument to change this
  (`both` (default), `none` (skip sync), `runner-to-vm`, or
  `vm-to-runner`), or use `cpa.sh --sync-files` standalone to sync on
  demand without running a command:

  ```yaml
  - name: Sync files from runner to VM
    run: cpa.sh --sync-files runner-to-vm
  ```

- Reboot mode for rebooting the VM and waiting for it to come back up

([#&#8203;103](https://redirect.github.com/cross-platform-actions/action/issues/103),

[#&#8203;118](https://redirect.github.com/cross-platform-actions/action/issues/118)).
`cpa.sh --reboot` issues the reboot and blocks until the VM is reachable
  again:

  ```yaml
  - name: Reboot VM
    run: cpa.sh --reboot
  ```

##### Security

- Bump builders to releases that use immutable releases, providing
  integrity verification for downloaded artifacts

([#&#8203;140](https://redirect.github.com/cross-platform-actions/action/issues/140))

##### Deprecated

- The `run` input parameter has been deprecated and is now optional. Use
the
custom shell (`shell: cpa.sh {0}`) in subsequent steps to run commands
in
  the virtual machine instead.

- The `shutdown_vm` input parameter has been deprecated and will be
removed
in a future release. There is no replacement. When unset, it now
defaults
  to `true` if the `run` parameter is provided (preserving the legacy
behavior) and `false` otherwise (so the VM stays alive across subsequent
  custom-shell steps without needing to specify it).

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.79.3`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.3):
2.79.3

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.2...v2.79.3)

- Update `mise@latest` to 2026.5.12.

- Update `martin@latest` to 1.10.0.

- Update `uv@latest` to 0.11.15.

###
[`v2.79.2`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.2):
2.79.2

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.1...v2.79.2)

- Update `mise@latest` to 2026.5.11.

- Update `vacuum@latest` to 0.26.5.

- Update `cargo-shear@latest` to 1.12.4.

###
[`v2.79.1`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.1):
2.79.1

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.0...v2.79.1)

- Update `tombi@latest` to 0.11.5.

- Update `cargo-nextest@latest` to 0.9.136.

- Update `typos@latest` to 1.46.2.

- Update `mise@latest` to 2026.5.10.

###
[`v2.79.0`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.0):
2.79.0

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.78.3...v2.79.0)

- Support more host architectures.
([#&#8203;1841](https://redirect.github.com/taiki-e/install-action/pull/1841),
thanks [@&#8203;Gelbpunkt](https://redirect.github.com/Gelbpunkt))

- Deprecate `mdbook-alerts` because the feature now included in `mdbook`
and the
[repository](https://redirect.github.com/lambdalisue/rs-mdbook-alerts)
has been archived.
([#&#8203;1844](https://redirect.github.com/taiki-e/install-action/pull/1844))

- Deprecate `iai-callgrind-runner` because it has been
[renamed](https://redirect.github.com/gungraun/gungraun/releases/tag/v0.17.0)
to `gungraun-runner`. `gungraun-runner` is also supported by this
action.
([#&#8203;1844](https://redirect.github.com/taiki-e/install-action/pull/1844))

###
[`v2.78.3`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.78.3):
2.78.3

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.78.2...v2.78.3)

- Update `zizmor@latest` to 1.25.2.

- Update `cargo-zigbuild@latest` to 0.22.3.
([#&#8203;1814](https://redirect.github.com/taiki-e/install-action/pull/1814),
thanks
[@&#8203;simonhollingshead](https://redirect.github.com/simonhollingshead))

- Update `wasm-tools@latest` to 1.249.0.

- Update `gungraun-runner@latest` to 0.19.0.

###
[`v2.78.2`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.78.2):
2.78.2

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.78.1...v2.78.2)

- Update `wasm-pack@latest` to 0.15.0.

- Update `zizmor@latest` to 1.25.0.

- Update `mise@latest` to 2026.5.9.

- Update `cargo-nextest@latest` to 0.9.135.

- Update `cyclonedx@latest` to 0.32.0.

- Update `prek@latest` to 0.4.0.

###
[`v2.78.1`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.78.1):
2.78.1

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.78.0...v2.78.1)

- Update `mise@latest` to 2026.5.7.

- Diagnostic improvements.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-24 20:50:28 +00:00
camc314 779e769ba4 fix(ci): setup node for oxfmt conformance (#22690)
This fixes the failing `Test NAPI Oxfmt` CI job:

https://github.com/oxc-project/oxc/actions/runs/26337525454/job/77533653139

`Test NAPI Oxfmt` has two separate change filters: one for the normal Oxfmt npm tests and one for Oxfmt conformance. `setup-node` was only guarded by the normal test filter, but the conformance steps also run `pnpm`.

In the failed run, the normal Oxfmt filter skipped, so `setup-node` was skipped too. The conformance filter still allowed the conformance fixture step to run, and that failed with `pnpm: command not found`.

This updates the Oxfmt job so `setup-node` runs when either the normal Oxfmt tests or the Oxfmt conformance steps need to run. The final diff check now uses the same combined condition.
2026-05-24 11:32:43 +00:00
Yuji Sugiura 42e448fa2b ci(track-memory-allocations): Run ci on task change (#22614)
Re-generates the snapshots for tracking memory allocations as they were outdated.

Updates CI to ensure that the `allocs` job runs on any changes to `tasks/track_memory_allocations/` to prevent the snapshots from becoming stale again.

---------

Signed-off-by: Cameron <cameron.clark@hey.com>
Co-authored-by: Cameron <cameron.clark@hey.com>
2026-05-21 08:45:19 +01:00
camc314 0a22fd4e01 refactor(ci/issue-close-require): use gh cli over external dependency (#22575) 2026-05-20 01:26:03 +00:00
Cameron 93a516011a refactor(ci/issue-labeled): use gh cli over external dependency (#22574) 2026-05-20 10:24:50 +09:00
renovate[bot] 987046b992 chore(deps): update crate-ci/typos action to v1.46.2 (#22607)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| patch | `v1.46.1` → `v1.46.2` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the warning logs for
more information.

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.46.2`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.46.2)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.46.1...v1.46.2)

#### \[1.46.2] - 2026-05-16

##### Fixes

- Don't correct to `criterias`
- Don't correct to `replaceables`

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-20 01:06:32 +00:00
oxc-guard[bot] ec7de07b08 chore(submodules): update submodule SHAs to latest commits (#22550)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `ccaac10` → `78fc3f8`
- babel: `4079bcd` → `3d34928`
- estree-conformance: `9c67f5e` → `576e7d8`


This PR is automatically generated by the [update_submodules
workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).

Co-authored-by: oxc-guard[bot] <276638029+oxc-guard[bot]@users.noreply.github.com>
2026-05-19 10:46:02 +08:00
leaysgur 37d49fcd40 refactor(oxlint,oxfmt): Share src-js code via apps/shared (#22452)
New place to share code for use in `src-js`, similar to how `crates/oxc_config` works.

Initially, I considered creating an `apps/oxc_cli` and moving `crates/oxc_config` there. However, it felt unnatural deps for `crates/oxc_linter` -> `apps/oxc_cli`, so I decided to keep the Rust code as is for now and share only the JS code.

Since `apps/shared` exports `.ts` files directly, each app is responsible for bundling them via `@oxapps/shared`. Tests still live in `apps/shared`, so separate CI is also added and hooked by each app.

To start, I've only shared the function that reports TS incompatibility errors. This is just for verification purposes and will be fixed in a later PR.
2026-05-18 07:56:26 +00:00
renovate[bot] e700bd35ed chore(deps): update github actions (#22506)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
|
[actions/create-github-app-token](https://redirect.github.com/actions/create-github-app-token)
| action | minor | `v3.1.1` → `v3.2.0` | |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | minor | `v2.77.1` → `v2.78.0` | `v2.79.0` (+3) |

---

### Release Notes

<details>
<summary>actions/create-github-app-token
(actions/create-github-app-token)</summary>

###
[`v3.2.0`](https://redirect.github.com/actions/create-github-app-token/releases/tag/v3.2.0)

[Compare
Source](https://redirect.github.com/actions/create-github-app-token/compare/v3.1.1...v3.2.0)

##### Features

- add support for enterprise-level GitHub Apps
([#&#8203;263](https://redirect.github.com/actions/create-github-app-token/issues/263))
([952a2a7](https://redirect.github.com/actions/create-github-app-token/commit/952a2a7073df6bfa5f49bc469ec895b6ec1acea4))
- support full repository names in `repositories` input
([#&#8203;372](https://redirect.github.com/actions/create-github-app-token/issues/372))
([85eb8dd](https://redirect.github.com/actions/create-github-app-token/commit/85eb8dd41472213aed25d1a126460e0069138ab6))

##### Bug Fixes

- **deps:** bump
[@&#8203;actions/core](https://redirect.github.com/actions/core) from
3.0.0 to 3.0.1 in the production-dependencies group
([#&#8203;364](https://redirect.github.com/actions/create-github-app-token/issues/364))
([43e5c34](https://redirect.github.com/actions/create-github-app-token/commit/43e5c345bfd4d4f3ecea019ad0042001a09dd857))
- validate private-key input
([#&#8203;376](https://redirect.github.com/actions/create-github-app-token/issues/376))
([f24bbd8](https://redirect.github.com/actions/create-github-app-token/commit/f24bbd89643991c0de27ae823c01791b2c6bafdd))

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.78.0`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.78.0):
2.78.0

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.77.7...v2.78.0)

- Support `cargo-mutants`.
([#&#8203;1812](https://redirect.github.com/taiki-e/install-action/pull/1812),
thanks [@&#8203;jakewimmer](https://redirect.github.com/jakewimmer))

- Update `covgate@latest` to 0.2.0.

- Update `cargo-llvm-cov@latest` to 0.8.7.

- Update `uv@latest` to 0.11.14.

- Update `martin@latest` to 1.9.1.

- Update `tombi@latest` to 0.11.4.

###
[`v2.77.7`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.77.7):
2.77.7

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.77.6...v2.77.7)

- Update `mise@latest` to 2026.5.6.

- Update `cargo-deny@latest` to 0.19.6.

###
[`v2.77.6`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.77.6):
2.77.6

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.77.5...v2.77.6)

- Fix `wasm-pack` installation failure.

- Update `mise@latest` to 2026.5.5.

- Update `release-plz@latest` to 0.3.158.

- Update `just@latest` to 1.51.0.

###
[`v2.77.5`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.77.5):
2.77.5

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.77.4...v2.77.5)

- Update `biome@latest` to 2.4.15.

- Update `mise@latest` to 2026.5.4.

- Update `cargo-deny@latest` to 0.19.5.

###
[`v2.77.4`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.77.4):
2.77.4

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.77.3...v2.77.4)

- Update `tombi@latest` to 0.11.1.

- Update `cargo-llvm-cov@latest` to 0.8.6.

- Update `uv@latest` to 0.11.12.

###
[`v2.77.3`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.77.3):
2.77.3

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.77.2...v2.77.3)

- Update `typos@latest` to 1.46.1.

- Update `rclone@latest` to 1.74.1.

- Update `tombi@latest` to 0.11.0.

- Update `osv-scanner@latest` to 2.3.8.

- Update `mise@latest` to 2026.5.3.

###
[`v2.77.2`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.77.2):
2.77.2

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.77.1...v2.77.2)

- Update `martin@latest` to 1.9.0.

- Update `wasm-bindgen@latest` to 0.2.121.

- Update `uv@latest` to 0.11.11.

- Update `mise@latest` to 2026.5.1.

- Update `prek@latest` to 0.3.13.

- Update `tombi@latest` to 0.10.6.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzkuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE3OS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-17 18:21:17 +01:00
overlookmotel 64a7c11ebe fix(ci): prevent corrupt caches on CI on Mac OS (#22485)
"CI: Test Mac" task has been failing often on main branch since we switched to Namespace runners. Cause is creation of a faulty cache, which then gets picked up on next run.

According to Claude this should fix it. Explanation in comment in the diff.
2026-05-16 17:51:52 +00:00
leaysgur 70a1e2a81e ci(oxlint): Run oxlint-napi-test on oxc_config change (#22449) 2026-05-15 09:10:13 +00:00
overlookmotel f5ed139a57 ci(miri): run oxc_allocator tests with Miri on Windows (#22121)
Run the tests for `oxc_allocator` under Miri on Windows on CI.

Set to run on all PRs which touch `oxc_allocator`'s code, but not any other crates.

This is preparation for Windows-specific changes to fixed-size allocators, which contain complex unsafe code.
2026-05-14 22:26:40 +00:00
oxc-guard e68f4fa1c3 chore(submodules): update submodule SHAs to latest commits (#22417)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `d0c1b45` → `ccaac10`
- babel: `6402dbb` → `4079bcd`
- estree-conformance: `d968f2c` → `9c67f5e`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2026-05-14 10:36:57 +00:00
Brooooooklyn 80558c3633 fix(ci): unset TARGET_CC for *-pc-windows-msvc targets (#22344)
## Summary

`Build Oxlint/Oxfmt aarch64-pc-windows-msvc` jobs in `Release Apps` have been failing while compiling `libmimalloc-sys2`:

```
c_src/mimalloc/include/mimalloc/atomic.h:230:14: error: call to undeclared function '__ldar64'
c_src/mimalloc/include/mimalloc/atomic.h:252:7:  error: call to undeclared function '__stlr64'
c_src/mimalloc/include/mimalloc/atomic.h:273:14: error: call to undeclared function '__ldar64'
c_src/mimalloc/include/mimalloc/atomic.h:298:7:  error: call to undeclared function '__stlr64'
error: failed to run custom build command for `libmimalloc-sys2 v0.1.55`
```

(see [this run](https://github.com/oxc-project/oxc/actions/runs/25678327792/job/75390244216))

### Root cause

Three workflow files (`release_apps.yml` and `reusable_release_napi.yml`) set `TARGET_CC: clang # for mimalloc` at job level, applying it to *every* matrix entry — including `aarch64-pc-windows-msvc`.

On `aarch64-pc-windows-msvc`:

1. cc-rs picks `clang` (not `cl.exe`, not `clang-cl`).
2. `libmimalloc-sys/build.rs` only flips `cpp(true)` when `is_like_msvc()` is true, which is **false** for plain `clang` — so `static.c` is compiled as C.
3. clang targeting `*-pc-windows-msvc` defines `_MSC_VER` (for Windows SDK header compatibility), so `mimalloc/atomic.h` takes the `#elif defined(_MSC_VER)` branch.
4. That branch's ARM64 path calls `__ldar64`/`__stlr64` — MSVC-only intrinsics that clang does not provide → compile error.

The x86_64/i686 MSVC builds pass because the x86 atomic path uses `__iso_volatile_load`/`__iso_volatile_store`, which clang does provide. Only ARM64 hits the missing intrinsics.

### Fix

Skip `TARGET_CC=clang` on all `*-pc-windows-msvc` targets so cc-rs falls back to `cl.exe`, which:

- has the `__ldar64`/`__stlr64` intrinsics, and
- triggers `libmimalloc-sys/build.rs`'s `is_like_msvc()` check, which switches the C build to C++ — taking the `std::atomic` branch in `atomic.h`.

This matches what [napi-rs/mimalloc-safe's own CI](https://github.com/napi-rs/mimalloc-safe/blob/main/.github/workflows/CI.yml#L208-L217) does: `TARGET_CC=clang` is only set on `*-gnu*` cross builds.

## Test plan

- [ ] `Release Apps` workflow runs successfully on a release that touches `npm/oxlint/package.json` or `npm/oxfmt/package.json`, including the `aarch64-pc-windows-msvc` matrix entries.
- [ ] `Build *-pc-windows-msvc` jobs in the napi reusable workflow pass.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Touches release CI workflows and alters compiler selection for Windows MSVC matrix entries; while small, it can impact build outputs and release automation if misconfigured.
>
> **Overview**
> Prevents Windows MSVC (notably ARM64) release builds from forcing `TARGET_CC=clang`, which was breaking `mimalloc` compilation.
>
> Updates the `Release Apps` (`oxlint`/`oxfmt`) and reusable NAPI release workflows to set `TARGET_CC` to `clang` only for non-`*-pc-windows-msvc` targets, leaving it unset so `cc-rs` falls back to `cl.exe` on MSVC.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 8b2cab00b89fb48fea5229bc61951525648b6525. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2026-05-12 07:27:09 +00:00
renovate de23fb3b4e chore(deps): update crate-ci/typos action to v1.46.1 (#22327)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action | patch | `v1.46.0` → `v1.46.1` |

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

### [`v1.46.1`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.46.1)

[Compare Source](https://redirect.github.com/crate-ci/typos/compare/v1.46.0...v1.46.1)

#### \[1.46.1] - 2026-05-08

##### Fixes

- Don't correct to `confidentials`

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2026-05-11 14:46:47 +00:00
leaysgur 5558219a11 ci(oxfmt): Separate test filter and conformance filter (#22307) 2026-05-11 08:38:58 +00:00
leaysgur 892ab7e91b ci(oxfmt): Run oxfmt tests on oxc_(formatter|config) change (#22301) 2026-05-11 08:17:01 +00:00
leaysgur fe9eac3847 test(oxfmt): Run conformance on CI (#22298)
For caching fixtures, use nscloud along with the others, also utilizes internal `.digit` directory.
2026-05-11 07:23:46 +00:00
renovate f2e88df9cd chore(deps): update github actions (#22291)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) | action | patch | `v4.15.0` → `v4.15.1` |  |
| [actions/labeler](https://redirect.github.com/actions/labeler) | action | minor | `v6.0.1` → `v6.1.0` |  |
| [oxc-project/security-action](https://redirect.github.com/oxc-project/security-action) | action | patch | `v1.0.3` → `v1.0.5` |  |
| [taiki-e/install-action](https://redirect.github.com/taiki-e/install-action) | action | minor | `v2.75.27` → `v2.77.1` | `v2.77.4` (+2) |

---

### Release Notes

<details>
<summary>CodSpeedHQ/action (CodSpeedHQ/action)</summary>

### [`v4.15.1`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.15.1)

[Compare Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.15.0...v4.15.1)

#### Release Notes

##### <!-- 0 -->🚀 Features

- Add a way to disable perf compression through env var by [@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#&#8203;334](https://redirect.github.com/CodSpeedHQ/runner/pull/334)
- Do not display the comparison nudge when not in an interactive terminal by [@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#&#8203;300](https://redirect.github.com/CodSpeedHQ/runner/pull/300)
- Display a warning when profiling generation failed by [@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Detect and abort on ring buffer overflow by [@&#8203;not-matthias](https://redirect.github.com/not-matthias) in [#&#8203;321](https://redirect.github.com/CodSpeedHQ/runner/pull/321)
- Grow ring buffer to 16 MiB by [@&#8203;not-matthias](https://redirect.github.com/not-matthias)

##### <!-- 7 -->⚙️ Internals

- chore: bump runner version to 4.15.1 by [@&#8203;github-actions](https://redirect.github.com/github-actions)\[bot] in [#&#8203;205](https://redirect.github.com/CodSpeedHQ/action/pull/205)
- Increase stack sampling for python by [@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#&#8203;337](https://redirect.github.com/CodSpeedHQ/runner/pull/337)
- Replace hard coded lint job for a dedicated check action by [@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#&#8203;320](https://redirect.github.com/CodSpeedHQ/runner/pull/320)
- Bump cpp-linter-hooks to support darwin by [@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Swap pre-commit action for prek by [@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Fix unused clippy errors in test targets on macos by [@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Run pre-commit hooks on macos and ubuntu-latest by [@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)

#### Install codspeed-runner 4.15.1

##### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.15.1/codspeed-runner-installer.sh | sh
```

#### Download codspeed-runner 4.15.1

| File                                                                                                                                                                    | Platform            | Checksum                                                                                                                              |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| [codspeed-runner-aarch64-apple-darwin.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.15.1/codspeed-runner-aarch64-apple-darwin.tar.gz)             | Apple Silicon macOS | [checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.15.1/codspeed-runner-aarch64-apple-darwin.tar.gz.sha256)       |
| [codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.15.1/codspeed-runner-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux    | [checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.15.1/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.15.1/codspeed-runner-x86_64-unknown-linux-musl.tar.gz)  | x64 MUSL Linux      | [checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.15.1/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256)  |

**Full Runner Changelog**: <https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md>

**Full Changelog**: <https://github.com/CodSpeedHQ/action/compare/v4.15.0...v4.15.1>

</details>

<details>
<summary>actions/labeler (actions/labeler)</summary>

### [`v6.1.0`](https://redirect.github.com/actions/labeler/releases/tag/v6.1.0)

[Compare Source](https://redirect.github.com/actions/labeler/compare/v6.0.1...v6.1.0)

#### Enhancements

- Add changed-files-labels-limit and max-files-changed configuration options to cap the number of labels added by [@&#8203;bluca](https://redirect.github.com/bluca) in [#&#8203;923](https://redirect.github.com/actions/labeler/pull/923)

#### Bug Fixes

- Improve Labeler Action documentation and permission error handling by [@&#8203;chiranjib-swain](https://redirect.github.com/chiranjib-swain) in [#&#8203;897](https://redirect.github.com/actions/labeler/pull/897)
- Preserve manually added labels during workflow runs and refine label synchronization logic by [@&#8203;chiranjib-swain](https://redirect.github.com/chiranjib-swain) in [#&#8203;917](https://redirect.github.com/actions/labeler/pull/917)

#### Dependency Updates

- Upgrade brace-expansion from 1.1.11 to 1.1.12 and document breaking changes in v6 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [#&#8203;877](https://redirect.github.com/actions/labeler/pull/877)
- Upgrade minimatch from 10.0.1 to 10.2.3 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [#&#8203;926](https://redirect.github.com/actions/labeler/pull/926)
- Upgrade dependencies ([@&#8203;actions/core](https://redirect.github.com/actions/core), [@&#8203;actions/github](https://redirect.github.com/actions/github), js-yaml, minimatch, [@&#8203;typescript-eslint](https://redirect.github.com/typescript-eslint)) by [@&#8203;Copilot](https://redirect.github.com/Copilot) in [#&#8203;934](https://redirect.github.com/actions/labeler/pull/934)

#### New Contributors

- [@&#8203;chiranjib-swain](https://redirect.github.com/chiranjib-swain) made their first contribution in [#&#8203;897](https://redirect.github.com/actions/labeler/pull/897)
- [@&#8203;bluca](https://redirect.github.com/bluca) made their first contribution in [#&#8203;923](https://redirect.github.com/actions/labeler/pull/923)
- [@&#8203;Copilot](https://redirect.github.com/Copilot) made their first contribution in [#&#8203;934](https://redirect.github.com/actions/labeler/pull/934)

**Full Changelog**: <https://github.com/actions/labeler/compare/v6...v6.1.0>

</details>

<details>
<summary>oxc-project/security-action (oxc-project/security-action)</summary>

### [`v1.0.5`](https://redirect.github.com/oxc-project/security-action/compare/v1.0.4...v1.0.5)

[Compare Source](https://redirect.github.com/oxc-project/security-action/compare/v1.0.4...v1.0.5)

### [`v1.0.4`](https://redirect.github.com/oxc-project/security-action/compare/v1.0.3...v1.0.4)

[Compare Source](https://redirect.github.com/oxc-project/security-action/compare/v1.0.3...v1.0.4)

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

### [`v2.77.1`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.77.1): 2.77.1

[Compare Source](https://redirect.github.com/taiki-e/install-action/compare/v2.77.0...v2.77.1)

- Support `taiki-e/install-action@rust` tag.

- Update `tombi@latest` to 0.10.3.

- Update `martin@latest` to 1.8.2.

### [`v2.77.0`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.77.0): 2.77.0

[Compare Source](https://redirect.github.com/taiki-e/install-action/compare/v2.76.0...v2.77.0)

- Support `rust`. ([#&#8203;1779](https://redirect.github.com/taiki-e/install-action/pull/1779))

  This installs rust using rustup.

  If rustup is not yet installed, this action downloads [rustup-init for the current platform](https://rust-lang.github.io/rustup/installation/other.html#manual-installation) using HTTPS with tlsv1.2+, verifies SHA256 checksum, and then installs rustup using it.

  This also supports installing additional components at the same time by `+<additional>` syntax:

  ```yaml
  - uses: taiki-e/install-action@v2
    with:
      # Install rust stable with rustfmt component and wasm32-wasip1 target.
      tool: rust+rustfmt+wasm32-wasip1
      # When installing another rust version:
      # tool: rust@nightly + rustfmt + wasm32-wasip1
  ```

- Fix issue where x86\_64 binary will be installed on AArch64 Windows even when AArch64 Windows binary available.

- Update `mise@latest` to 2026.5.0.

- Diagnostic improvements.

### [`v2.76.0`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.76.0): 2.76.0

[Compare Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.30...v2.76.0)

- Support `mdbook-d2`. ([#&#8203;1737](https://redirect.github.com/taiki-e/install-action/pull/1737), thanks [@&#8203;nhu](https://redirect.github.com/nhu))

- Support `cargo-apple-runner`. ([#&#8203;1731](https://redirect.github.com/taiki-e/install-action/pull/1731), thanks [@&#8203;madsmtm](https://redirect.github.com/madsmtm))

- Support `cargo-binstall` on riscv64 Linux.

- Update `cargo-deb@latest` to 3.7.0.

- Update `tombi@latest` to 0.10.2.

### [`v2.75.30`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.75.30): 2.75.30

[Compare Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.29...v2.75.30)

- Support `cargo-spellcheck` on AArch64 Linux/Windows.

- Update `cargo-spellcheck@latest` to 0.15.7.

- Update `biome@latest` to 2.4.14.

### [`v2.75.29`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.75.29): 2.75.29

[Compare Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.28...v2.75.29)

- Update `syft@latest` to 1.44.0.

- Update `rclone@latest` to 1.74.0.

- Update `osv-scanner@latest` to 2.3.6.

### [`v2.75.28`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.75.28): 2.75.28

[Compare Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.27...v2.75.28)

- Update `wasmtime@latest` to 44.0.1.

- Update `typos@latest` to 1.46.0.

- Update `tombi@latest` to 0.10.1.

- Update `sccache@latest` to 0.15.0.

- Update `mise@latest` to 2026.4.28.

- Update `gungraun-runner@latest` to 0.18.2.

- Update `cyclonedx@latest` to 0.31.0.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2026-05-10 19:19:23 +00:00
yoshi-taka af27cf9576 perf(ci): use filter blob:none for release metadata checkout (#22105)
## Summary

Use `filter: blob:none` for checkout in `release_apps.yml`.

This workflow builds release artifacts across many targets, so it still
needs the working tree at `HEAD`. The goal here is not to avoid checking
out source files, but to avoid downloading unnecessary historical blobs
during checkout.

## Why

The release workflow checks out the repository in several jobs before
building oxlint artifacts. A blobless partial clone keeps commits and
trees available while omitting blobs that are not needed unless a later
Git operation asks for them.

This should reduce checkout transfer size without changing the build
behavior.

## Notes

- The working tree for `HEAD` is still available.
- If a later step needs a missing blob from history, Git can fetch it
lazily.
- No functional change intended.

## Verification

- Release workflow checkout succeeds.
- Build steps continue to run against the checked-out source tree.

## AI Disclosure

This change was identified using my CI analysis tool:
https://github.com/yoshi-taka/ci-perf-lint

The patch and reasoning were validated manually.

Parts of this PR description were assisted by AI.
2026-05-07 14:35:43 +08:00
oxc-guard[bot] 550052a096 chore(submodules): update submodule SHAs to latest commits (#22170)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `2b2ecea` → `d0c1b45`
- babel: `c543b03` → `6402dbb`
- TypeScript: `c7a0ae1` → `f350b52`
- estree-conformance: `e4104a1` → `d968f2c`


This PR is automatically generated by the [update_submodules
workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).

Co-authored-by: oxc-guard[bot] <276638029+oxc-guard[bot]@users.noreply.github.com>
2026-05-06 09:19:12 +01:00
overlookmotel e6ddc9cf09 ci(pr): restore PR labeling for internal PRs (#21962)
#21566 removed PR labelling for security reasons - it used
`pull_request_target` event, which is a security hazard.

I noticed its absense, and missed it! Have been labelling all my PRs by
hand.

Restore PR labelling only for "internal" PRs. This can work with
`pull_request` target.

I've added it as a separate workflow `pr-label.yml`, instead of adding
it back to the `pr.yml` workflow, so that the `pull-requests: write`
permission is scoped just to the job that needs it. "Check PR Title"
doesn't need this permission.

Claude tells me we could also support labelling external PRs by using
`workflow_run` event instead:

> `workflow_run` runs in base-repo context with a write token, and
avoids `pull_request_target`'s privileged-context hazard.

But I'm not confident enough in what he's saying, or in my own GitHub
Actions chops, to propose that. So this is a "middle way" which I think
is less risky.
2026-05-06 10:15:06 +08:00
camc314 ed9b4933ad feat(ci): require full insta snapshot match (#22136)
this prevents the old format of the insta snapshot from being merged as a PR, and enforces that only the newer version is supported.

This should prevent unecessary diffs and prevent PRs such as #22135.

~Note: it's expected that the CI will fail on this PR until #22135 is merged~
2026-05-05 09:43:17 +00:00
camc314 9d385e9b89 fix(ci/release-apps): skip validate rule versions if no new release (#22112)
`Validate rule versions` now runs only when the oxlint package version changed. This avoids running oxlint rule-version validation for releases that only update other app packages.

This should pervent failures such as https://github.com/oxc-project/oxc/actions/runs/25299302016/job/74163331967
2026-05-04 10:57:29 +00:00
renovate[bot] 0679c008d5 chore(deps): update github actions (#22099)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) |
action | minor | `v4.14.0` → `v4.15.0` | |
|
[oxc-project/security-action](https://redirect.github.com/oxc-project/security-action)
| action | patch | `v1.0.2` → `v1.0.3` | |
|
[oxc-project/setup-node](https://redirect.github.com/oxc-project/setup-node)
| action | minor | `v1.2.0` → `v1.3.0` | |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | patch | `v2.75.22` → `v2.75.27` | `v2.75.30` (+2) |

---

### Release Notes

<details>
<summary>CodSpeedHQ/action (CodSpeedHQ/action)</summary>

###
[`v4.15.0`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.15.0)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.14.0...v4.15.0)

#### Release Notes

This release adds first support for macOS walltime.

Please note that profiling and other instruments are not yet available
on macOS and will come in a later update.

##### Minimum integration versions

- [`pytest-codspeed`
v4.5.0](https://redirect.github.com/CodSpeedHQ/pytest-codspeed/releases/tag/v4.5.0)
- [`codspeed-rust`
v4.6.0](https://redirect.github.com/CodSpeedHQ/codspeed-rust/releases/tag/v4.6.0)
- [`codspeed-cpp`
v2.3.0](https://redirect.github.com/CodSpeedHQ/codspeed-cpp/releases/tag/v2.3.0)
- [`codspeed-go`
v1.2.0](https://redirect.github.com/CodSpeedHQ/codspeed-go/releases/tag/v1.2.0)
- [`codspeed-node`
v5.4.0](https://redirect.github.com/CodSpeedHQ/codspeed-node/releases/tag/v5.4.0)

##### <!-- 0 -->🚀 Features

- Revert logo changes by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Display N/A rather than NaN/inf in the benchmarks results table by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;314](https://redirect.github.com/CodSpeedHQ/runner/pull/314)
- Only wrap walltime command with sudo on linux by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Add `--with-token` flag to read token from stdin by
[@&#8203;fargito](https://redirect.github.com/fargito) in
[#&#8203;313](https://redirect.github.com/CodSpeedHQ/runner/pull/313)
- Warn when libc debug info is not found by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;310](https://redirect.github.com/CodSpeedHQ/runner/pull/310)
- Resolve debug info and symbols from separate debug files by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;303](https://redirect.github.com/CodSpeedHQ/runner/pull/303)

##### <!-- 6 -->🧪 Testing

- Add libc debuglink/build-id fixtures by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Add stripped binary and debug file test fixtures by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)

##### <!-- 7 -->⚙️ Internals

- chore: bump runner version to 4.15.0 by
[@&#8203;github-actions](https://redirect.github.com/github-actions)\[bot]
in [#&#8203;204](https://redirect.github.com/CodSpeedHQ/action/pull/204)
- Bump exec-harness version
- Add macos basic run test by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;319](https://redirect.github.com/CodSpeedHQ/runner/pull/319)
- Remove DumpPerfMapAtExit in favor of custom dumper by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;295](https://redirect.github.com/CodSpeedHQ/runner/pull/295)

#### Install codspeed-runner 4.15.0

##### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.15.0/codspeed-runner-installer.sh | sh
```

#### Download codspeed-runner 4.15.0

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
| ------------------- |
-------------------------------------------------------------------------------------------------------------------------------------
|
|
[codspeed-runner-aarch64-apple-darwin.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.15.0/codspeed-runner-aarch64-apple-darwin.tar.gz)
| Apple Silicon macOS |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.15.0/codspeed-runner-aarch64-apple-darwin.tar.gz.sha256)
|
|
[codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.15.0/codspeed-runner-aarch64-unknown-linux-musl.tar.gz)
| ARM64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.15.0/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.15.0/codspeed-runner-x86_64-unknown-linux-musl.tar.gz)
| x64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.15.0/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256)
|

**Full Runner Changelog**:
<https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md>

**Full Changelog**:
<https://github.com/CodSpeedHQ/action/compare/v4.14.0...v4.15.0>

</details>

<details>
<summary>oxc-project/security-action
(oxc-project/security-action)</summary>

###
[`v1.0.3`](https://redirect.github.com/oxc-project/security-action/compare/v1.0.2...v1.0.3)

[Compare
Source](https://redirect.github.com/oxc-project/security-action/compare/v1.0.2...v1.0.3)

</details>

<details>
<summary>oxc-project/setup-node (oxc-project/setup-node)</summary>

###
[`v1.3.0`](https://redirect.github.com/oxc-project/setup-node/compare/v1.2.0...v1.3.0)

[Compare
Source](https://redirect.github.com/oxc-project/setup-node/compare/v1.2.0...v1.3.0)

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.75.27`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.75.27):
2.75.27

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.26...v2.75.27)

- Update `cargo-udeps@latest` to 0.1.61.

- Update `wasm-tools@latest` to 1.248.0.

- Update `cargo-deb@latest` to 3.6.4.

###
[`v2.75.26`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.75.26):
2.75.26

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.25...v2.75.26)

- Update `wasm-bindgen@latest` to 0.2.120.

- Update `mise@latest` to 2026.4.25.

- Update `martin@latest` to 1.8.0.

- Update `vacuum@latest` to 0.26.4.

###
[`v2.75.25`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.75.25):
2.75.25

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.24...v2.75.25)

- Update `uv@latest` to 0.11.8.

- Update `typos@latest` to 1.45.2.

- Update `tombi@latest` to 0.9.25.

- Update `mise@latest` to 2026.4.24.

###
[`v2.75.24`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.75.24):
2.75.24

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.23...v2.75.24)

- Update `prek@latest` to 0.3.11.

- Update `mise@latest` to 2026.4.23.

- Update `vacuum@latest` to 0.26.3.

###
[`v2.75.23`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.75.23):
2.75.23

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.22...v2.75.23)

- Update `vacuum@latest` to 0.26.2.

- Update `tombi@latest` to 0.9.24.

- Update `mise@latest` to 2026.4.22.

- Update `martin@latest` to 1.7.0.

- Update `git-cliff@latest` to 2.13.1.

- Update `cargo-tarpaulin@latest` to 0.35.4.

- Update `cargo-sort@latest` to 2.1.4.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-03 20:11:38 +01:00
renovate[bot] 57153423f2 chore(deps): update crate-ci/typos action to v1.46.0 (#22098)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| minor | `v1.45.2` → `v1.46.0` |

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.46.0`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.46.0)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.45.2...v1.46.0)

#### \[1.46.0] - 2026-04-30

##### Features

- Updated the dictionary with the [April
2026](https://redirect.github.com/crate-ci/typos/issues/1531) changes

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-03 20:11:07 +01:00
camc314 a48f94b650 ci(miri): pin version to nightly-2026-05-01 (#22028)
Pins Miri to the latest published nightly, nightly-2026-05-01, now that the previously referenced issue is fixed. This addresses the Miri workflow failure seen in https://github.com/oxc-project/oxc/actions/runs/25215216986/job/73934017722?pr=22026.
2026-05-01 13:16:07 +00:00
overlookmotel d5d1a23afd ci(pr): ignore graphite-base branches in PR workflow (#21961)
`branches-ignore: "/graphite-base/"` was added to this workflow in #18775, but was removed in #21566.

I _think_ this removal was an unintended byproduct of the valid security-related change, and we should bring it back to avoid pointless CI runs.
2026-04-30 13:57:51 +00:00
renovate[bot] de74d5f61b chore(deps): update crate-ci/typos action to v1.45.2 (#21856)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| patch | `v1.45.1` → `v1.45.2` |

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.45.2`](https://redirect.github.com/crate-ci/typos/compare/v1.45.1...v1.45.2)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.45.1...v1.45.2)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-27 18:34:28 +01:00
Boshen 5b20d41681 ci(release): gate apps publish and notify core (#21816) 2026-04-27 20:51:22 +08:00
Boshen 1f3568180f chore(ci): remove claude and pullfrog workflows (#21819) 2026-04-27 11:52:36 +08:00
Boshen 24f0b5870a ci(security): run security analysis on ubuntu-latest (#21807) 2026-04-27 08:07:33 +08:00
renovate[bot] eb0c97b321 chore(deps): update github-actions (#21790)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) |
action | minor | `v4.13.1` → `v4.14.0` |
|
[anthropics/claude-code-action](https://redirect.github.com/anthropics/claude-code-action)
| action | patch | `v1.0.101` → `v1.0.107` |
|
[namespacelabs/nscloud-cache-action](https://redirect.github.com/namespacelabs/nscloud-cache-action)
| action | patch | `v1.4.2` → `v1.4.3` |
|
[oxc-project/security-action](https://redirect.github.com/oxc-project/security-action)
| action | patch | `v1.0.0` → `v1.0.2` |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | patch | `v2.75.18` → `v2.75.22` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/action (CodSpeedHQ/action)</summary>

###
[`v4.14.0`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.14.0)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.13.1...v4.14.0)

#### Release Notes

We now collect buildtime and runtime environment data to warn users
about differences in their runtime environment when comparing two runs
against one another.

This data includes toolchain metadata like version and build options, as
well as a list of dynamically loaded linked libraries.

##### Minimum integration versions

To support the runtime metadata collection, make sure to use at least
the following versions:

- [`pytest-codspeed`
v4.4.0](https://redirect.github.com/CodSpeedHQ/pytest-codspeed/releases/tag/v4.4.0)
- [`codspeed-rust`
v4.5.0](https://redirect.github.com/CodSpeedHQ/codspeed-rust/releases/tag/v4.5.0)
- [`codspeed-cpp`
v2.2.0](https://redirect.github.com/CodSpeedHQ/codspeed-cpp/releases/tag/v2.2.0)
- [`codspeed-go`
v1.1.0](https://redirect.github.com/CodSpeedHQ/codspeed-go/releases/tag/v1.1.0)
- [`codspeed-node`
v5.3.0](https://redirect.github.com/CodSpeedHQ/codspeed-node/releases/tag/v5.3.0)

##### <!-- 0 -->🚀 Features

- Stop panicking when parsing invalid perf file by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;298](https://redirect.github.com/CodSpeedHQ/runner/pull/298)
- Make the basic run only 5 rounds to make logs not crash the github
page by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Represent the host OS as a SupportedOs enum with per-executor support
gates by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Bypass systemd-run usage on macos by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Add aarch64-apple-darwin to the release targets by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Collect cpu flags in system info by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;281](https://redirect.github.com/CodSpeedHQ/runner/pull/281)

##### <!-- 1 -->🐛 Bug Fixes

- Fix instropected\_go's behavior on macos by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Update rust crate git2 to 0.20.4
([#&#8203;284](https://redirect.github.com/CodSpeedHQ/action/issues/284))
by [@&#8203;xtqqczze](https://redirect.github.com/xtqqczze) in
[#&#8203;284](https://redirect.github.com/CodSpeedHQ/runner/pull/284)

##### <!-- 7 -->⚙️ Internals

- chore: bump runner version to 4.14.0 by
[@&#8203;github-actions](https://redirect.github.com/github-actions)\[bot]
in [#&#8203;203](https://redirect.github.com/CodSpeedHQ/action/pull/203)
- Move the config schema check from pre-commit to ci-only check by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;287](https://redirect.github.com/CodSpeedHQ/runner/pull/287)
- Skip tests that rely on linux behavior by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Bump instrument-hooks submodule to include stubs improvement by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Rerun exec harness build if instrument hooks sources change by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Make update-bindings.sh PWD agnostic by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)

#### Install codspeed-runner 4.14.0

##### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.14.0/codspeed-runner-installer.sh | sh
```

#### Download codspeed-runner 4.14.0

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
| ------------------- |
-------------------------------------------------------------------------------------------------------------------------------------
|
|
[codspeed-runner-aarch64-apple-darwin.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.14.0/codspeed-runner-aarch64-apple-darwin.tar.gz)
| Apple Silicon macOS |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.14.0/codspeed-runner-aarch64-apple-darwin.tar.gz.sha256)
|
|
[codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.14.0/codspeed-runner-aarch64-unknown-linux-musl.tar.gz)
| ARM64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.14.0/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.14.0/codspeed-runner-x86_64-unknown-linux-musl.tar.gz)
| x64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.14.0/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256)
|

**Full Runner Changelog**:
<https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md>

**Full Changelog**:
<https://github.com/CodSpeedHQ/action/compare/v4.13.1...v4.14.0>

</details>

<details>
<summary>anthropics/claude-code-action
(anthropics/claude-code-action)</summary>

###
[`v1.0.107`](https://redirect.github.com/anthropics/claude-code-action/releases/tag/v1.0.107)

[Compare
Source](https://redirect.github.com/anthropics/claude-code-action/compare/v1.0.106...v1.0.107)

**Full Changelog**:
<https://github.com/anthropics/claude-code-action/compare/v1...v1.0.107>

###
[`v1.0.106`](https://redirect.github.com/anthropics/claude-code-action/releases/tag/v1.0.106)

[Compare
Source](https://redirect.github.com/anthropics/claude-code-action/compare/v1.0.105...v1.0.106)

**Full Changelog**:
<https://github.com/anthropics/claude-code-action/compare/v1...v1.0.106>

###
[`v1.0.105`](https://redirect.github.com/anthropics/claude-code-action/releases/tag/v1.0.105)

[Compare
Source](https://redirect.github.com/anthropics/claude-code-action/compare/v1.0.104...v1.0.105)

##### What's Changed

- fix: allow + in branch names (generated by Claude Code EnterWorktree)
by [@&#8203;awakia](https://redirect.github.com/awakia) in
[#&#8203;1248](https://redirect.github.com/anthropics/claude-code-action/pull/1248)

##### New Contributors

- [@&#8203;awakia](https://redirect.github.com/awakia) made their first
contribution in
[#&#8203;1248](https://redirect.github.com/anthropics/claude-code-action/pull/1248)

**Full Changelog**:
<https://github.com/anthropics/claude-code-action/compare/v1...v1.0.105>

###
[`v1.0.104`](https://redirect.github.com/anthropics/claude-code-action/releases/tag/v1.0.104)

[Compare
Source](https://redirect.github.com/anthropics/claude-code-action/compare/v1.0.103...v1.0.104)

**Full Changelog**:
<https://github.com/anthropics/claude-code-action/compare/v1...v1.0.104>

###
[`v1.0.103`](https://redirect.github.com/anthropics/claude-code-action/releases/tag/v1.0.103)

[Compare
Source](https://redirect.github.com/anthropics/claude-code-action/compare/v1.0.102...v1.0.103)

**Full Changelog**:
<https://github.com/anthropics/claude-code-action/compare/v1...v1.0.103>

###
[`v1.0.102`](https://redirect.github.com/anthropics/claude-code-action/releases/tag/v1.0.102)

[Compare
Source](https://redirect.github.com/anthropics/claude-code-action/compare/v1.0.101...v1.0.102)

##### What's Changed

- chore: bump oven-sh/setup-bun to v2.2.0 (Node.js 24) by
[@&#8203;ashwin-ant](https://redirect.github.com/ashwin-ant) in
[#&#8203;1238](https://redirect.github.com/anthropics/claude-code-action/pull/1238)
- docs: nit updates to security.md by
[@&#8203;OctavianGuzu](https://redirect.github.com/OctavianGuzu) in
[#&#8203;1240](https://redirect.github.com/anthropics/claude-code-action/pull/1240)

**Full Changelog**:
<https://github.com/anthropics/claude-code-action/compare/v1...v1.0.102>

</details>

<details>
<summary>namespacelabs/nscloud-cache-action
(namespacelabs/nscloud-cache-action)</summary>

###
[`v1.4.3`](https://redirect.github.com/namespacelabs/nscloud-cache-action/releases/tag/v1.4.3)

[Compare
Source](https://redirect.github.com/namespacelabs/nscloud-cache-action/compare/v1.4.2...v1.4.3)

##### What's Changed

- Add npm mode by [@&#8203;rcrowe](https://redirect.github.com/rcrowe)
in
[#&#8203;118](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/118)

- Use repeated --path arguments instead of comma-separated values by
[@&#8203;annervisser](https://redirect.github.com/annervisser) in
[#&#8203;112](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/112)

- Bump the minor-actions-dependencies group across 1 directory with 7
updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;115](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/115)

- Add manual-paths mode test with multiple paths by
[@&#8203;annervisser](https://redirect.github.com/annervisser) in
[#&#8203;111](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/111)

- Bump the minor-npm-dependencies group across 1 directory with 6
updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;116](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/116)

- Add major-actions-dependencies Dependabot group by
[@&#8203;rcrowe](https://redirect.github.com/rcrowe) in
[#&#8203;119](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/119)

- Upgrade
[@&#8203;namespacelabs/actions-toolkit](https://redirect.github.com/namespacelabs/actions-toolkit)
to 0.3.0 by [@&#8203;rcrowe](https://redirect.github.com/rcrowe) in
[#&#8203;125](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/125)

- Bump the major-actions-dependencies group across 1 directory with 4
updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;123](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/123)

- Bump the minor-actions-dependencies group across 1 directory with 3
updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;122](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/122)

- Bump eslint from 9.39.4 to 10.2.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;121](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/121)

- Bump typescript from 5.9.3 to 6.0.2 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;120](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/120)

- Bump [@&#8203;eslint/js](https://redirect.github.com/eslint/js) from
9.39.4 to 10.0.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;102](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/102)

- Bump typescript from 6.0.2 to 6.0.3 in the minor-npm-dependencies
group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;126](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/126)

**Full Changelog**:
<https://github.com/namespacelabs/nscloud-cache-action/compare/v1...v1.4.3>

</details>

<details>
<summary>oxc-project/security-action
(oxc-project/security-action)</summary>

###
[`v1.0.2`](https://redirect.github.com/oxc-project/security-action/compare/v1.0.1...v1.0.2)

[Compare
Source](https://redirect.github.com/oxc-project/security-action/compare/v1.0.1...v1.0.2)

###
[`v1.0.1`](https://redirect.github.com/oxc-project/security-action/compare/v1.0.0...v1.0.1)

[Compare
Source](https://redirect.github.com/oxc-project/security-action/compare/v1.0.0...v1.0.1)

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.75.22`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.75.22):
2.75.22

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.21...v2.75.22)

- Update `tombi@latest` to 0.9.22.

- Update `biome@latest` to 2.4.13.

###
[`v2.75.21`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.75.21):
2.75.21

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.20...v2.75.21)

- Update `mise@latest` to 2026.4.19.

- Update `tombi@latest` to 0.9.21.

- Update `syft@latest` to 1.43.0.

###
[`v2.75.20`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.75.20):
2.75.20

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.19...v2.75.20)

- Update `prek@latest` to 0.3.10.

- Update `cargo-xwin@latest` to 0.22.0.

###
[`v2.75.19`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.75.19):
2.75.19

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.75.18...v2.75.19)

- Update `wasmtime@latest` to 44.0.0.

- Update `tombi@latest` to 0.9.20.

- Update `martin@latest` to 1.6.0.

- Update `just@latest` to 1.50.0.

- Update `mise@latest` to 2026.4.18.

- Update `rclone@latest` to 1.73.5.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-26 18:15:29 +00:00
camc314 f0dc688d7e fix(ci): allow comma-separated PR title scopes (#21650)
This was permitted before 861036f436, I assume it was just an oversight when migrating from the action to the regex
2026-04-23 07:38:58 +00:00
camc314 8564142b07 ci(linter): check generated oxlint config types (#21648) 2026-04-22 18:38:20 +00:00
Boshen 861036f436 ci(tools): replace action-semantic-pull-request with inline regex (#21631)
## Summary

- Replace `amannn/action-semantic-pull-request` with a ~10-line inline
bash check (`grep -E` against the title).
- No external action to pin or upgrade; no `pull-requests: read` token
permission needed (title comes from the event payload).
- Same trigger, same 12-type allowlist, same required-scope enforcement
— behavior is equivalent.
- Adds `reopened` to the trigger types so the check re-runs when a PR is
reopened.
- Drops the `if: github.repository == 'oxc-project/oxc'` guard so forks
can still run the check locally if they want.

The regex is tuned to the scopes oxc actually uses (`[a-z0-9/_-]+`,
matches e.g. `linter/sort-keys`, `transformer/typescript`, `oxfmt/lsp`).
Failure output uses `::error::` so the reason shows directly on the PR
checks UI.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 12:22:14 +08:00
overlookmotel eb89608c60 ci(tools): run rustdoc with --all-features (#21427)
`just doc` run rustdoc with `--all-features` flag.

I discovered that `just doc` was not, for example, catching errors in doc comments in #21425, because the code is behind a feature which is not enabled by default.
2026-04-22 01:03:34 +00:00
renovate eb901b8720 chore(deps): update npm packages (#21556)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [@codspeed/vitest-plugin](https://codspeed.io) ([source](https://redirect.github.com/CodSpeedHQ/codspeed-node)) | [`5.2.0` → `5.3.0`](https://renovatebot.com/diffs/npm/@codspeed%2fvitest-plugin/5.2.0/5.3.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@codspeed%2fvitest-plugin/5.3.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@codspeed%2fvitest-plugin/5.3.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@codspeed%2fvitest-plugin/5.2.0/5.3.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@codspeed%2fvitest-plugin/5.2.0/5.3.0?slim=true) |
| [@emnapi/core](https://redirect.github.com/toyobayashi/emnapi) | [`1.9.2` → `1.10.0`](https://renovatebot.com/diffs/npm/@emnapi%2fcore/1.9.2/1.10.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@emnapi%2fcore/1.10.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@emnapi%2fcore/1.10.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@emnapi%2fcore/1.9.2/1.10.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@emnapi%2fcore/1.9.2/1.10.0?slim=true) |
| [@emnapi/runtime](https://redirect.github.com/toyobayashi/emnapi) | [`1.9.2` → `1.10.0`](https://renovatebot.com/diffs/npm/@emnapi%2fruntime/1.9.2/1.10.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@emnapi%2fruntime/1.10.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@emnapi%2fruntime/1.10.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@emnapi%2fruntime/1.9.2/1.10.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@emnapi%2fruntime/1.9.2/1.10.0?slim=true) |
| [@napi-rs/wasm-runtime](https://napi.rs/) ([source](https://redirect.github.com/napi-rs/napi-rs/tree/HEAD/wasm-runtime)) | [`1.1.3` → `1.1.4`](https://renovatebot.com/diffs/npm/@napi-rs%2fwasm-runtime/1.1.3/1.1.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fwasm-runtime/1.1.4?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fwasm-runtime/1.1.4?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fwasm-runtime/1.1.3/1.1.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fwasm-runtime/1.1.3/1.1.4?slim=true) |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.58.1` → `8.58.2`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.58.1/8.58.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.58.2?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/8.58.2?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/8.58.1/8.58.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.58.1/8.58.2?slim=true) |
| [@typescript-eslint/scope-manager](https://typescript-eslint.io/packages/scope-manager) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager)) | [`8.58.1` → `8.58.2`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fscope-manager/8.58.1/8.58.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fscope-manager/8.58.2?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fscope-manager/8.58.2?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fscope-manager/8.58.1/8.58.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fscope-manager/8.58.1/8.58.2?slim=true) |
| [@typescript-eslint/visitor-keys](https://typescript-eslint.io) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys)) | [`8.58.1` → `8.58.2`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fvisitor-keys/8.58.1/8.58.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fvisitor-keys/8.58.2?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fvisitor-keys/8.58.2?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fvisitor-keys/8.58.1/8.58.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fvisitor-keys/8.58.1/8.58.2?slim=true) |
| [type-fest](https://redirect.github.com/sindresorhus/type-fest) | [`5.5.0` → `5.6.0`](https://renovatebot.com/diffs/npm/type-fest/5.5.0/5.6.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/type-fest/5.6.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/type-fest/5.6.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/type-fest/5.5.0/5.6.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/type-fest/5.5.0/5.6.0?slim=true) |

---

### Release Notes

<details>
<summary>CodSpeedHQ/codspeed-node (@&#8203;codspeed/vitest-plugin)</summary>

### [`v5.3.0`](https://redirect.github.com/CodSpeedHQ/codspeed-node/releases/tag/v5.3.0)

[Compare Source](https://redirect.github.com/CodSpeedHQ/codspeed-node/compare/v5.2.0...v5.3.0)

#### What's Changed

We now collect buildtime and runtime environment data to warn users about differences in their runtime environment when comparing two runs against one another.

This data includes toolchain metadata like version and build options, as well as a list of dynamically loaded linked libraries.

- feat(fi): add memory profiling by [@&#8203;not-matthias](https://redirect.github.com/not-matthias) in [#&#8203;73](https://redirect.github.com/CodSpeedHQ/codspeed-node/pull/73)
- feat: dump node process information when running by [@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#&#8203;77](https://redirect.github.com/CodSpeedHQ/codspeed-node/pull/77)
- chore: bump instrument-hooks to dump linked libraries by [@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#&#8203;78](https://redirect.github.com/CodSpeedHQ/codspeed-node/pull/78)

**Full Changelog**: <https://github.com/CodSpeedHQ/codspeed-node/compare/v5.2.0...v5.3.0>

</details>

<details>
<summary>toyobayashi/emnapi (@&#8203;emnapi/core)</summary>

### [`v1.10.0`](https://redirect.github.com/toyobayashi/emnapi/releases/tag/v1.10.0)

[Compare Source](https://redirect.github.com/toyobayashi/emnapi/compare/v1.9.2...v1.10.0)

##### What's Changed

- fix: early update wasm memory for views (<https://github.com/hardfist/emnapi-shared-memory-grow-repro>)
- fix!: `napi_adjust_external_memory` no longer grow wasm memory
- fix: add missing `from64` wrap
- fix: coalesce tsfn (js version) send message
- ci: restructure CI workflows
- ci: prebuilt liraries using llvm 22

Thanks [@&#8203;hardfist](https://redirect.github.com/hardfist)

**Full Changelog**: <https://github.com/toyobayashi/emnapi/compare/v1.9.2...v1.10.0>

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/wasm-runtime)</summary>

### [`v1.1.4`](https://redirect.github.com/napi-rs/napi-rs/blob/HEAD/wasm-runtime/CHANGELOG.md#114-2026-04-15)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/wasm-runtime@1.1.3...@napi-rs/wasm-runtime@1.1.4)

##### Bug Fixes

- **wasm-runtime:** preserve full bigint values in fs proxy codec ([#&#8203;3233](https://redirect.github.com/napi-rs/napi-rs/issues/3233)) ([0cb8eef](https://redirect.github.com/napi-rs/napi-rs/commit/0cb8eefad83938daa6a0f377f2708890d9f4b6bf))

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v8.58.2`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8582-2026-04-13)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.58.1...v8.58.2)

##### 🩹 Fixes

- remove tsbuildinfo cache file from published packages ([#&#8203;12187](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12187))

##### ❤️ Thank You

- Abhijeet Singh [@&#8203;cseas](https://redirect.github.com/cseas)

See [GitHub Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.58.2) for more information.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/scope-manager)</summary>

### [`v8.58.2`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/scope-manager/CHANGELOG.md#8582-2026-04-13)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.58.1...v8.58.2)

##### 🩹 Fixes

- remove tsbuildinfo cache file from published packages ([#&#8203;12187](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12187))

##### ❤️ Thank You

- Abhijeet Singh [@&#8203;cseas](https://redirect.github.com/cseas)

See [GitHub Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.58.2) for more information.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/visitor-keys)</summary>

### [`v8.58.2`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/visitor-keys/CHANGELOG.md#8582-2026-04-13)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.58.1...v8.58.2)

##### 🩹 Fixes

- remove tsbuildinfo cache file from published packages ([#&#8203;12187](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12187))

##### ❤️ Thank You

- Abhijeet Singh [@&#8203;cseas](https://redirect.github.com/cseas)

See [GitHub Releases](https://redirect.github.com/typescript-eslint/typescript-eslint/releases/tag/v8.58.2) for more information.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>sindresorhus/type-fest (type-fest)</summary>

### [`v5.6.0`](https://redirect.github.com/sindresorhus/type-fest/releases/tag/v5.6.0)

[Compare Source](https://redirect.github.com/sindresorhus/type-fest/compare/v5.5.0...v5.6.0)

##### New types

- [`Absolute`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/absolute.d.ts) ([#&#8203;1391](https://redirect.github.com/sindresorhus/type-fest/issues/1391))  [`7761f91`](https://redirect.github.com/sindresorhus/type-fest/commit/7761f91)
- [`NonNullableDeep`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/non-nullable-deep.d.ts) ([#&#8203;1401](https://redirect.github.com/sindresorhus/type-fest/issues/1401))  [`1e8bd10`](https://redirect.github.com/sindresorhus/type-fest/commit/1e8bd10)
- [`UnionLength`](https://redirect.github.com/sindresorhus/type-fest/blob/main/source/union-length.d.ts) ([#&#8203;1402](https://redirect.github.com/sindresorhus/type-fest/issues/1402))  [`49142db`](https://redirect.github.com/sindresorhus/type-fest/commit/49142db)

##### Improvements

- Add `splitOnPunctuation` option to `CamelCase` / `PascalCase` / `KebabCase` / `SnakeCase` ([#&#8203;1394](https://redirect.github.com/sindresorhus/type-fest/issues/1394))  [`852d016`](https://redirect.github.com/sindresorhus/type-fest/commit/852d016)
- `CamelCase`: Add `preserveLeadingUnderscores` option ([#&#8203;1404](https://redirect.github.com/sindresorhus/type-fest/issues/1404))  [`5ca6564`](https://redirect.github.com/sindresorhus/type-fest/commit/5ca6564)
- `TsConfigJson`: Add TypeScript 6.0 fields ([#&#8203;1406](https://redirect.github.com/sindresorhus/type-fest/issues/1406))  [`ac4861d`](https://redirect.github.com/sindresorhus/type-fest/commit/ac4861d)
- `UnionToTuple`: Fix behavior with large unions ([#&#8203;1405](https://redirect.github.com/sindresorhus/type-fest/issues/1405))  [`651f7ea`](https://redirect.github.com/sindresorhus/type-fest/commit/651f7ea)

***

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2026-04-21 09:09:36 +00:00
Old Autumn fe23965191 feat(linter/release): automate oxlint rule version updates (#21392)
## Summary

This PR covers the release automation follow-up from #19890.

It replaces the earlier Rust-based prototype with a small Node script,
`.github/scripts/update-rule-versions.js`, that scans
`declare_oxc_lint!` declarations under `crates/oxc_linter/src/rules/**`
and:

- rewrites stable `version = "next"` entries to the actual oxlint
release version during release prep
- leaves `nursery` rules on `version = "next"`
- reuses the same script during release CI and fails if rerunning it
would still rewrite tracked rule files, so no stable `version = "next"`
remains at release time
- prints a simple change report
- supports `--dry-run` for local verification

The implementation also now hardens a few failure modes that came up
during review:

- comment-only lines inside `declare_oxc_lint!` blocks are ignored when
parsing metadata
- trailing `// ...` and single-line `/* ... */` comments on metadata
lines are handled correctly
- multi-line block comments on metadata lines and macro terminators are
handled correctly
- doc examples inside the macro block that mention `version = "next"`
are not misclassified as invalid matches
- symlinked entries under the lint rules tree are rejected instead of
being silently skipped
- the script still fails if `version = "next"` is found outside a
`declare_oxc_lint!` block

Workflow changes:

- `.github/workflows/prepare_release_apps.yml` sets up Node and runs the
rewrite script after `cargo release-oxc update`
- `.github/workflows/release_apps.yml` sets up Node, reruns the script
with the released oxlint version, and then checks `git diff --exit-code
-- crates/oxc_linter/src/rules`

## Testing

```bash
node --test .github/scripts/update-rule-versions.test.js
node .github/scripts/update-rule-versions.js --root . --release-version 1.61.0 --dry-run
cargo check -p oxc_linter --locked
```

## Notes

This PR intentionally does not include the docs/website wiring from
#19890.
That should stay in a follow-up PR since it touches a different data
flow and also involves `oxc-project/website#937`.

## AI Usage Disclosure

I used AI assistance to help inspect the release workflows, compare the
implementation direction against the maintainer feedback, and draft the
initial automation changes. I manually reviewed the final
implementation, added the regression tests for the workflow guard and
parser edge cases above, ran the checks listed here, and remain
responsible for the final code and submission.

---------

Co-authored-by: Cam McHenry <camchenry@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>
2026-04-20 17:53:52 +01:00
Boshen a006da8368 ci: remove pull_request_target from PR workflow (#21566)
## Summary

- Replace the `Check PR` workflow trigger from `pull_request_target` to
`pull_request`.
- Remove the label-writing tasks from this workflow.
- Keep semantic PR title validation with read-only pull request
permissions.

## Rationale

We are banning `pull_request_target` without trying to reason about what
this workflow currently does, because the trigger runs in a privileged
context and is too dangerous to allow by default.

## Testing

- `ruby -e 'require "psych";
Psych.safe_load(File.read(".github/workflows/pr.yml"), aliases: true);
puts "ok"'`\n- `git diff --check`\n- `zizmor
.github/workflows/pr.yml`\n\n## AI disclosure\n\nThis PR was prepared
with AI assistance.
2026-04-20 13:30:45 +08:00
Boshen 7884ec6715 ci: make security analysis required-check friendly (#21565)
Updates the security workflow so the required check is always created
for pull requests, while keeping the workflow-file path filter on pushes
to main. Also switches the job to the ubuntu-slim runner for this
lightweight security scan.

Validation:
- /tmp/zizmor-1.24.1/bin/zizmor --config
/Users/boshen/github/oxc-project/security-action/zizmor.yml
--strict-collection --show-audit-urls=always --min-severity=medium .
- git diff --check
2026-04-20 12:44:48 +08:00
Boshen 65f9195ff8 ci: eliminate redundant network round-trip in clone-parallel.mjs (#20593)
## Summary

- Replace `git clone --depth 1` with `git init` + `git remote add` for
fresh submodule directories, so `git fetch --depth 1 origin <sha>` is
the only network operation
- Remove redundant `remote set-url` that ran after a fresh clone (the
URL was already correct from the clone command)
- Merge the "directory exists but no .git" and "directory doesn't exist"
branches into a single code path

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 11:51:10 +08:00