Crates.io | bgt |
lib.rs | bgt |
version | 0.1.2 |
source | src |
created_at | 2024-08-12 16:08:37.691546 |
updated_at | 2024-08-13 10:41:08.319241 |
description | A tool for automated Guix builds of Bitcoin Core |
homepage | https://github.com/bitcoin-dev-tools/bgt-builder |
repository | https://github.com/bitcoin-dev-tools/bgt-builder |
max_upload_size | |
id | 1334694 |
size | 114,924 |
Bitcoin Guix Tag Builder
bgt is a tool to perform automated or semi-automated Guix builds of Bitcoin Core.
These can be manually initiated, or trigger when a new tag is detected via polling the GitHub API.
It can build, attest, and codesign tagged Bitcoin Core releases.
--auto
mode (automatically open pull requests against guix.sigs) you will need a github token with the appropriate permissions (repo).To install bgt-builder, you need to have Rust and Cargo installed on your system. Then, you can install it either using Cargo:
cargo install bgt
Or from source:
git clone https://github.com/bitcoin-dev-tools/bgt-builder.git bgt
cd bgt
cargo install --path .
After installation, you can use the bgt
command to interact with the tool.
To see the available commands run:
bgt
Run the setup wizard to configure bgt:
bgt setup
This will guide you through setting up your GPG key ID, signer name, and other necessary configurations.
Build a specific tag of Bitcoin Core:
bgt build <tag>
Replace <tag>
with the specific version tag you want to build, e.g., v27.1
.
Attest to non-codesigned build outputs:
bgt attest <tag>
Attach codesignatures to existing non-codesigned outputs and attest:
bgt codesign <tag>
Run a continuous watcher to monitor for new tags and automatically build them, optionally as a background daemon:
bgt watch start <--daemon>
Stop a background watcher daemon
bgt watch stop
This command will poll the GitHub API for new tags and automatically build, attest, and codesign new releases.
Clean up Guix build directories while leaving caches intact:
bgt clean
View the current configuration settings:
bgt show-config
--multi-package
: Use JOBS=1 ADDITIONAL_GUIX_COMMON_FLAGS='--max-jobs=8'
for building. This can be added to any command.bgt uses environment variables for logging configuration. You can set the RUST_LOG
environment variable to control the log level. For example:
RUST_LOG=debug bgt build v27.1
This will run the build command with debug-level logging.
Contributions to bgt are welcome! Please feel free to submit issues and pull requests on our GitHub repository.
See license.