Skip to content

GitHub Workflows

GitHub Workflows #22

Workflow file for this run

name: Build, Install then Test
on:
push:
branches: [ "master", "develop" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "master", "develop" ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
PYTHON_VERSION: "3.10"
COUNTERPARTY_RS_DIR: "./counterparty-rs"
jobs:
macos-x86_64:
runs-on: macos-12 #x86_64
steps:
- uses: actions/checkout@v3
# Install dependencies
- uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: 'pip'
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
default: true
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: Install leveldb
run: |
brew install leveldb
- name: Install pytest and build module
run: |
pip install pytest
python -m pip install --upgrade build
# Build counterparty packages
- name: Build counterparty-rs
uses: messense/maturin-action@v1
with:
args: --release --out dist --sdist -m ${{ env.COUNTERPARTY_RS_DIR }}/Cargo.toml
- name: Build counterparty-lib
run: |
cd counterparty-lib && python -m build --out ../dist
- name: Build counterparty-cli
run: |
cd counterparty-cli && python -m build --out ../dist
# Install counterparty packages
- name: Install wheels
run: |
pip install dist/*.whl --force-reinstall
# Run counterparty-lib tests
- name: Run counterparty-lib tests
run: |
cd counterparty-lib
pytest
# Upload wheels
- name: Upload wheels
uses: actions/upload-artifact@v2
with:
name: wheels
path: dist
macos-m1:
runs-on: macos-14
steps:
- uses: actions/checkout@v3
# Install dependencies
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
default: true
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: Install Python 3.10 and leveldb
run: |
brew install python@3.10 leveldb
echo '/opt/homebrew/opt/python@3.10/libexec/bin' >> $GITHUB_PATH
- name: Install pytest and build module
run: |
pip3.10 install pytest
python3.10 -m pip install --upgrade build
# Build counterparty packages
- name: Build counterparty-rs
uses: messense/maturin-action@v1
with:
args: --release --out dist --sdist -m ${{ env.COUNTERPARTY_RS_DIR }}/Cargo.toml
- name: Build counterparty-lib
run: |
cd counterparty-lib && python3.10 -m build --out ../dist
- name: Build counterparty-cli
run: |
cd counterparty-cli && python3.10 -m build --out ../dist
# Install counterparty packages
- name: Install wheels
run: |
export LIBRARY_PATH="$LIBRARY_PATH:$(brew --prefix)/lib"
export CPATH="$CPATH:$(brew --prefix)/include"
pip3.10 install dist/*.whl --force-reinstall
# Run counterparty-lib tests
- name: Run counterparty-lib tests
run: |
cd counterparty-lib
pytest
# Upload wheels
- name: Upload wheels
uses: actions/upload-artifact@v2
with:
name: wheels
path: dist
ubuntu-22-04:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
# Install dependencies
- uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: 'pip'
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
default: true
- name: Install leveldb
run: |
sudo apt-get install -y libleveldb-dev
- name: Install pytest and build module
run: |
pip install pytest
python -m pip install --upgrade build
# Build counterparty packages
- name: Build counterparty-rs
uses: messense/maturin-action@v1
with:
args: --release --out dist --sdist -m ${{ env.COUNTERPARTY_RS_DIR }}/Cargo.toml
- name: Build counterparty-lib
run: |
cd counterparty-lib && python -m build --out ../dist
- name: Build counterparty-cli
run: |
cd counterparty-cli && python -m build --out ../dist
# Install counterparty packages
- name: Install wheels
run: |
pip install dist/*.whl --force-reinstall
# Run counterparty-lib tests
- name: Run counterparty-lib tests
run: |
cd counterparty-lib
pytest
# Upload wheels
- name: Upload wheels
uses: actions/upload-artifact@v2
with:
name: wheels
path: dist