build(deps): bump taiki-e/install-action from 2.85.7 to 2.85.8 #3427
Workflow file for this run
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: Benchmarks | |
| on: | |
| push: | |
| branches: | |
| - "master" | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| rust: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| strategy: | |
| matrix: | |
| include: | |
| - name: jsonschema | |
| package: jsonschema | |
| features: "--features macros" | |
| benches: "--bench jsonschema --bench keywords --bench errors --bench location --bench metaschema --bench unevaluated_items --bench unevaluated_properties" | |
| - name: codegen | |
| package: jsonschema | |
| features: "--features macros" | |
| benches: "--bench codegen" | |
| - name: canonicalize | |
| package: jsonschema | |
| # Both bindings canonicalize with arbitrary precision and the compile-time metaschema | |
| # validators, so the numeric work and the schema check this bench measures are the ones | |
| # they actually run. | |
| features: "--features macros,arbitrary-precision" | |
| benches: "--bench canonicalize" | |
| - name: codegen-generate | |
| package: jsonschema-macros-core | |
| features: "--features bench" | |
| benches: "--bench generate" | |
| - name: referencing | |
| package: referencing | |
| features: "" | |
| benches: "" | |
| name: "Run benchmarks (${{ matrix.name }})" | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| with: | |
| save-if: ${{ github.ref == 'refs/heads/master' }} | |
| key: ${{ matrix.name }} | |
| - run: cargo install cargo-codspeed --force | |
| - run: cargo codspeed build -p ${{ matrix.package }} ${{ matrix.features }} ${{ matrix.benches }} | |
| - uses: CodSpeedHQ/action@0ca9cbbf4623b599a6c3ed4fc8a922942705d9f1 # v5.0.2 | |
| with: | |
| run: cargo codspeed run -p ${{ matrix.package }} | |
| mode: "simulation" | |
| token: ${{ secrets.CODSPEED_TOKEN }} | |
| python: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| name: "Run benchmarks (python)" | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 | |
| - run: uv python install 3.14 | |
| - name: Build and install extension | |
| working-directory: crates/jsonschema-py | |
| env: | |
| MATURIN_STRIP: "false" | |
| CARGO_PROFILE_RELEASE_DEBUG: line-tables-only | |
| run: | | |
| uv venv --python 3.14 | |
| uv pip install ".[bench]" | |
| - uses: CodSpeedHQ/action@0ca9cbbf4623b599a6c3ed4fc8a922942705d9f1 # v5.0.2 | |
| with: | |
| working-directory: crates/jsonschema-py | |
| run: .venv/bin/pytest benches/bench.py -k '(jsonschema-rs or not jsonschema) and not py-parse' --codspeed | |
| mode: "simulation" | |
| token: ${{ secrets.CODSPEED_TOKEN }} | |
| ruby: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| name: "Run benchmarks (ruby)" | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1.321.0 | |
| with: | |
| working-directory: crates/jsonschema-rb | |
| ruby-version: .ruby-version | |
| bundler-cache: true | |
| - name: Build extension | |
| working-directory: crates/jsonschema-rb | |
| run: bundle exec rake compile | |
| - uses: CodSpeedHQ/action@0ca9cbbf4623b599a6c3ed4fc8a922942705d9f1 # v5.0.2 | |
| with: | |
| working-directory: crates/jsonschema-rb | |
| config: crates/jsonschema-rb/codspeed.yml | |
| mode: "simulation" | |
| token: ${{ secrets.CODSPEED_TOKEN }} |