trigger-bdk-python-test #13
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
| name: Test on BDK-FFI Latest Commit | |
| on: | |
| workflow_dispatch: | |
| repository_dispatch: | |
| types: [ trigger-bdk-python-test ] | |
| 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" | |
| 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 | |
| - cp311-cp311 | |
| - cp312-cp312 | |
| - cp313-cp313 | |
| steps: | |
| - name: "Checkout" | |
| uses: actions/checkout@v4 | |
| 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: "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: "Cache" | |
| uses: actions/cache@v3 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| ./target | |
| key: ${{ runner.os }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }} | |
| - name: "Setup Rust" | |
| uses: actions-rust-lang/[email protected] | |
| with: | |
| toolchain: 1.85.1 | |
| - name: "Generate bdk.py and binaries" | |
| run: bash ./scripts/generate-linux.sh | |
| - name: "Install build" | |
| run: ${PYBIN}/pip install build | |
| - name: "Build wheel" | |
| run: ${PYBIN}/python -m build --wheel --config-setting=--build-option=--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 | |
| 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-14 | |
| strategy: | |
| matrix: | |
| python: | |
| - "3.10" | |
| - "3.11" | |
| - "3.12" | |
| - "3.13" | |
| steps: | |
| - name: "Checkout" | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| persist-credentials: false | |
| fetch-depth: 0 | |
| - 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: "Cache" | |
| uses: actions/cache@v3 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| ./target | |
| key: ${{ runner.os }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }} | |
| - 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: "Install build" | |
| run: pip3 install build | |
| - 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 -m build --wheel --config-setting=--build-option=--plat-name=macosx_11_0_arm64 --verbose | |
| - name: "Install wheel" | |
| run: pip3 install ./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.11" | |
| - "3.12" | |
| - "3.13" | |
| steps: | |
| - name: "Checkout" | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| persist-credentials: false | |
| fetch-depth: 0 | |
| - 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: "Cache" | |
| uses: actions/cache@v3 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| ./target | |
| key: ${{ runner.os }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }} | |
| - 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: "Install build" | |
| run: pip3 install build | |
| - name: "Build wheel" | |
| run: python3 -m build --wheel --config-setting=--build-option=--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 | |
| 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.11" | |
| - "3.12" | |
| - "3.13" | |
| steps: | |
| - name: "Checkout" | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| persist-credentials: false | |
| fetch-depth: 0 | |
| - 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: "Cache" | |
| uses: actions/cache@v3 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| ./target | |
| key: ${{ runner.os }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }} | |
| - 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: "Install build" | |
| run: pip install build | |
| - name: "Build wheel" | |
| run: python -m build --wheel --verbose | |
| - name: "Install dependencies" | |
| run: Get-ChildItem 'D:\a\bdk-python\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 | |
| ruff: | |
| name: "Lint tests" | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: "Checkout" | |
| uses: actions/checkout@v4 | |
| 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 Ruff" | |
| run: curl -LsSf https://astral.sh/ruff/install.sh | sh | |
| - name: "Lint test targets" | |
| run: ruff check ./tests/ |