[pre-commit.ci] pre-commit autoupdate #185
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: 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 |