name: Benchmark on: workflow_dispatch: pull_request: types: [opened, synchronize] paths: - '**/*.rs' - 'Cargo.lock' - '!.github/workflows/benchmark.yml' push: branches: - main paths: - '**/*.rs' - 'Cargo.lock' - '!.github/workflows/benchmark.yml' concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} cancel-in-progress: true jobs: benchmark: name: Benchmark runs-on: ubuntu-latest steps: - name: Checkout Branch uses: actions/checkout@v4 - name: Install Rust uses: moonrepo/setup-rust@v1 # Cache everything to speed up compilation with: cache-base: main - name: Install codspeed uses: taiki-e/install-action@v2 with: tool: cargo-codspeed - name: Build Benchmark env: RUSTFLAGS: "-C debuginfo=2 -C strip=none" run: cargo codspeed build --features codspeed -p oxc_benchmark - name: Run benchmark uses: CodSpeedHQ/action@v2 timeout-minutes: 30 with: run: cargo codspeed run token: ${{ secrets.CODSPEED_TOKEN }}