Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions .github/workflows/benchmark-policy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,12 @@ permissions:
issues: read

concurrency:
group: >-
benchmark-policy-${{ github.event.pull_request.number }}-${{ ((github.event.action == 'labeled' || github.event.action == 'unlabeled') && github.event.label.name != 'benchmarks: skip' || github.event.action == 'edited' && !github.event.changes.base) && github.run_id || 'current' }}
group: benchmark-policy-${{ github.event.pull_request.number }}
cancel-in-progress: true

jobs:
policy:
name: >-
${{ ((github.event.action == 'labeled' || github.event.action == 'unlabeled') && github.event.label.name != 'benchmarks: skip' || github.event.action == 'edited' && !github.event.changes.base) && 'Ignored policy event' || 'Benchmark Policy' }}
if: >-
${{ (!(github.event.action == 'labeled' || github.event.action == 'unlabeled') || github.event.label.name == 'benchmarks: skip') && (github.event.action != 'edited' || github.event.changes.base) }}
name: Benchmark Policy
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
Expand Down
10 changes: 4 additions & 6 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,15 @@ permissions:
issues: read

concurrency:
group: >-
benchmark-${{ github.event.pull_request.number || github.ref }}-${{ ((github.event.action == 'labeled' || github.event.action == 'unlabeled') && github.event.label.name != 'benchmarks: skip' || github.event.action == 'edited' && !github.event.changes.base) && github.run_id || 'current' }}
group: benchmark-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
CARGO_TERM_COLOR: always

jobs:
eligibility:
if: >-
github.event_name == 'pull_request' && (!(github.event.action == 'labeled' || github.event.action == 'unlabeled') || github.event.label.name == 'benchmarks: skip') && (github.event.action != 'edited' || github.event.changes.base)
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
timeout-minutes: 10
outputs:
Expand Down Expand Up @@ -256,8 +254,8 @@ jobs:

# Provide one required check that also reports failed, skipped, or cancelled stages.
benchmark-status:
name: ${{ needs.eligibility.result != 'skipped' && 'Benchmark Status' || 'Ignored benchmark event' }}
if: ${{ always() && github.event_name == 'pull_request' && needs.eligibility.result != 'skipped' }}
name: Benchmark Status
if: ${{ always() && github.event_name == 'pull_request' }}
needs: [eligibility, configure, producer, prepare, measure, collect]
runs-on: ubuntu-latest
timeout-minutes: 5
Expand Down
1 change: 1 addition & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ The preview URL then returns 404.
## CI Rules

* `benchmarks: skip` skips measurement and result publication. Dependabot applies it automatically.
* Required checks evaluate the current PR policy on every subscribed event. Label and description edits restart the benchmark workflow. Measurements run unless `benchmarks: skip` is present.
* Each of the 36 measurement jobs runs all three strategies sequentially with a fresh server process for each. Retrying a job repeats its three strategies.
* Preview builds run independently of benchmarks. Draft and Dependabot PRs have no preview.
* Production uses published history. Previews include matching pending results when available.
Expand Down
Loading
Loading