klvmr 0.3.2

Implementation of `klvm` for Chik 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-latest, ubuntu-latest, windows-latest]

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

    - uses: chik-network/actions/setup-python@main
      name: Install Python 3.9
      with:
        python-version: 3.9

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

    - name: Set up rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: stable

    - name: Run benchmarks
      run: cargo bench

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

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

    - uses: chik-network/actions/setup-python@main
      name: Install Python 3.9
      with:
        python-version: 3.9

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

    - name: Set up rust
      uses: actions-rs/toolchain@v1
      with:
        toolchain: stable

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

    # we need this for brun and opc
    - name: install klvm_tools
      run: |
        cargo install klvm_tools_rs

    - 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