Skip to content

ci: integrated-benchmark #2

ci: integrated-benchmark

ci: integrated-benchmark #2

name: Integrated-Benchmark
on:
workflow_dispatch:
pull_request:
types: [opened, synchronize]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
permissions:
issues: write
pull-requests: write
jobs:
benchmark:
strategy:
matrix:
os: [ubuntu-latest]
name: Run benchmark on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install Rust Toolchain
uses: ./.github/actions/rustup
with:
shared-key: integrated-benchmark
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 8
run_install: false
standalone: true
- name: Install verdaccio
run: pnpm install --global verdaccio
- name: Compile
run: cargo build --bin=integrated-benchmark
- name: 'Benchmark: Frozen Lockfile'
run: |
cargo run --bin=integrated-benchmark -- --scenario=frozen-lockfile --verdaccio HEAD main
cp bench-work-env/BENCHMARK_REPORT.md bench-work-env/BENCHMARK_REPORT_FROZEN_LOCKFILE.md
- name: Generate summary
run: |
(
echo '## Integrated-Benchmark Report'
echo
echo '### Scenario: Frozen Lockfile'
echo
cat bench-work-env/BENCHMARK_REPORT_FROZEN_LOCKFILE.md
) > bench-work-env/SUMMARY.md
- name: Find Comment
# Check if the event is not triggered by a fork
if: github.event.pull_request.head.repo.full_name == github.repository
uses: peter-evans/find-comment@v2
id: fc
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
body-includes: Integrated-Benchmark Report
- name: Create or update comment
# Check if the event is not triggered by a fork
if: github.event.pull_request.head.repo.full_name == github.repository
uses: peter-evans/create-or-update-comment@v3
with:
issue-number: ${{ github.event.pull_request.number }}
edit-mode: replace
comment-id: ${{ steps.fc.outputs.comment-id }}
body-file: bench-work-env/SUMMARY.md