Skip to content

Codspeed runner

Codspeed runner #12

Workflow file for this run

name: CodSpeed
on:
push:
branches: [master]
pull_request: # Allow CodSpeed to trigger backtest performance analysis
issue_comment:
types: [created]
workflow_dispatch:
permissions:
contents: read
id-token: write
concurrency:
group: ${{ github.workflow }}-${{ github.job }}-${{ github.event.pull_request.number || github.event.issue.number || github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash -e -l {0}
jobs:
benchmarks:
name: Run benchmarks
runs-on: codspeed-macro
if: |
github.event_name != 'issue_comment' ||
(github.event.issue.pull_request &&
contains(github.event.comment.body, '/run-benchmarks') &&
(github.event.comment.author_association == 'OWNER' ||
github.event.comment.author_association == 'MEMBER' ||
github.event.comment.author_association == 'COLLABORATOR'))
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
ref: ${{ github.event_name == 'issue_comment' && format('refs/pull/{0}/head', github.event.issue.number) || github.ref }}
- name: Set conda environment
uses: mamba-org/setup-micromamba@main
with:
environment-name: myenv
environment-file: environment-dev.yml
init-shell: bash
cache-downloads: true
- name: Build benchmarks
run: |
cmake -G Ninja -Bbuild \
-DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
-DBUILD_BENCHMARK=ON \
-DXTENSOR_USE_XSIMD=ON \
-DCODSPEED_MODE=walltime
cmake --build build --target benchmark_xtensor --parallel 8
- name: Run benchmarks
uses: CodSpeedHQ/action@v4
with:
mode: walltime
run: ./build/benchmark/benchmark_xtensor