Files
oxc-project__oxc/.github/workflows/benchmark.yml
renovate[bot] f412c9aba2 chore(deps): update github actions (#25447)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) |
action | patch | `v5.0.1` → `v5.0.2` | `v5.0.3` |
| [Swatinem/rust-cache](https://redirect.github.com/Swatinem/rust-cache)
| action | patch | `v2.9.1` → `v2.9.2` | |
| [dorny/paths-filter](https://redirect.github.com/dorny/paths-filter) |
action | patch | `v4.0.2` → `v4.0.3` | |
|
[oxc-project/setup-node](https://redirect.github.com/oxc-project/setup-node)
| action | minor | `v1.3.2` → `v1.4.0` | |
|
[samypr100/setup-dev-drive](https://redirect.github.com/samypr100/setup-dev-drive)
| action | minor | `v4.0.0` → `v4.1.0` | |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | patch | `v2.85.5` → `v2.85.9` | `v2.85.11` (+1) |

---

### Release Notes

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

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

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v5.0.1...v5.0.2)

#### What's Changed

- feat: add cycle-estimation and exclude-allocations inputs by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;229](https://redirect.github.com/CodSpeedHQ/action/pull/229)

**Full Changelog**:
<https://github.com/CodSpeedHQ/action/compare/v5.0.1...v5.0.2>

</details>

<details>
<summary>Swatinem/rust-cache (Swatinem/rust-cache)</summary>

###
[`v2.9.2`](https://redirect.github.com/Swatinem/rust-cache/releases/tag/v2.9.2)

[Compare
Source](https://redirect.github.com/Swatinem/rust-cache/compare/v2.9.1...v2.9.2)

##### What's Changed

- Typofix by [@&#8203;23Skidoo](https://redirect.github.com/23Skidoo) in
[#&#8203;316](https://redirect.github.com/Swatinem/rust-cache/pull/316)
- fix: include target names in build/ and .fingerprint/ cleanup by
[@&#8203;eitsupi](https://redirect.github.com/eitsupi) in
[#&#8203;317](https://redirect.github.com/Swatinem/rust-cache/pull/317)
- fix: include cdylib/rlib/dylib/staticlib targets in build and
fingerprint cleanup by
[@&#8203;eitsupi](https://redirect.github.com/eitsupi) in
[#&#8203;320](https://redirect.github.com/Swatinem/rust-cache/pull/320)
- Scan content of `$CARGO_HOME/bin` on restore instead of relying on
`cargo install` metadata by
[@&#8203;clechasseur](https://redirect.github.com/clechasseur) in
[#&#8203;325](https://redirect.github.com/Swatinem/rust-cache/pull/325)
- docs: Update checkout action version to latest by
[@&#8203;sondrelg](https://redirect.github.com/sondrelg) in
[#&#8203;345](https://redirect.github.com/Swatinem/rust-cache/pull/345)
- Fix Windows cache path validation after Rollup migration by
[@&#8203;eitsupi](https://redirect.github.com/eitsupi) in
[#&#8203;355](https://redirect.github.com/Swatinem/rust-cache/pull/355)
- fix: support Cargo V2 build dir layout by
[@&#8203;claytonwramsey](https://redirect.github.com/claytonwramsey) in
[#&#8203;371](https://redirect.github.com/Swatinem/rust-cache/pull/371)

##### New Contributors

- [@&#8203;23Skidoo](https://redirect.github.com/23Skidoo) made their
first contribution in
[#&#8203;316](https://redirect.github.com/Swatinem/rust-cache/pull/316)
- [@&#8203;eitsupi](https://redirect.github.com/eitsupi) made their
first contribution in
[#&#8203;317](https://redirect.github.com/Swatinem/rust-cache/pull/317)
- [@&#8203;clechasseur](https://redirect.github.com/clechasseur) made
their first contribution in
[#&#8203;325](https://redirect.github.com/Swatinem/rust-cache/pull/325)
- [@&#8203;sondrelg](https://redirect.github.com/sondrelg) made their
first contribution in
[#&#8203;345](https://redirect.github.com/Swatinem/rust-cache/pull/345)
- [@&#8203;claytonwramsey](https://redirect.github.com/claytonwramsey)
made their first contribution in
[#&#8203;371](https://redirect.github.com/Swatinem/rust-cache/pull/371)

**Full Changelog**:
<https://github.com/Swatinem/rust-cache/compare/v2.9.1...v2.9.2>

</details>

<details>
<summary>dorny/paths-filter (dorny/paths-filter)</summary>

###
[`v4.0.3`](https://redirect.github.com/dorny/paths-filter/blob/HEAD/CHANGELOG.md#v403)

[Compare
Source](https://redirect.github.com/dorny/paths-filter/compare/v4.0.2...v4.0.3)

- [Document safe handling of file list outputs in
workflows](https://redirect.github.com/dorny/paths-filter/pull/326)
- [Escape multi-line filenames in list-files shell and csv
output](https://redirect.github.com/advisories/GHSA-7hc6-8hq5-9q2m)
- [Add 'some-with-excludes' predicate
quantifier](https://redirect.github.com/dorny/paths-filter/pull/322)
- [Add contents permission to PR
example](https://redirect.github.com/dorny/paths-filter/pull/248)
- [Scope base-ignored warning to API
path](https://redirect.github.com/dorny/paths-filter/pull/319)
- [Update outputs in readme to account for the 'every'
predicate-quantifier](https://redirect.github.com/dorny/paths-filter/pull/247)

</details>

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

###
[`v1.4.0`](https://redirect.github.com/oxc-project/setup-node/releases/tag/v1.4.0)

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

##### What's Changed

- chore(deps): update semgrep/semgrep docker tag to v1.171.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;31](https://redirect.github.com/oxc-project/setup-node/pull/31)
- Stop the pnpm store cache from growing without bound by
[@&#8203;connorshea](https://redirect.github.com/connorshea) in
[#&#8203;33](https://redirect.github.com/oxc-project/setup-node/pull/33)
- chore(deps): update semgrep/semgrep docker tag to v1.172.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;32](https://redirect.github.com/oxc-project/setup-node/pull/32)

##### New Contributors

- [@&#8203;connorshea](https://redirect.github.com/connorshea) made
their first contribution in
[#&#8203;33](https://redirect.github.com/oxc-project/setup-node/pull/33)

**Full Changelog**:
<https://github.com/oxc-project/setup-node/compare/v1.3.2...v1.4.0>

</details>

<details>
<summary>samypr100/setup-dev-drive (samypr100/setup-dev-drive)</summary>

###
[`v4.1.0`](https://redirect.github.com/samypr100/setup-dev-drive/releases/tag/v4.1.0)

[Compare
Source](https://redirect.github.com/samypr100/setup-dev-drive/compare/v4.0.0...v4.1.0)

##### What's Changed

- See
[CHANGELOG.md](https://redirect.github.com/samypr100/setup-dev-drive/blob/v4.1.0/CHANGELOG.md)

**Full Changelog**:
<https://github.com/samypr100/setup-dev-drive/compare/v4.0.0...v4.1.0>

</details>

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

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

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

- Update `zola@latest` to 0.23.1.

- Update `wild@latest` to 0.10.0.

- Update `mise@latest` to 2026.8.2.

- Update `just@latest` to 1.58.0.

- Update `jaq@latest` to 3.1.1.

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

- Update `cargo-crap@latest` to 0.4.2.

- Update `biome@latest` to 2.5.7.

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

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

- Update `zizmor@latest` to 1.29.0.

- Update `typos@latest` to 1.49.0.

- Update `trivy@latest` to 0.73.0.

- Update `tombi@latest` to 1.2.6.

- Update `prek@latest` to 0.4.12.

- Update `mise@latest` to 2026.8.1.

- Update `convco@latest` to 0.7.1.

- Update `cargo-semver-checks@latest` to 0.50.0.

- Update `cargo-crap@latest` to 0.4.1.

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

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

- Update `wasmtime@latest` to 47.0.3.

- Update `uv@latest` to 0.12.1.

- Update `rclone@latest` to 1.75.0.

- Update `kingfisher@latest` to 1.110.0.

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

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

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

- Update `tombi@latest` to 1.2.5.

- Update `mise@latest` to 2026.7.18.

- Update `cargo-neat@latest` to 0.5.3.

- Update `cargo-crap@latest` to 0.4.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:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMi4wIiwidXBkYXRlZEluVmVyIjoiNDQuMTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-09 16:05:54 +00:00

100 lines
3.5 KiB
YAML

# Benchmarks are sharded.
#
# Each benchmark (parser, transformer, etc) runs in parallel in a separate job.
#
# See https://docs.codspeed.io/features/sharded-benchmarks
name: Benchmark
permissions: {}
on:
workflow_dispatch:
pull_request:
types: [opened, synchronize]
paths: &paths
- "crates/**/*.rs"
- "tasks/benchmark/**/*.rs"
- "tasks/common/**/*.rs"
- "Cargo.lock"
- "rust-toolchain.toml"
- ".github/workflows/benchmark.yml"
push:
branches:
- main
paths: *paths
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
determine-matrix:
name: Determine Benchmark
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' || !contains(github.event.pull_request.labels.*.name, '0-merge') }}
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: taiki-e/checkout-action@7d1e50e93dc4fb3bba58f85018fadf77898aee8b # v1.4.2
- name: Determine affected components
id: set-matrix
env:
GITHUB_EVENT_NAME: ${{ github.event_name }}
GITHUB_BASE_REF: ${{ github.base_ref }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_SHA: ${{ github.sha }}
GITHUB_REF: ${{ github.ref }}
GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
MATRIX=$(node .github/scripts/generate-benchmark-matrix.js)
echo "Matrix: $MATRIX"
echo "matrix=$MATRIX" >> $GITHUB_OUTPUT
benchmark:
needs: determine-matrix
if: needs.determine-matrix.outputs.matrix != '[]'
runs-on: ubuntu-latest
permissions:
id-token: write # required for OIDC authentication with CodSpeed
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(needs.determine-matrix.outputs.matrix) }}
name: Bench ${{ matrix.component }}
steps:
- uses: taiki-e/checkout-action@7d1e50e93dc4fb3bba58f85018fadf77898aee8b # v1.4.2
- uses: oxc-project/setup-rust@3d6fb132fbe7cdcb66bf8ec193911c2945369d12 # v1.0.17
with:
cache-key: benchmark-${{ matrix.feature }}
save-cache: ${{ github.ref_name == 'main' }}
tools: cargo-codspeed
# Memory mode reuses these binaries: cargo-codspeed maps both simulation and
# memory modes to the same `analysis` build (`--cfg codspeed`) and directory.
- name: Build benchmark
env:
RUSTFLAGS: "-C debuginfo=1 -C strip=none -g --cfg codspeed"
run: |
if [ "${{ matrix.component }}" = "linter" ]; then
cargo build --release -p oxc_benchmark --bench linter \
--no-default-features --features ${{ matrix.feature }} --features codspeed
else
cargo build --release -p oxc_benchmark \
--bench ${{ matrix.component }} \
--no-default-features --features ${{ matrix.feature }} --features codspeed
fi
mkdir -p target/codspeed/analysis/oxc_benchmark
mv target/release/deps/${{ matrix.component }}-* target/codspeed/analysis/oxc_benchmark
rm target/codspeed/analysis/oxc_benchmark/*.d
- name: Run benchmark
uses: CodSpeedHQ/action@0ca9cbbf4623b599a6c3ed4fc8a922942705d9f1 # v5.0.2
timeout-minutes: 30
with:
mode: ${{ matrix.mode }}
run: cargo codspeed run ${{ matrix.component }}