Skip to content

[devtools] Add a query parameter to restart endpoint to invalidate the persistent cache #150

[devtools] Add a query parameter to restart endpoint to invalidate the persistent cache

[devtools] Add a query parameter to restart endpoint to invalidate the persistent cache #150

name: Turbopack Benchmark
on:
workflow_dispatch:
push:
branches:
- canary
paths:
- '**/crates/**'
- '**/Cargo.toml'
- '**/Cargo.lock'
pull_request:
types: ['opened', 'reopened', 'synchronize']
paths:
- '**/crates/**'
- '**/Cargo.toml'
- '**/Cargo.lock'
concurrency:
group: ${{ github.workflow }}-${{ github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
env:
CI: 1
CARGO_INCREMENTAL: 0
# For faster CI
RUST_LOG: 'off'
TURBO_TEAM: 'vercel'
TURBO_CACHE: 'remote:rw'
TURBO_TOKEN: ${{ secrets.HOSTED_TURBO_TOKEN }}
jobs:
benchmark-tiny:
name: Benchmark Rust Crates (tiny)
runs-on: ['self-hosted', 'linux', 'x64', 'metal']
steps:
- uses: actions/checkout@v4
- name: Setup Rust toolchain
uses: ./.github/actions/setup-rust
- name: Install cargo-codspeed
uses: taiki-e/install-action@v2
with:
tool: [email protected]
- name: Build the benchmark target(s)
run: cargo codspeed build -p turbo-rcstr -p turbopack-ecmascript
- name: Run the benchmarks
uses: CodSpeedHQ/action@v3
with:
run: cargo codspeed run
token: ${{ secrets.CODSPEED_TOKEN }}
benchmark-small-apps:
name: Benchmark Rust Crates (small apps)
runs-on: ['self-hosted', 'linux', 'x64', 'metal']
steps:
- uses: actions/checkout@v4
- name: Setup Rust toolchain
uses: ./.github/actions/setup-rust
- name: Install cargo-codspeed
uses: taiki-e/install-action@v2
with:
tool: [email protected]
- name: Cache on ${{ github.ref_name }}
uses: ijjk/[email protected]
with:
save-if: 'true'
cache-provider: 'turbo'
shared-key: build-turbopack-benchmark-small-apps-${{ hashFiles('.cargo/config.toml') }}
- name: Install pnpm dependencies
working-directory: turbopack/benchmark-apps
run: |
npm i -g [email protected]
corepack enable
pnpm install --loglevel error
- name: Build app build benchmarks
run: cargo codspeed build -p turbopack-cli small_apps
- name: Run the benchmarks
uses: CodSpeedHQ/action@v3
with:
run: cargo codspeed run
token: ${{ secrets.CODSPEED_TOKEN }}
benchmark-large:
name: Benchmark Rust Crates (large)
# If the task is triggered manually, we want to run the large benchmarks
if: ${{ github.event_name == 'workflow_dispatch' }}
runs-on: ['self-hosted', 'linux', 'x64', 'metal']
steps:
- uses: actions/checkout@v4
- name: Setup Rust toolchain
uses: ./.github/actions/setup-rust
- name: Install cargo-codspeed
uses: taiki-e/install-action@v2
with:
tool: [email protected]
- name: Build the benchmark target(s)
run: cargo codspeed build -p turbopack -p turbopack-bench
- name: Run the benchmarks
uses: CodSpeedHQ/action@v3
with:
run: cargo codspeed run
token: ${{ secrets.CODSPEED_TOKEN }}