Skip to content

⬆️ Update Rust crate pyo3 to v0.29.2 #1181

⬆️ Update Rust crate pyo3 to v0.29.2

⬆️ Update Rust crate pyo3 to v0.29.2 #1181

Workflow file for this run

---
name: CodSpeed
# yamllint disable-line rule:truthy
on:
push:
branches: ["main"]
pull_request:
workflow_dispatch:
# Cancel superseded runs for the same ref to save CI minutes.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
benchmarks:
name: Run performance benchmarks
runs-on: ubuntu-latest
permissions:
contents: read # actions/checkout reads the repository
id-token: write # CodSpeed authenticates via OpenID Connect (no stored token)
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: 🏗 Set up uv and Python
uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
with:
enable-cache: true
python-version: "3.13"
- name: 🏗 Set up Rust
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # zizmor: ignore[superfluous-actions,stale-action-refs,impostor-commit] stable; canonical pinned Rust toolchain installer
- name: 🏗 Install dependencies
run: uv sync --locked --no-install-project --no-default-groups --group build --group codspeed
- name: 🏗 Build and install yamlrocks
# Optimized build so CodSpeed measures the instruction counts users get,
# but keep the symbol table and debug line info so CodSpeed attributes
# costs to functions instead of reporting "unknown symbol". `release`
# strips symbols by default; these env overrides change only that metadata
# (LTO/opt-level/codegen-units are untouched, so the measured counts match
# the shipped wheels). The binary is only used for this benchmark run.
env:
CARGO_PROFILE_RELEASE_STRIP: "false"
CARGO_PROFILE_RELEASE_DEBUG: "line-tables-only"
run: uv run --no-sync maturin develop --release --locked
- name: 🚀 Run benchmarks under CodSpeed
uses: CodSpeedHQ/action@4296e51e7041e24dadb86d1d6e8b9320d223dbe8 # v5.0.3
with:
mode: simulation
run: uv run --no-sync pytest bench --codspeed