name: Benchmark on: workflow_dispatch: pull_request: types: [opened, synchronize] paths: - '**/*.rs' - 'Cargo.lock' push: branches: - main paths: - '**/*.rs' - 'Cargo.lock' 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 with: submodules: true # Pull submodules for additional files - name: Install Rust Toolchain uses: ./.github/actions/rustup with: shared-key: benchmark save-cache: ${{ github.ref_name == 'main' }} - name: Install codspeed uses: taiki-e/install-action@v2 with: tool: cargo-codspeed - name: Build Benchmark run: cargo codspeed build --features codspeed -p oxc_benchmark - name: Run benchmark uses: CodSpeedHQ/action@v1 with: run: cargo codspeed run token: ${{ secrets.CODSPEED_TOKEN }}