ci: drop cirrus leftovers
What changed, and why it matters
This commit is a routine cleanup of leftover continuous-integration (CI) files. It removes an old Cirrus CI Dockerfile, updates two comment lines in other Dockerfiles, and swaps the build-status badge in README.md and setup.py from Cirrus CI to GitHub Actions. There is no change to the actual hardware-wallet software, its dependencies, or how it handles private keys or user data.
No security action required. This is a normal CI maintenance commit.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff is purely infrastructure housekeeping: deletion of ci/cirrus.Dockerfile, replacement of Cirrus-CI badge URLs with GitHub Actions badge URLs in README.md and setup.py’s long_description, and minor comment edits in ci/py310.Dockerfile and ci/py311.Dockerfile. No source code under hwilib/, hwi.py, or related test logic is modified.
Changed components
README.mdsetup.pyci/cirrus.Dockerfileci/py310.Dockerfileci/py311.DockerfileInspect captured patch +4 / −103
diff --git a/README.md b/README.md
index c80374b..ec1f8fa 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Bitcoin Hardware Wallet Interface
-[](https://cirrus-ci.com/github/bitcoin-core/HWI)
+[](https://github.com/bitcoin-core/HWI/actions/workflows/ci.yml)
[](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.
diff --git a/ci/cirrus.Dockerfile b/ci/cirrus.Dockerfile
deleted file mode 100644
index 07c201c..0000000
--- a/ci/cirrus.Dockerfile
+++ /dev/null
@@ -1,99 +0,0 @@
-# Cache break (modify this line to break cirrus' dockerfile build cache) 1
-
-FROM python:3.9
-
-ENV DEBIAN_FRONTEND=noninteractive
-RUN apt-get update
-RUN apt-get install -y \
- autotools-dev \
- automake \
- bsdmainutils \
- build-essential \
- ccache \
- clang \
- cmake \
- curl \
- cython3 \
- gcc-arm-none-eabi \
- gcc-arm-linux-gnueabihf \
- git \
- libboost-system-dev \
- libboost-filesystem-dev \
- libboost-chrono-dev \
- libboost-test-dev \
- libboost-thread-dev \
- libc6-dev-armhf-cross \
- libdb-dev \
- libdb++-dev \
- libevent-dev \
- libgcrypt20-dev \
- libnewlib-arm-none-eabi \
- libpcsclite-dev \
- libsdl2-dev \
- libsdl2-image-dev \
- libssl-dev \
- libslirp-dev \
- libtool \
- libudev-dev \
- libusb-1.0-0-dev \
- ninja-build \
- pkg-config \
- qemu-user-static \
- swig
-
-RUN pip install poetry flake8
-RUN wget https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init
-RUN chmod +x rustup-init && ./rustup-init -y
-ENV PATH="/root/.cargo/bin:$PATH"
-RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v22.0/protoc-22.0-linux-x86_64.zip
-RUN unzip protoc-22.0-linux-x86_64.zip -d /usr/local
-RUN protoc --version
-
-####################
-# Local build/test steps
-# -----------------
-# To install all simulators/tests locally, uncomment the block below,
-# then build the docker image and interactively run the tests
-# as needed.
-# e.g.,
-# docker build -f ci/cirrus.Dockerfile -t hwi_test .
-# docker run -it --entrypoint /bin/bash hwi_test
-# cd test; poetry run ./run_tests.py --ledger --coldcard --interface=cli --device-only
-# For BitBox02:
-# docker build -f ci/cirrus.Dockerfile -t hwi_test .
-# ./ci/build_bitbox02.sh
-# docker run -it -v bitbox02_volume:/test/work/bitbox02-firmware --name hwi --entrypoint /bin/bash hwi_test
-# cd test; poetry run ./run_tests.py --bitbox02 --interface=cli --device-only
-####################
-
-####################
-#ENV EMAIL=email
-#COPY pyproject.toml pyproject.toml
-#RUN poetry run pip install construct pyelftools mnemonic jsonschema
-#
-## Set up environments first to take advantage of layer caching
-#RUN mkdir test
-#COPY test/setup_environment.sh test/setup_environment.sh
-#COPY test/data/coldcard-multisig.patch test/data/coldcard-multisig.patch
-## One by one to allow for intermediate caching of successful builds
-#RUN cd test; ./setup_environment.sh --trezor-1
-#RUN cd test; ./setup_environment.sh --trezor-t
-#RUN cd test; ./setup_environment.sh --coldcard
-#RUN cd test; ./setup_environment.sh --bitbox01
-#RUN cd test; ./setup_environment.sh --ledger
-#RUN cd test; ./setup_environment.sh --keepkey
-#RUN cd test; ./setup_environment.sh --jade
-#RUN cd test; ./setup_environment.sh --bitcoind
-#
-## Once everything has been built, put rest of files in place
-## which have higher turn-over.
-#COPY test/ test/
-#COPY hwi.py hwi-qt.py README.md /
-#COPY hwilib/ /hwilib/
-#RUN poetry install
-#
-####################
-
-ENV LC_ALL=C.UTF-8
-ENV LANG=C.UTF-8
-ENV LANGUAGE=C.UTF-8
diff --git a/ci/py310.Dockerfile b/ci/py310.Dockerfile
index 299b443..20106aa 100644
--- a/ci/py310.Dockerfile
+++ b/ci/py310.Dockerfile
@@ -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
diff --git a/ci/py311.Dockerfile b/ci/py311.Dockerfile
index ab80e88..cf97b42 100644
--- a/ci/py311.Dockerfile
+++ b/ci/py311.Dockerfile
@@ -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
diff --git a/setup.py b/setup.py
index e821a4c..7589240 100644
--- a/setup.py
+++ b/setup.py
@@ -49,7 +49,7 @@ setup_kwargs = {
'name': 'hwi',
'version': '3.2.0',
'description': 'A library for working with Bitcoin hardware wallets',
- 'long_description': "# Bitcoin Hardware Wallet Interface\n\n[](https://cirrus-ci.com/github/bitcoin-core/HWI)\n[](https://hwi.readthedocs.io/en/latest/?badge=latest)\n\nThe Bitcoin Hardware Wallet Interface is a Python library and command line tool for interacting with hardware wallets.\nIt provides a standard way for software to work with hardware wallets without needing to implement device specific drivers.\nPython software can use the provided library (`hwilib`). Software in other languages can execute the `hwi` tool.\n\nCaveat emptor: Inclusion of a specific hardware wallet vendor does not imply any endorsement of quality or security.\n\n## Prerequisites\n\nPython 3 is required. The libraries and [udev rules](hwilib/udev/README.md) for each device must also be installed. Some libraries will need to be installed\n\nFor Ubuntu/Debian:\n```\nsudo apt install libusb-1.0-0-dev libudev-dev python3-dev\n```\n\nFor Centos:\n```\nsudo yum -y install python3-devel libusbx-devel systemd-devel\n```\n\nFor macOS:\n```\nbrew install libusb\n```\n\n## Install\n\n```\ngit clone https://github.com/bitcoin-core/HWI.git\ncd HWI\npoetry install # or 'pip3 install .' or 'python3 setup.py install'\n```\n\nThis project uses the [Poetry](https://github.com/sdispater/poetry) dependency manager. HWI and its dependencies can be installed via poetry by executing the following in the root source directory:\n\n```\npoetry install\n```\n\nPip can also be used to automatically install HWI and its dependencies using the `setup.py` file (which is usually in sync with `pyproject.toml`):\n\n```\npip3 install .\n```\n\nThe `setup.py` file can be used to install HWI and its dependencies so long as `setuptools` is also installed:\n\n```\npip3 install -U setuptools\npython3 setup.py install\n```\n\n## Dependencies\n\nSee `pyproject.toml` for all dependencies. Dependencies under `[tool.poetry.dependencies]` are user dependencies, and `[tool.poetry.dev-dependencies]` for development based dependencies. These dependencies will be installed with any of the three above installation methods.\n\n## Usage\n\nTo use, first enumerate all devices and find the one that you want to use with\n\n```\n./hwi.py enumerate\n```\n\nOnce the device type and device path are known, issue commands to it like so:\n\n```\n./hwi.py -t <type> -d <path> <command> <command args>\n```\n\nAll output will be in JSON form and sent to `stdout`.\nAdditional information or prompts will be sent to `stderr` and will not necessarily be in JSON.\nThis additional information is for debugging purposes.\n\nTo see a complete list of available commands and global parameters, run\n`./hwi.py --help`. To see options specific to a particular command,\npass the `--help` parameter after the command name; for example:\n\n```\n./hwi.py getdescriptors --help\n```\n\n## Documentation\n\nDocumentation for HWI can be found on [readthedocs.io](https://hwi.readthedocs.io/).\n\n### Device Support\n\nFor documentation on devices supported and how they are supported, please check the [device support page](https://hwi.readthedocs.io/en/latest/devices/index.html#support-matrix)\n\n### Using with Bitcoin Core\n\nSee [Using Bitcoin Core with Hardware Wallets](https://hwi.readthedocs.io/en/latest/examples/bitcoin-core-usage.html).\n\n## License\n\nThis project is available under the MIT License, Copyright Andrew Chow.\n",
+ 'long_description': "# Bitcoin Hardware Wallet Interface\n\n[](https://github.com/bitcoin-core/HWI/actions/workflows/ci.yml)\n[](https://hwi.readthedocs.io/en/latest/?badge=latest)\n\nThe Bitcoin Hardware Wallet Interface is a Python library and command line tool for interacting with hardware wallets.\nIt provides a standard way for software to work with hardware wallets without needing to implement device specific drivers.\nPython software can use the provided library (`hwilib`). Software in other languages can execute the `hwi` tool.\n\nCaveat emptor: Inclusion of a specific hardware wallet vendor does not imply any endorsement of quality or security.\n\n## Prerequisites\n\nPython 3 is required. The libraries and [udev rules](hwilib/udev/README.md) for each device must also be installed. Some libraries will need to be installed\n\nFor Ubuntu/Debian:\n```\nsudo apt install libusb-1.0-0-dev libudev-dev python3-dev\n```\n\nFor Centos:\n```\nsudo yum -y install python3-devel libusbx-devel systemd-devel\n```\n\nFor macOS:\n```\nbrew install libusb\n```\n\n## Install\n\n```\ngit clone https://github.com/bitcoin-core/HWI.git\ncd HWI\npoetry install # or 'pip3 install .' or 'python3 setup.py install'\n```\n\nThis project uses the [Poetry](https://github.com/sdispater/poetry) dependency manager. HWI and its dependencies can be installed via poetry by executing the following in the root source directory:\n\n```\npoetry install\n```\n\nPip can also be used to automatically install HWI and its dependencies using the `setup.py` file (which is usually in sync with `pyproject.toml`):\n\n```\npip3 install .\n```\n\nThe `setup.py` file can be used to install HWI and its dependencies so long as `setuptools` is also installed:\n\n```\npip3 install -U setuptools\npython3 setup.py install\n```\n\n## Dependencies\n\nSee `pyproject.toml` for all dependencies. Dependencies under `[tool.poetry.dependencies]` are user dependencies, and `[tool.poetry.dev-dependencies]` for development based dependencies. These dependencies will be installed with any of the three above installation methods.\n\n## Usage\n\nTo use, first enumerate all devices and find the one that you want to use with\n\n```\n./hwi.py enumerate\n```\n\nOnce the device type and device path are known, issue commands to it like so:\n\n```\n./hwi.py -t <type> -d <path> <command> <command args>\n```\n\nAll output will be in JSON form and sent to `stdout`.\nAdditional information or prompts will be sent to `stderr` and will not necessarily be in JSON.\nThis additional information is for debugging purposes.\n\nTo see a complete list of available commands and global parameters, run\n`./hwi.py --help`. To see options specific to a particular command,\npass the `--help` parameter after the command name; for example:\n\n```\n./hwi.py getdescriptors --help\n```\n\n## Documentation\n\nDocumentation for HWI can be found on [readthedocs.io](https://hwi.readthedocs.io/).\n\n### Device Support\n\nFor documentation on devices supported and how they are supported, please check the [device support page](https://hwi.readthedocs.io/en/latest/devices/index.html#support-matrix)\n\n### Using with Bitcoin Core\n\nSee [Using Bitcoin Core with Hardware Wallets](https://hwi.readthedocs.io/en/latest/examples/bitcoin-core-usage.html).\n\n## License\n\nThis project is available under the MIT License, Copyright Andrew Chow.\n",
'author': 'Ava Chow',
'author_email': 'me@achow101.com',
'maintainer': 'None',
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.