Add TxBuilder APIs #1122
Workflow file for this run
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: Test Python | |
on: | |
workflow_dispatch: | |
push: | |
paths: | |
- "bdk-ffi/**" | |
- "bdk-python/**" | |
pull_request: | |
paths: | |
- "bdk-ffi/**" | |
- "bdk-python/**" | |
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: bdk-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@v3 | |
with: | |
submodules: true | |
- name: "Install Rust 1.77.1" | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.77.1 | |
- name: "Generate bdk.py and binaries" | |
run: 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@v3 | |
with: | |
name: bdkpython-manylinux_2_28_x86_64-${{ matrix.python }} | |
path: /home/runner/work/bdk-ffi/bdk-ffi/bdk-python/dist/*.whl | |
build-macos-arm64-wheels: | |
name: "Build and test macOS arm64 wheels" | |
runs-on: macos-13 | |
defaults: | |
run: | |
working-directory: bdk-python | |
strategy: | |
matrix: | |
python: | |
- "3.8" | |
- "3.9" | |
- "3.10" | |
- "3.11" | |
- "3.12" | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: "Install Python" | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: "Generate bdk.py and binaries" | |
run: bash ./scripts/generate-macos-arm64.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_arm64 --verbose | |
# You can't install the arm64 wheel on the CI, so we skip these steps and simply test that the wheel builds | |
# - name: "Install wheel and run tests" | |
# run: | | |
# pip3 install ./dist/*.whl | |
# python3 -m unittest discover --start "./tests/" --pattern "test_offline_*.py" --verbose | |
- name: "Upload artifact test" | |
uses: actions/upload-artifact@v3 | |
with: | |
name: bdkpython-macos-arm64-${{ matrix.python }} | |
path: /Users/runner/work/bdk-ffi/bdk-ffi/bdk-python/dist/*.whl | |
build-macos-x86_64-wheels: | |
name: "Build and test macOS x86_64 wheels" | |
runs-on: macos-13 | |
defaults: | |
run: | |
working-directory: bdk-python | |
strategy: | |
matrix: | |
python: | |
- "3.8" | |
- "3.9" | |
- "3.10" | |
- "3.11" | |
- "3.12" | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: "Generate bdk.py and binaries" | |
run: bash ./scripts/generate-macos-x86_64.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@v3 | |
with: | |
name: bdkpython-macos-x86_64-${{ matrix.python }} | |
path: /Users/runner/work/bdk-ffi/bdk-ffi/bdk-python/dist/*.whl | |
build-windows-wheels: | |
name: "Build and test Windows wheels" | |
runs-on: windows-2022 | |
defaults: | |
run: | |
working-directory: bdk-python | |
strategy: | |
matrix: | |
python: | |
- "3.8" | |
- "3.9" | |
- "3.10" | |
- "3.11" | |
- "3.12" | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: "Install Python" | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: "Generate bdk.py and binaries" | |
run: bash ./scripts/generate-windows.sh | |
- name: "Build wheel" | |
run: python setup.py bdist_wheel --verbose | |
- name: "Upload artifact test" | |
uses: actions/upload-artifact@v3 | |
with: | |
name: bdkpython-windows-${{ matrix.python }} | |
path: D:\a\bdk-ffi\bdk-ffi\bdk-python\dist\*.whl | |
- name: "Install dependencies" | |
run: Get-ChildItem 'D:\a\bdk-ffi\bdk-ffi\bdk-python\dist\*.whl' | ForEach-Object {pip install $_.FullName} | |
shell: powershell | |
- name: "Run tests" | |
run: python -m unittest discover --start "./tests/" --pattern "test_offline_*.py" --verbose |