⬆️ Update Rust crate pyo3 to v0.29.2 #1181
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| 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 |