Py bindings ci #11
Workflow file for this run
This file contains hidden or 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
# Copied from [bdk-ffi](https://github.com/bitcoindevkit/bdk-ffi/blob/master/.github/workflows/test-python.yaml) | |
name: Build and Test Python | |
on: [push, pull_request] | |
jobs: | |
build-manylinux_2_28-x86_64-wheels: | |
name: "Build and test Manylinux 2.28 x86_64 wheels" | |
runs-on: ubuntu-20.04 | |
defaults: | |
run: | |
working-directory: python | |
container: | |
image: quay.io/pypa/manylinux_2_28_x86_64 | |
env: | |
PLAT: manylinux_2_28_x86_64 | |
PYBIN: "/opt/python/${{ matrix.python }}/bin" | |
strategy: | |
matrix: | |
python: | |
- cp38-cp38 | |
- cp39-cp39 | |
- cp310-cp310 | |
- cp311-cp311 | |
- cp312-cp312 | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
- name: "Install Rust 1.78.0" | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.78.0 | |
- name: "Install Python" | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: "Generate payjoin-ffi.py and binaries" | |
run: ls -la && bash ./scripts/generate_linux.sh | |
- name: "Build wheel" | |
# Specifying the plat-name argument is necessary to build a wheel with the correct name, | |
# see issue #350 for more information | |
run: ${PYBIN}/python setup.py bdist_wheel --plat-name manylinux_2_28_x86_64 --verbose | |
- name: "Install wheel" | |
run: ${PYBIN}/pip install ./dist/*.whl | |
# - name: "Run tests" | |
# run: ${PYBIN}/python -m unittest discover --start "./tests/" --pattern "test_offline_*.py" --verbose | |
# - name: "Upload artifact test" | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: payjoin-ffi-manylinux_2_28_x86_64-${{ matrix.python }} | |
# path: /home/runner/work/payjoin-ffi/payjoin-ffi/python/dist/*.whl | |
# TODO: support arm64 MacOS | |
build-macos-x86_64-wheels: | |
name: "Build and test macOS x86_64 wheels" | |
runs-on: macos-13 | |
defaults: | |
run: | |
working-directory: python | |
strategy: | |
matrix: | |
python: | |
- "3.8" | |
- "3.9" | |
- "3.10" | |
- "3.11" | |
- "3.12" | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: "Install Rust 1.78.0" | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.78.0 | |
- name: "Install Python" | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: "Generate payjoin-ffi.py and binaries" | |
run: bash ./scripts/generate_macos.sh | |
- name: "Build wheel" | |
# Specifying the plat-name argument is necessary to build a wheel with the correct name, | |
# see issue #350 for more information | |
run: python3 setup.py bdist_wheel --plat-name macosx_11_0_x86_64 --verbose | |
- name: "Install wheel" | |
run: pip3 install ./dist/*.whl | |
# - name: "Run tests" | |
# run: python3 -m unittest discover --start "./tests/" --pattern "test_offline_*.py" --verbose | |
# - name: "Upload artifact test" | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: bdkpython-macos-x86_64-${{ matrix.python }} | |
# path: /Users/runner/work/bdk-ffi/bdk-ffi/bdk-python/dist/*.whl |