Skip to content
Closed
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
11 changes: 11 additions & 0 deletions .containerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Exclude local build artifacts and any symlinks outside the context
build*

# Local documentation files (can be symlinks outside the context)
*.md

# Common Python / tooling artifacts
__pycache__/
*.pyc
.venv/
dist/
11 changes: 11 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Exclude local build artifacts and any symlinks outside the context
build*

# Local documentation files (can be symlinks outside the context)
*.md

# Common Python / tooling artifacts
__pycache__/
*.pyc
.venv/
dist/
94 changes: 0 additions & 94 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,42 +107,6 @@ jobs:
name: Prepare sim matrices
uses: ./.github/workflows/prepare-sim-matrices.yml

sim-builder-trezor:
name: Trezor sim builder
needs: prepare-sim-matrices
uses: ./.github/workflows/sim-builder.yml
with:
sim: trezor
include: ${{ needs.prepare-sim-matrices.outputs.trezor }}
runs-on: ubuntu-latest

sim-builder-coldcard:
name: Coldcard sim builder
needs: prepare-sim-matrices
uses: ./.github/workflows/sim-builder.yml
with:
sim: coldcard
include: ${{ needs.prepare-sim-matrices.outputs.coldcard }}
runs-on: ubuntu-latest

sim-builder-bitbox:
name: Bitbox sim builder
needs: prepare-sim-matrices
uses: ./.github/workflows/sim-builder.yml
with:
sim: bitbox
include: ${{ needs.prepare-sim-matrices.outputs.bitbox }}
runs-on: ubuntu-latest

sim-builder-jade:
name: Jade sim builder
needs: prepare-sim-matrices
uses: ./.github/workflows/sim-builder.yml
with:
sim: jade
include: ${{ needs.prepare-sim-matrices.outputs.jade }}
runs-on: ubuntu-latest

sim-builder-ledger:
name: Ledger sim builder
needs: prepare-sim-matrices
Expand All @@ -152,15 +116,6 @@ jobs:
include: ${{ needs.prepare-sim-matrices.outputs.ledger }}
runs-on: ubuntu-latest

sim-builder-keepkey:
name: Keepkey sim builder
needs: prepare-sim-matrices
uses: ./.github/workflows/sim-builder.yml
with:
sim: keepkey
include: ${{ needs.prepare-sim-matrices.outputs.keepkey }}
runs-on: ubuntu-latest

ledger-legacy-app-builder:
name: Ledger Bitcoin Legacy App builder
uses: ./.github/workflows/ledger-legacy-app-builder.yml
Expand All @@ -180,20 +135,6 @@ jobs:
- uses: actions/checkout@v4
- uses: ./.github/actions/build-bitcoind

test-trezor-1:
uses: ./.github/workflows/device-test.yml
needs: [sim-builder-trezor, bitcoind-builder, dist-builder]
with:
device: trezor-1
runs-on: ubuntu-latest

test-trezor-t:
uses: ./.github/workflows/device-test.yml
needs: [sim-builder-trezor, bitcoind-builder, dist-builder]
with:
device: trezor-t
runs-on: ubuntu-latest

test-ledger-legacy:
uses: ./.github/workflows/device-test.yml
needs: [sim-builder-ledger, ledger-legacy-app-builder, bitcoind-builder, dist-builder]
Expand All @@ -208,38 +149,3 @@ jobs:
device: ledger
runs-on: ubuntu-latest

test-coldcard:
uses: ./.github/workflows/device-test.yml
needs: [sim-builder-coldcard, bitcoind-builder, dist-builder]
with:
device: coldcard
runs-on: ubuntu-latest

test-bitbox01:
uses: ./.github/workflows/device-test.yml
needs: [sim-builder-bitbox, bitcoind-builder, dist-builder]
with:
device: bitbox01
runs-on: ubuntu-latest

test-bitbox02:
uses: ./.github/workflows/device-test.yml
needs: [sim-builder-bitbox, bitcoind-builder, dist-builder]
with:
device: bitbox02
runs-on: ubuntu-latest

test-jade:
uses: ./.github/workflows/device-test.yml
needs: [sim-builder-jade, bitcoind-builder, dist-builder]
with:
device: jade
runs-on: ubuntu-latest

test-keepkey:
uses: ./.github/workflows/device-test.yml
needs: [sim-builder-keepkey, bitcoind-builder, dist-builder]
with:
device: keepkey
runs-on: ubuntu-latest

2 changes: 1 addition & 1 deletion .github/workflows/device-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12']
python-version: ['3.10']
device:
- ${{ inputs.device }}
test:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ledger-app-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ jobs:
build:
name: Build Bitcoin App
runs-on: ${{ inputs.runs-on }}
# Pin to 4.23.0 for SDK v25.9.0 compatibility with Speculos v0.25.10
# Pin to 4.23.0 for SDK v25.9.0 compatibility with Speculos v0.25.13
container: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:4.23.0
steps:
- run: |
# Pin to v2.4.1 - last version that worked with HWI CI (PR #795 merged Sept 2025)
git clone --branch 2.4.1 --depth 1 https://github.com/LedgerHQ/app-bitcoin-new.git
# Pin to v2.4.2
git clone --branch 2.4.2 --depth 1 https://github.com/LedgerHQ/app-bitcoin-new.git
cd app-bitcoin-new
make DEBUG=1 BOLOS_SDK=$NANOX_SDK
- uses: actions/upload-artifact@v4
Expand Down
2 changes: 1 addition & 1 deletion .python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.9
3.10
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Bitcoin Hardware Wallet Interface

[![Build Status](https://api.cirrus-ci.com/github/bitcoin-core/HWI.svg)](https://cirrus-ci.com/github/bitcoin-core/HWI)
[![CI](https://github.com/bitcoin-core/HWI/actions/workflows/ci.yml/badge.svg)](https://github.com/bitcoin-core/HWI/actions/workflows/ci.yml)
[![Documentation Status](https://readthedocs.org/projects/hwi/badge/?version=latest)](https://hwi.readthedocs.io/en/latest/?badge=latest)

The Bitcoin Hardware Wallet Interface is a Python library and command line tool for interacting with hardware wallets.
Expand Down
99 changes: 0 additions & 99 deletions ci/cirrus.Dockerfile

This file was deleted.

2 changes: 1 addition & 1 deletion ci/py310.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Cache break (modify this line to break cirrus' dockerfile build cache) 1
# Cache break (modify this line to break the dockerfile build cache) 1

FROM python:3.10

Expand Down
2 changes: 1 addition & 1 deletion ci/py311.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Cache break (modify this line to break cirrus' dockerfile build cache)
# Cache break (modify this line to break the dockerfile build cache)

FROM python:3.11

Expand Down
23 changes: 0 additions & 23 deletions ci/py37.Dockerfile

This file was deleted.

23 changes: 0 additions & 23 deletions ci/py39.Dockerfile

This file was deleted.

2 changes: 0 additions & 2 deletions contrib/build-wine.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
FROM debian:bookworm-slim

SHELL ["/bin/bash", "-c"]

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get install -y \
Expand Down
6 changes: 2 additions & 4 deletions contrib/build.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
FROM debian:bookworm-slim

SHELL ["/bin/bash", "-c"]

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get install -y \
Expand Down Expand Up @@ -36,9 +34,9 @@ ENV PATH="$PYENV_ROOT/bin:$PATH"

COPY contrib/reproducible-python.diff /opt/reproducible-python.diff
ENV PYTHON_CONFIGURE_OPTS="--enable-shared"
ENV BUILD_DATE="Jan 1 2019"
ENV BUILD_DATE="Jan 1 2026"
ENV BUILD_TIME="00:00:00"
RUN eval "$(pyenv init --path)" && eval "$(pyenv virtualenv-init -)" && cat /opt/reproducible-python.diff | pyenv install -kp 3.9.19
RUN /bin/bash -c 'eval "$(pyenv init --path)" && eval "$(pyenv virtualenv-init -)" && cat /opt/reproducible-python.diff | pyenv install -kp 3.10.16'

ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8
Expand Down
7 changes: 5 additions & 2 deletions contrib/build_bin.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@ set -ex

ARCH=$(uname -m | tr '[:upper:]' '[:lower:]')

PYTHON_VERSION=3.10.16

eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"
export PYENV_VERSION="$PYTHON_VERSION"
pip install -U pip
pip install poetry

Expand All @@ -21,8 +24,8 @@ else
fi

# We also need to change the timestamps of all of the base library files
lib_dir=$(pyenv prefix)/lib/python3.9
TZ=UTC find ${lib_dir} -name '*.py' -type f -execdir touch -t "201901010000.00" '{}' \;
lib_dir=$(pyenv prefix)/lib/python3.10
TZ=UTC find ${lib_dir} -name '*.py' -type f -execdir touch -t "202601010000.00" '{}' \;

# Make the standalone binary
export PYTHONHASHSEED=42
Expand Down
Loading