chia 0.1.6

Implementation of `clvm` for Chia Network's cryptocurrency
Documentation

name: Run benchmarks

on:
  push:
    branches:
      - main
    tags:
        - '**'
  pull_request:
    branches:
      - '**'

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

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

    - uses: actions/setup-python@v2
      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: setup venv
      run: |
        python -m venv venv
        ln -s venv/bin/activate

    - name: Install dependencies
      run: |
        . ./activate
        python -m pip install maturin
        rustup target add x86_64-unknown-linux-musl
        python -m pip install pytest
        python -m pip install mypy

    - name: Build
      env:
        CC: gcc
      run: |
        . ./activate
        git clone https://github.com/Chia-Network/clvm_tools.git --branch=main --single-branch
        python -m pip install ./clvm_tools
        python -m pip install colorama
        maturin develop --release -m wheel/Cargo.toml

    - name: python mypy
      run: |
        . ./activate
        mypy tests/test_*.py

    - name: python tests
      run: |
        . ./activate
        pytest tests

    - name: test generators
      run: |
        . ./activate
        cd tests
        ./test-generators.py

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