Some checks failed
Test examples / Test Examples (20) (push) Has been cancelled
Test examples / Test Examples (22) (push) Has been cancelled
Lock Threads / action (push) Has been cancelled
Trigger Release / start (push) Has been cancelled
Stale issue handler / stale (push) Has been cancelled
Update Font Data / create-pull-request (push) Has been cancelled
build-and-deploy / deploy-target (push) Has been cancelled
build-and-deploy / build (push) Has been cancelled
build-and-deploy / stable - aarch64-unknown-linux-musl - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-unknown-linux-musl - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-unknown-linux-gnu - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-unknown-linux-gnu - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-pc-windows-msvc - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-pc-windows-msvc - node@16 (push) Has been cancelled
build-and-deploy / stable - aarch64-apple-darwin - node@16 (push) Has been cancelled
build-and-deploy / stable - x86_64-apple-darwin - node@16 (push) Has been cancelled
build-and-deploy / build-wasm (nodejs) (push) Has been cancelled
build-and-deploy / build-wasm (web) (push) Has been cancelled
build-and-deploy / Deploy preview tarball (push) Has been cancelled
build-and-deploy / Potentially publish release (push) Has been cancelled
build-and-deploy / publish-turbopack-npm-packages (push) Has been cancelled
build-and-deploy / Deploy examples (push) Has been cancelled
build-and-deploy / thank you, build (push) Has been cancelled
build-and-deploy / Upload Turbopack Bytesize metrics to Datadog (push) Has been cancelled
Rspack Next.js development integration tests / Rspack integration tests (push) Has been cancelled
Rspack Next.js production integration tests / Rspack integration tests (push) Has been cancelled
Turbopack Next.js development integration tests / Next.js integration tests (push) Has been cancelled
Turbopack Next.js production integration tests / Next.js integration tests (push) Has been cancelled
Update Rspack test manifest / Update and upload Rspack development test manifest (push) Has been cancelled
Update Rspack test manifest / Update and upload Rspack production test manifest (push) Has been cancelled
Upload bundler test manifests to areweturboyet.com / Upload test results (push) Has been cancelled
Update React / create-pull-request (push) Has been cancelled
test-e2e-project-reset-cron / reset-test-project (push) Has been cancelled
Notify about the top 15 issues/PRs/feature requests (most reacted) in the last 90 days / run (push) Has been cancelled
135 lines
4.0 KiB
YAML
135 lines
4.0 KiB
YAML
name: Turbopack Benchmark
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- canary
|
|
pull_request:
|
|
types: ['opened', 'reopened', 'synchronize', 'labeled']
|
|
paths:
|
|
- '**/crates/**'
|
|
- '**/Cargo.toml'
|
|
- '**/Cargo.lock'
|
|
|
|
concurrency:
|
|
# Limit concurrent runs to 1 per PR, but allow concurrent runs on canary branch
|
|
group: ${{ github.event_name == 'pull_request' && format('{0}-{1}', github.workflow, github.event.pull_request.number) || format('{0}-{1}-{2}', github.workflow, github.ref_name, github.run_id) }}
|
|
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'
|
|
|
|
jobs:
|
|
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: cargo-codspeed@3.0.5
|
|
|
|
- name: Cache on ${{ github.ref_name }}
|
|
uses: ijjk/rust-cache@turbo-cache-v1.0.9
|
|
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 corepack@0.31
|
|
corepack enable
|
|
pnpm install --loglevel error
|
|
|
|
- name: Build app build benchmarks
|
|
env:
|
|
CODSPEED_RUNNER_MODE: instrumentation
|
|
run: cargo codspeed build -p turbopack-cli small_apps
|
|
|
|
- name: Run the benchmarks
|
|
uses: CodSpeedHQ/action@v4
|
|
with:
|
|
mode: instrumentation
|
|
run: cargo codspeed run -p turbopack-cli small_apps
|
|
token: ${{ secrets.CODSPEED_TOKEN }}
|
|
|
|
benchmark-analyzer:
|
|
name: Benchmark Rust Crates (analyzer)
|
|
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: cargo-codspeed@3.0.5
|
|
|
|
- name: Cache on ${{ github.ref_name }}
|
|
uses: ijjk/rust-cache@turbo-cache-v1.0.9
|
|
with:
|
|
save-if: 'true'
|
|
cache-provider: 'turbo'
|
|
shared-key: build-turbopack-benchmark-analyzer-${{ hashFiles('.cargo/config.toml') }}
|
|
|
|
- name: Install pnpm dependencies
|
|
working-directory: turbopack/benchmark-apps
|
|
run: |
|
|
npm i -g corepack@0.31
|
|
corepack enable
|
|
pnpm install --loglevel error
|
|
|
|
- name: Build app build benchmarks
|
|
env:
|
|
CODSPEED_RUNNER_MODE: instrumentation
|
|
run: cargo codspeed build -p turbopack-ecmascript references
|
|
|
|
- name: Run the benchmarks
|
|
uses: CodSpeedHQ/action@v4
|
|
with:
|
|
mode: instrumentation
|
|
run: cargo codspeed run -p turbopack-ecmascript references
|
|
token: ${{ secrets.CODSPEED_TOKEN }}
|
|
|
|
benchmark-large:
|
|
name: Benchmark Rust Crates (large)
|
|
if: ${{ github.event.label.name == 'benchmark' || 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: cargo-codspeed@3.0.5
|
|
|
|
- name: Build the benchmark target(s)
|
|
env:
|
|
CODSPEED_RUNNER_MODE: instrumentation
|
|
run: cargo codspeed build -p turbopack -p turbopack-bench
|
|
|
|
- name: Run the benchmarks
|
|
uses: CodSpeedHQ/action@v4
|
|
with:
|
|
mode: instrumentation
|
|
run: cargo codspeed run
|
|
token: ${{ secrets.CODSPEED_TOKEN }}
|