clvmr 0.17.5

Implementation of `clvm` for Chia Network's cryptocurrency
Documentation
name: Run benchmarks

on:
  push:
    branches:
      - main
      - dev
    tags:
      - "**"
  pull_request:
    branches:
      - "**"

jobs:
  benchmark:
    name: Benchmark on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [macos-15-intel, ubuntu-latest, windows-latest]

    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 1

      - uses: chia-network/actions/setup-python@main
        name: Install Python 3.12
        with:
          python-version: 3.12

      - name: Update pip
        run: |
          python -m pip install --upgrade pip

      - name: Set up rust
        uses: dtolnay/rust-toolchain@stable

      - name: Run benchmarks
        run: cargo bench

  max-cost-checks:
    name: Cost checks
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 1

      - uses: chia-network/actions/setup-python@main
        name: Install Python 3.12
        with:
          python-version: 3.12

      - name: Update pip
        run: |
          python -m pip install --upgrade pip

      - name: Set up rust
        uses: dtolnay/rust-toolchain@stable

      - name: Install dependencies
        run: |
          python -m pip install maturin
          rustup target add x86_64-unknown-linux-musl

      - name: Build
        env:
          CC: gcc
        run: |
          python -m venv venv
          ln -s venv/bin/activate
          . ./activate
          python -m pip install colorama
          maturin develop -m wheel/Cargo.toml --release --features=openssl

      - name: Run cost checks
        run: |
          . ./activate
          cd tests
          ./generate-programs.py
          ./run-programs.py