diff --git a/.github/workflows/pr_benchmarks.yml b/.github/workflows/pr_benchmarks.yml index 958908719a..a5d076ca81 100644 --- a/.github/workflows/pr_benchmarks.yml +++ b/.github/workflows/pr_benchmarks.yml @@ -15,7 +15,7 @@ jobs: steps: - id: get_branch if: github.event.pull_request.merged == true && github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository - run: echo "branch_name=master" >> "$GITHUB_OUTPUT" + run: echo "branch_name=main" >> "$GITHUB_OUTPUT" backup_branch: runs-on: ubuntu-latest @@ -26,8 +26,7 @@ jobs: if: github.event.pull_request.merged == true || github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository run: echo "branch_name=$GITHUB_REF_NAME" >> "$GITHUB_OUTPUT" - - benchmark_pr_with_bencher: + benchmark_pr_with_bencher_iai: needs: [target_branch, backup_branch] permissions: pull-requests: write @@ -37,7 +36,37 @@ jobs: BENCHER_PROJECT: sl-sh BENCHER_TESTBED: ubuntu-latest BENCHER_ADAPTER: rust_iai_callgrind - BRANCH: ${{ needs.target_branch.outputs.branch_name || needs.backup_branch.outputs.branch_name || github.event.pull_request.base.ref || 'master' }} + BRANCH: ${{ needs.target_branch.outputs.branch_name || needs.backup_branch.outputs.branch_name || github.event.pull_request.base.ref || 'main' }} + steps: + - run: sudo apt-get update + - run: sudo apt install -y valgrind gnuplot + - uses: actions/checkout@v4 + - uses: bencherdev/bencher@main + - run: cargo install iai-callgrind-runner --version 0.10.2 + - name: cargo test --no-run benches (debug mode) to check compile + run: cargo test --benches --no-run + - name: Track Benchmarks with Bencher + run: | + echo "Running bencher for branch ${BRANCH}." + bencher run \ + --if-branch "${BRANCH}" \ + --else-if-branch "main" \ + --github-actions "${{ secrets.GITHUB_TOKEN }}" \ + --token "${{ secrets.BENCHER_API_TOKEN }}" \ + --err \ + "cargo bench --all" + + benchmark_pr_with_bencher_criterion: + needs: [target_branch, backup_branch] + permissions: + pull-requests: write + name: Continuous Benchmarking with Bencher + runs-on: ubuntu-latest + env: + BENCHER_PROJECT: sl-sh + BENCHER_TESTBED: ubuntu-latest + BENCHER_ADAPTER: rust_criterion + BRANCH: ${{ needs.target_branch.outputs.branch_name || needs.backup_branch.outputs.branch_name || github.event.pull_request.base.ref || 'main' }} steps: - run: sudo apt-get update - run: sudo apt install -y valgrind gnuplot @@ -46,12 +75,13 @@ jobs: - run: cargo install iai-callgrind-runner --version 0.10.2 - name: cargo test --no-run benches (debug mode) to check compile run: cargo test --benches --no-run + - name: Track Benchmarks with Bencher run: | - echo "Running bencher for branch $BRANCH." + echo "Running bencher for branch ${BRANCH}." bencher run \ - --if-branch "$BRANCH" \ - --else-if-branch "master" \ + --if-branch "${BRANCH}" \ + --else-if-branch "main" \ --github-actions "${{ secrets.GITHUB_TOKEN }}" \ --token "${{ secrets.BENCHER_API_TOKEN }}" \ --err \