Skip to content

Move signer offer-request leg math into Rust kernel #370

Move signer offer-request leg math into Rust kernel

Move signer offer-request leg math into Rust kernel #370

Workflow file for this run

---
name: CI
"on":
pull_request:
push:
branches:
- main
env:
PYTHON_VERSION: "3.11"
jobs:
lint-type-test:
name: Lint, Type, Test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
run_rust_tests: true
run_sdk_integration: true
- os: ubuntu-24.04-arm
run_rust_tests: false
run_sdk_integration: false
- os: macos-14
run_rust_tests: false
run_sdk_integration: false
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
# Node is required to install and run the explicit Prettier check in CI.
- uses: actions/setup-node@v4
with:
node-version: "lts/*"
- name: Restore Python venv cache
id: cache-venv
uses: actions/cache/restore@v4
with:
path: .venv
key: venv-v2-${{ runner.os }}-${{ runner.arch }}-py311-${{ hashFiles('pyproject.toml') }}
- name: Create venv and install dev dependencies
run: |
if [ ! -d .venv/bin ]; then
python -m venv .venv
fi
# GITHUB_PATH only affects later steps; export PATH is required here.
export PATH="$GITHUB_WORKSPACE/.venv/bin:$PATH"
echo "$GITHUB_WORKSPACE/.venv/bin" >> "$GITHUB_PATH"
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
- name: Save Python venv cache
if: steps.cache-venv.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: .venv
key: venv-v2-${{ runner.os }}-${{ runner.arch }}-py311-${{ hashFiles('pyproject.toml') }}
- uses: ./.github/actions/rust-cache-greenfloor
if: matrix.run_rust_tests
- name: Build and test greenfloor-signer
if: matrix.run_rust_tests
run: |
cargo build --manifest-path greenfloor-signer/Cargo.toml
cargo test --manifest-path greenfloor-signer/Cargo.toml
- uses: ./.github/actions/greenfloor-maturin-wheels
with:
operation: ensure-and-install
rust-already-configured: ${{ matrix.run_rust_tests }}
- name: Cache pre-commit environment
uses: actions/cache@v4
with:
path: ./.cache/pre-commit
key: pre-commit-${{ runner.os }}-${{ runner.arch }}-py311-${{ hashFiles('.pre-commit-config.yaml') }}
restore-keys: |
pre-commit-${{ runner.os }}-${{ runner.arch }}-py311-
- name: "Lint + Type-check (pre-commit)"
env:
PRE_COMMIT_HOME: ${{ github.workspace }}/.cache/pre-commit
SKIP: pytest
run: pre-commit run --all-files
- name: "Test suite (pytest)"
run: pytest -v --tb=short
- name: Pytest (signer marker)
if: matrix.run_rust_tests
run: pytest -v --tb=short -m signer
- uses: ./.github/actions/wheel-cache
if: matrix.run_sdk_integration
with:
operation: ensure-and-install
builder: pip
tree-path: chia-wallet-sdk
source-path: ./chia-wallet-sdk/pyo3
cache-key-prefix: sdk-wheelhouse
wheelhouse-subdir: chia-wallet-sdk
rust-already-configured: ${{ matrix.run_rust_tests }}
- name: Pytest (greenfloor_signer + chia-wallet-sdk offer round-trip on Ubuntu)
if: matrix.run_sdk_integration
run: GREENFLOOR_RUN_SIGNER_INTEGRATION_TESTS=1 pytest -vv -s tests/test_greenfloor_signer_integration.py