Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/publish-python.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
strategy:
matrix:
python: # Update this list whenever the docker image is updated (check /opt/python/)
- cp310-cp310
- cp311-cp311
- cp312-cp312
- cp313-cp313
- cp314-cp314
steps:
- name: "Checkout"
uses: actions/checkout@v6
Expand Down Expand Up @@ -60,10 +60,10 @@ jobs:
strategy:
matrix:
python:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
steps:
- name: "Checkout"
uses: actions/checkout@v6
Expand Down Expand Up @@ -105,10 +105,10 @@ jobs:
strategy:
matrix:
python:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
steps:
- name: "Checkout"
uses: actions/checkout@v6
Expand Down Expand Up @@ -149,10 +149,10 @@ jobs:
strategy:
matrix:
python:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
steps:
- name: "Checkout"
uses: actions/checkout@v6
Expand Down
174 changes: 3 additions & 171 deletions .github/workflows/test-bdk-ffi-latest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,14 @@ on:
permissions: {}

jobs:
test-bdk-ffi-latest-manylinux_2_28-x86_64-wheels:
name: "Build and run unittest on Manylinux 2.28 x86_64 wheels against the latest commit on bdk-ffi"
test-bdk-ffi-latest:
name: "Build and run offline tests on Manylinux 2.28 x86_64 (Python 3.14) against the latest commit on bdk-ffi"
runs-on: ubuntu-24.04
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:
- cp310-cp310
- cp313-cp313
PYBIN: "/opt/python/cp314-cp314/bin"
steps:
- name: "Checkout"
uses: actions/checkout@v5
Expand Down Expand Up @@ -66,166 +61,3 @@ jobs:

- name: "Run tests"
run: ${PYBIN}/python -m unittest discover --start "./tests/" --pattern "test_offline_*.py" --verbose

test-bdk-ffi-latest-macos-arm64-wheels:
name: "Build and run unittest on macOS arm64 wheels against the latest commit on bdk-ffi"
runs-on: macos-15
strategy:
matrix:
python:
- "3.10"
- "3.13"
steps:
- name: "Checkout"
uses: actions/checkout@v5
with:
submodules: recursive
persist-credentials: false
fetch-depth: 0

- name: "Install uv"
uses: astral-sh/setup-uv@v7

- name: "Update bdk-ffi submodule to latest"
run: |
cd ./bdk-ffi/ \
&& git fetch origin \
&& git checkout master \
&& git pull origin master \
&& echo "Testing commit: $(git log -1 --pretty=format:'%h %s (author: %cn)')"

- name: "Set up Rust"
uses: actions-rust-lang/setup-rust-toolchain@v1

- name: "Install Python"
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}

- name: "Generate bdk.py and binaries"
run: bash ./scripts/generate-macos-arm64.sh --skip-submodule-update

- 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: uv build --wheel --config-setting=--build-option=--plat-name=macosx_11_0_arm64 --verbose

- name: "Install wheel"
run: uv pip install --system --python python3 ./dist/*.whl

- name: "Run tests"
run: python3 -m unittest discover --start "./tests/" --pattern "test_offline_*.py" --verbose

test-bdk-ffi-latest-macos-x86_64-wheels:
name: "Build and run unittest on macOS x86_64 wheels against the latest commit on bdk-ffi"
runs-on: macos-15-intel
strategy:
matrix:
python:
- "3.10"
- "3.13"
steps:
- name: "Checkout"
uses: actions/checkout@v5
with:
submodules: recursive
persist-credentials: false
fetch-depth: 0

- name: "Install uv"
uses: astral-sh/setup-uv@v7

- name: "Update bdk-ffi submodule to latest"
run: |
cd ./bdk-ffi/ \
&& git fetch origin \
&& git checkout master \
&& git pull origin master \
&& echo "Testing commit: $(git log -1 --pretty=format:'%h %s (author: %cn)')"

- name: "Set up Rust"
uses: actions-rust-lang/setup-rust-toolchain@v1

- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}

- name: "Generate bdk.py and binaries"
run: bash ./scripts/generate-macos-x86_64.sh --skip-submodule-update

- name: "Build wheel"
run: uv build --wheel --config-setting=--build-option=--plat-name=macosx_11_0_x86_64 --verbose

- name: "Install wheel"
run: uv pip install --system --python python3 ./dist/*.whl

- name: "Run tests"
run: python3 -m unittest discover --start "./tests/" --pattern "test_offline_*.py" --verbose

test-bdk-ffi-latest-windows-wheels:
name: "Build and run unittest on Windows wheels against the latest commit on bdk-ffi"
runs-on: windows-2022
strategy:
matrix:
python:
- "3.10"
- "3.13"
steps:
- name: "Checkout"
uses: actions/checkout@v5
with:
submodules: recursive
persist-credentials: false
fetch-depth: 0

- name: "Install uv"
uses: astral-sh/setup-uv@v7

- name: "Update bdk-ffi submodule to latest"
run: |
cd ./bdk-ffi/;
git fetch origin;
git checkout master;
git pull origin master;
echo "Testing commit: $(git log -1 --pretty=format:'%h %s (author: %cn)')"

- name: "Set up Rust"
uses: actions-rust-lang/setup-rust-toolchain@v1

- name: "Install Python"
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}

- name: "Generate bdk.py and binaries"
run: bash ./scripts/generate-windows.sh --skip-submodule-update

- name: "Build wheel"
run: uv build --wheel --verbose

- name: "Install dependencies"
run: Get-ChildItem 'D:\a\bdk-python\bdk-python\dist\*.whl' | ForEach-Object {uv pip install --system --python python $_.FullName}
shell: powershell

- name: "Run tests"
run: python -m unittest discover --start "./tests/" --pattern "test_offline_*.py" --verbose

ruff:
name: "Lint tests"
runs-on: ubuntu-24.04
steps:
- name: "Checkout"
uses: actions/checkout@v5
with:
submodules: recursive
persist-credentials: false
fetch-depth: 0

- name: "Configure Git safe directory"
run: git config --global --add safe.directory /__w/bdk-python/bdk-python

- name: "Install uv"
uses: astral-sh/setup-uv@v7

- name: "Lint test targets"
run: uv run --isolated --only-group lint ruff check ./tests/
16 changes: 8 additions & 8 deletions .github/workflows/test-python.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ jobs:
strategy:
matrix:
python:
- cp310-cp310
- cp313-cp313
- cp311-cp311
- cp314-cp314
steps:
- name: "Checkout"
uses: actions/checkout@v5
Expand Down Expand Up @@ -63,8 +63,8 @@ jobs:
strategy:
matrix:
python:
- "3.10"
- "3.13"
- "3.11"
- "3.14"
steps:
- name: "Checkout"
uses: actions/checkout@v5
Expand Down Expand Up @@ -109,8 +109,8 @@ jobs:
strategy:
matrix:
python:
- "3.10"
- "3.13"
- "3.11"
- "3.14"
steps:
- name: "Checkout"
uses: actions/checkout@v5
Expand Down Expand Up @@ -153,8 +153,8 @@ jobs:
strategy:
matrix:
python:
- "3.10"
- "3.13"
- "3.11"
- "3.14"
steps:
- name: "Checkout"
uses: actions/checkout@v5
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "bdkpython"
version = "3.2.0a0"
description = "The Python language bindings for the Bitcoin Development Kit"
readme = "README.md"
requires-python = ">=3.10"
requires-python = ">=3.11"
license = "MIT OR Apache-2.0"
license-files = ["LICENSE-MIT", "LICENSE-APACHE"]
authors = [
Expand Down
Loading
Loading