Skip to content

[pre-commit.ci] pre-commit autoupdate #120

[pre-commit.ci] pre-commit autoupdate

[pre-commit.ci] pre-commit autoupdate #120

Workflow file for this run

name: main
on: [push, pull_request]
env:
CIBW_BEFORE_BUILD_MACOS: "bash {project}/.github/scripts/install-macos-deps.sh"
jobs:
build-cibuildwheel:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, macos-13]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Build wheels
run: |
python -m pip install -U pip build cibuildwheel
cibuildwheel
- uses: actions/upload-artifact@v3
with:
name: static-wheels
path: ./wheelhouse/*
build-dynamic-linux:
name: Build dynamic wheel on linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Build wheel
run: |
python -m pip install -U pip build wheel auditwheel
BTCLIB_LIBSECP256K1_DYNAMIC=true python -m build -w
auditwheel repair dist/*
- uses: actions/upload-artifact@v3
with:
name: dynamic-wheels
path: ./wheelhouse/*
- name: Build source
run: python -m build -s -o wheelhouse
- uses: actions/upload-artifact@v3
with:
name: sdist
path: ./wheelhouse/*.tar.gz
build-dynamic-macos:
name: Build dynamic wheel on Macos
runs-on: macos-11
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Install dependencies
run: bash .github/scripts/install-macos-deps.sh
- name: Build wheel
run: |
python -m pip install -U pip build wheel delocate
BTCLIB_LIBSECP256K1_DYNAMIC=true CFFI_PLATFORM=Darwin python -m build -w
delocate-wheel -w wheelhouse dist/*
- uses: actions/upload-artifact@v3
with:
name: dynamic-wheels
path: ./wheelhouse/*
build-windows:
name: "Build on Linux for Windows"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Install dependencies
run: sudo apt install -y mingw-w64
- name: Build Windows wheel
run: |
python -m pip install -U pip build wheel
BTCLIB_LIBSECP256K1_CROSS_COMPILE=true CFFI_PLATFORM=Windows python -m build -w
- uses: actions/upload-artifact@v3
with:
name: dynamic-wheels
path: dist/*
test-dynamic:
name: "Test ${{ matrix.python-version }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version:
["3.7", "3.8", "3.9", "3.10", "3.11", "pypy-3.8", "pypy-3.9"]
env:
PYTHON_VERSION: ${{ matrix.python-version }}
OS_NAME: ${{ matrix.os }}
needs: [build-windows, build-dynamic-linux, build-dynamic-macos]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Upgrade Python packaging tools
run: python -m pip install -U pip pytest
- name: Show runner information
run: |
python --version
pip --version
- uses: actions/download-artifact@v3
with:
name: dynamic-wheels
path: dist
- name: Install lib
run: |
python -m pip install cffi
python -m pip install --verbose --no-index --find-links dist/ btclib_libsecp256k1
- name: Test
run: pytest
test-static:
name: "Test ${{ matrix.python-version }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
python-version:
["3.7", "3.8", "3.9", "3.10", "3.11", "pypy-3.9", "pypy-3.10"]
env:
PYTHON_VERSION: ${{ matrix.python-version }}
OS_NAME: ${{ matrix.os }}
needs: build-cibuildwheel
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Upgrade Python packaging tools
run: python -m pip install -U pip pytest
- name: Show runner information
run: |
python --version
pip --version
- uses: actions/download-artifact@v3
with:
name: static-wheels
path: dist
- name: Install lib
run: |
python -m pip install cffi
python -m pip install --verbose --no-index --find-links dist/ btclib_libsecp256k1
- name: Test
run: pytest