Skip to content

chore: release v5.3.0 (#454) #161

chore: release v5.3.0 (#454)

chore: release v5.3.0 (#454) #161

Workflow file for this run

name: Flamegraphs
on:
push:
branches: [main]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
flamegraph:
name: Generate flamegraphs
runs-on: ubuntu-latest
timeout-minutes: 20
permissions:
contents: write
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
# peaceiris/actions-gh-pages uses its own github_token input;
# no git config credentials are needed for the bench → gh-pages
# publish flow.
persist-credentials: false
- uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
with:
toolchain: stable
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
prefix-key: flamegraph
- name: Install inferno
run: |
if ! command -v inferno-flamegraph &> /dev/null; then
cargo install inferno --locked
fi
- name: Run instrumented benchmarks
run: |
cargo run --release --manifest-path tools/db_bench/Cargo.toml \
--features flamegraph -- \
--benchmark all --num 100000 --flamegraph
- name: Generate flamegraph SVG
run: |
cd target/flamegraphs
inferno-flamegraph --title "db_bench all workloads" all.folded > flamegraph.svg
rm -f all.folded
- name: Deploy to gh-pages
if: github.ref == 'refs/heads/main'
uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4.1.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./target/flamegraphs
destination_dir: flamegraphs/${{ github.sha }}
keep_files: true