Compare commits

...

7 Commits

Author SHA1 Message Date
thunderbiscuit
790d08c4c9
Fix library naming and bump Python version to 0.28.3 2023-04-25 10:22:09 -04:00
thunderbiscuit
ffd5a96ee0
Add library build task to Android test CI workflow 2023-04-24 16:09:45 -04:00
thunderbiscuit
fd02fc2a02
Remove support for Python 3.6 and 3.7 2023-04-24 16:09:15 -04:00
thunderbiscuit
5c560c6013
Use ubuntu-20.04 image for all Linux CI runs 2023-04-24 16:08:54 -04:00
thunderbiscuit
9d1b2de29b
Add workflow dispatch to all test workflows 2023-04-24 16:08:32 -04:00
thunderbiscuit
3e3c0bf22f
Pin Rust version in CI workflows to 1.67 2023-04-24 16:08:16 -04:00
thunderbiscuit
9b919e5ceb
Update libraries to official release versions 2023-04-18 12:31:15 -04:00
10 changed files with 75 additions and 43 deletions

View File

@ -10,7 +10,7 @@ env:
jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04
steps:
- name: "Install Android NDK 21.4.7075529"
run: |
@ -37,6 +37,9 @@ jobs:
distribution: temurin
java-version: 11
- name: "Set default Rust version to 1.67.0"
run: rustup default 1.67.0
- name: "Install Rust Android targets"
run: rustup target add x86_64-linux-android aarch64-linux-android armv7-linux-androideabi

View File

@ -24,6 +24,9 @@ jobs:
distribution: temurin
java-version: 11
- name: "Set default Rust version to 1.67.0"
run: rustup default 1.67.0
- name: Install aarch64 Rust target
run: rustup target add aarch64-apple-darwin
@ -43,7 +46,7 @@ jobs:
build-jvm-full-library:
name: Create full bdk-jvm library
needs: [build-jvm-macOS-M1-native-lib]
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04
steps:
- name: Checkout publishing branch
uses: actions/checkout@v2
@ -68,6 +71,9 @@ jobs:
distribution: temurin
java-version: 11
- name: "Set default Rust version to 1.67.0"
run: rustup default 1.67.0
- name: Build bdk-jvm library
run: |
cd bdk-jvm

View File

@ -9,7 +9,7 @@ on: [workflow_dispatch]
jobs:
build-manylinux2014-x86_64-wheel:
name: "Build Manylinux 2014 x86_64 wheel"
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04
defaults:
run:
working-directory: bdk-python
@ -21,13 +21,9 @@ jobs:
strategy:
matrix:
python: # Update this list whenever the docker image is updated (check /opt/python/)
- cp36-cp36m
- cp37-cp37m
- cp38-cp38
- cp39-cp39
- cp310-cp310
- pp37-pypy37_pp73
- pp38-pypy38_pp73
steps:
- name: "Checkout"
uses: actions/checkout@v2
@ -37,6 +33,9 @@ jobs:
with:
toolchain: stable
- name: "Set default Rust version to 1.67.0"
run: rustup default 1.67.0
- name: "Install requirements"
run: ${PYBIN}/pip install -r requirements.txt
@ -44,7 +43,9 @@ jobs:
run: bash generate.sh
- name: "Build wheel"
run: ${PYBIN}/python setup.py bdist_wheel --verbose
# 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_17_x86_64 --verbose
- uses: actions/upload-artifact@v2
with:
@ -60,10 +61,9 @@ jobs:
strategy:
matrix:
python:
- '3.7'
- '3.8'
- '3.9'
- '3.10'
- "3.8"
- "3.9"
- "3.10"
steps:
- name: "Checkout"
uses: actions/checkout@v2
@ -83,7 +83,9 @@ jobs:
- name: "Build wheel"
env:
ARCHFLAGS: "-arch x86_64 -arch arm64"
run: python3 setup.py bdist_wheel --verbose
# 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_12_0_universal2 --verbose
- uses: actions/upload-artifact@v2
with:
@ -91,7 +93,7 @@ jobs:
path: /Users/runner/work/bdk-ffi/bdk-ffi/bdk-python/dist/*.whl
build-windows-wheel:
name: "Build windows wheel"
name: "Build Windows wheel"
runs-on: windows-2022
defaults:
run:
@ -99,10 +101,9 @@ jobs:
strategy:
matrix:
python:
- '3.7'
- '3.8'
- '3.9'
- '3.10'
- "3.8"
- "3.9"
- "3.10"
steps:
- name: "Checkout"
uses: actions/checkout@v2
@ -128,7 +129,7 @@ jobs:
publish-pypi:
name: "Publish on PyPI"
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04
defaults:
run:
working-directory: bdk-python

View File

@ -1,5 +1,6 @@
name: Test Android
on:
workflow_dispatch:
push:
paths:
- "bdk-ffi/**"
@ -18,7 +19,7 @@ env:
jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04
steps:
- name: "Install Android NDK 21.4.7075529"
run: |
@ -45,9 +46,17 @@ jobs:
distribution: temurin
java-version: 11
- name: "Set default Rust version to 1.67.0"
run: rustup default 1.67.0
- name: "Install Rust Android targets"
run: rustup target add x86_64-linux-android aarch64-linux-android armv7-linux-androideabi
- name: "Build Android library"
run: |
cd bdk-android
./gradlew buildAndroidLib
# There are currently no unit tests for bdk-android and the integration tests require the macOS image
# which is not working with the older NDK version we are using, so for now we just make sure that the library builds.
# - name: "Run Android unit tests"

View File

@ -1,5 +1,6 @@
name: Test Kotlin/JVM
on:
workflow_dispatch:
push:
paths:
- "bdk-ffi/**"
@ -31,6 +32,9 @@ jobs:
distribution: temurin
java-version: 11
- name: "Set default Rust version to 1.67.0"
run: rustup default 1.67.0
- name: Run JVM tests
run: |
cd bdk-jvm

View File

@ -1,5 +1,6 @@
name: Test Python
on:
workflow_dispatch:
push:
paths:
- "bdk-ffi/**"
@ -17,7 +18,7 @@ on:
jobs:
build-manylinux2014-x86_64-wheel:
name: "Build and test Manylinux 2014 x86_64 wheels"
runs-on: ubuntu-22.04
runs-on: ubuntu-20.04
defaults:
run:
working-directory: bdk-python
@ -29,10 +30,8 @@ jobs:
strategy:
matrix:
python:
# - cp36-cp36m
# - cp37-cp37m
# - cp38-cp38
# - cp39-cp39
- cp38-cp38
- cp39-cp39
- cp310-cp310
steps:
- name: "Checkout"
@ -43,6 +42,9 @@ jobs:
with:
toolchain: stable
- name: "Set default Rust version to 1.67.0"
run: rustup default 1.67.0
- name: "Install requirements"
run: ${PYBIN}/pip install -r requirements.txt
@ -56,7 +58,9 @@ jobs:
run: ${PYBIN}/pip install ./dist/*.whl
- name: "Run tests"
run: ${PYBIN}/python -m unittest tests/test_bdk.py --verbose
# Specifying the plat-name argument is necessary to build a wheel with the correct name,
# see issue #350 for more information
run: ${PYBIN}/python -m unittest tests/test_bdk.py --plat-name manylinux_2_17_x86_64 --verbose
- name: "Upload artifact test"
uses: actions/upload-artifact@v2
@ -73,10 +77,9 @@ jobs:
strategy:
matrix:
python:
# - '3.7'
# - '3.8'
# - '3.9'
- '3.10'
- "3.8"
- "3.9"
- "3.10"
steps:
- name: Checkout
uses: actions/checkout@v2
@ -113,10 +116,9 @@ jobs:
strategy:
matrix:
python:
# - '3.7'
# - '3.8'
# - '3.9'
- '3.10'
- "3.8"
- "3.9"
- "3.10"
steps:
- name: "Checkout"
uses: actions/checkout@v2
@ -135,12 +137,11 @@ jobs:
- name: "Build wheel"
run: python setup.py bdist_wheel --verbose
# TODO: On Windows the pip install ./dist/*.whl step fails with the following error:
# Run pip install ./dist/*.whl
# WARNING: Requirement './dist/*.whl' looks like a filename, but the file does not exist
# ERROR: *.whl is not a valid wheel filename.*.whl is not a valid wheel name
# So we skip the installing and the tests and simply test that the wheel builds
# TODO: On Windows the pip install ./dist/*.whl step fails with the following error:
# Run pip install ./dist/*.whl
# WARNING: Requirement './dist/*.whl' looks like a filename, but the file does not exist
# ERROR: *.whl is not a valid wheel filename.*.whl is not a valid wheel name
# So we skip the installing and the tests and simply test that the wheel builds
# - name: Install wheel
# run: pip install ./dist/*.whl
# - name: Run tests

View File

@ -1,5 +1,6 @@
name: Test Swift
on:
workflow_dispatch:
push:
paths:
- "bdk-ffi/**"
@ -16,6 +17,9 @@ jobs:
- name: Checkout
uses: actions/checkout@v2
- name: "Set default Rust version to 1.67.0"
run: rustup default 1.67.0
- name: Install Rust targets
run: |
rustup install nightly-x86_64-apple-darwin

View File

@ -2,4 +2,4 @@ org.gradle.jvmargs=-Xmx1536m
android.useAndroidX=true
android.enableJetifier=true
kotlin.code.style=official
libraryVersion=0.28.0-SNAPSHOT
libraryVersion=0.28.0

View File

@ -1,4 +1,4 @@
org.gradle.jvmargs=-Xmx1536m
android.enableJetifier=true
kotlin.code.style=official
libraryVersion=0.28.0-SNAPSHOT
libraryVersion=0.28.0

View File

@ -51,7 +51,7 @@ print(f"Wallet balance is: {balance.total}")
setup(
name="bdkpython",
version="0.28.0.dev0",
version="0.28.3",
description="The Python language bindings for the Bitcoin Development Kit",
long_description=LONG_DESCRIPTION,
long_description_content_type="text/markdown",
@ -62,4 +62,8 @@ setup(
url="https://github.com/bitcoindevkit/bdk-ffi",
author="Alekos Filini <alekos.filini@gmail.com>, Steve Myers <steve@notmandatory.org>",
license="MIT or Apache 2.0",
# This is required to ensure the library name includes the python version, abi, and platform tags
# See issue #350 for more information
has_ext_modules=lambda: True,
)