use newtype pattern for TreeIndex
#3132
Workflow file for this run
This file contains 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: Tests | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- "**" | |
pull_request: | |
branches: | |
- "**" | |
concurrency: | |
group: ${{ github.event_name == 'pull_request' && format('{0}-{1}', github.workflow_ref, github.event.pull_request.number) || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
tests: | |
name: Unit Tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-latest, ubuntu-latest, windows-latest] | |
python-version: ["3.9", "3.10", "3.11"] | |
env: | |
stubtest_args: ${{ matrix.python-version == '3.11' && '--allowlist wheel/stubtest.allowlist.3-11-plus' || ''}} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- uses: chia-network/actions/setup-python@main | |
name: Install Python ${{ matrix.python-version }} | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Update pip | |
run: | | |
python -m pip install --upgrade pip | |
- name: Set up rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: setup venv | |
run: | | |
python -m venv venv | |
- uses: chia-network/actions/activate-venv@main | |
- name: Install dependencies | |
run: | | |
python -m pip install maturin | |
rustup target add x86_64-unknown-linux-musl | |
python -m pip install pytest pytest-xdist | |
python -m pip install mypy | |
python -m pip install black | |
- name: Build | |
run: | | |
python -m pip install clvm_tools colorama blspy chia-blockchain==2.1.2 clvm==0.9.8 | |
maturin develop --release -m wheel/Cargo.toml | |
- name: python mypy | |
run: | | |
mypy tests | |
- name: python mypy stubtest | |
shell: bash | |
run: | | |
FAILURE=0 | |
echo "::group::concise" | |
if ! stubtest ${{ env.stubtest_args }} --allowlist wheel/stubtest.allowlist --concise chia_rs | |
then | |
FAILURE=1 | |
fi | |
echo "::endgroup::" | |
echo "::group::complete" | |
if ! stubtest ${{ env.stubtest_args }} --allowlist wheel/stubtest.allowlist chia_rs | |
then | |
FAILURE=1 | |
fi | |
echo "::endgroup::" | |
exit ${FAILURE} | |
- name: python black | |
run: | | |
black --check tests | |
black --check wheel/generate_type_stubs.py | |
- name: python tests | |
run: | | |
pytest tests | |
generator-benchmarks: | |
name: Generator performance | |
runs-on: benchmark | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- uses: chia-network/actions/setup-python@main | |
name: Install Python ${{ matrix.python-version }} | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Set up rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: setup venv | |
run: | | |
python -m venv venv | |
- uses: chia-network/actions/activate-venv@main | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install maturin colorama clvm_tools | |
rustup target add x86_64-unknown-linux-musl | |
- name: Build | |
run: | | |
maturin develop --release -m wheel/Cargo.toml | |
- name: test generators | |
run: | | |
cd tests | |
./test-generators.py | |
- name: Run cost checks | |
run: | | |
cd tests | |
./generate-programs.py | |
./run-programs.py | |
benchmarks: | |
name: rust benchmarks | |
runs-on: benchmark | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Set up rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: cargo bench | |
run: | | |
cargo bench --workspace --exclude chia_rs |