3 个版本
新版本 0.1.2 | 2024年8月13日 |
---|---|
0.1.1 | 2024年8月12日 |
0.1.0 | 2024年8月12日 |
#48 在 构建工具
91 每月下载量
65KB
1.5K SLoC
bgt
Bitcoin Guix 标签构建器
关于
bgt 是一个执行 Bitcoin Core 的自动或半自动 Guix 构建 的工具。
这些构建可以是手动启动的,或者通过轮询 GitHub API 检测到新标签时触发。
它可以构建、证明和代码签名标记的 Bitcoin Core 版本。
要求
- 您需要按照 Bitcoin Core 的 INSTALL.md 安装和设置 Guix 以构建 Bitcoin Core。
- (可选) 对于证明(签名),您需要在默认密钥环中配置 GPG 密钥。
- 您需要 bitcoin-core/guix.sigs 仓库的分支。
- 对于此仓库的拉取请求,您需要将 GPG 密钥放入 guix.sigs builder-keys 中,这可以通过拉取请求完成。
- (可选) 要使用
--auto
模式(自动对 guix.sigs 打开拉取请求)您需要一个具有适当权限的 github 令牌(仓库)。
安装
要安装 bgt-builder,您需要在您的系统上安装 Rust 和 Cargo。然后,您可以使用 Cargo 安装它
cargo install bgt
或从源代码安装
git clone https://github.com/bitcoin-dev-tools/bgt-builder.git bgt
cd bgt
cargo install --path .
使用
安装后,您可以使用 bgt
命令与工具交互。
要查看可用的命令,请运行
bgt
设置
运行设置向导以配置 bgt
bgt setup
这将指导您设置 GPG 密钥 ID、签名者姓名和其他必要的配置。
构建
构建 Bitcoin Core 的特定标签
bgt build <tag>
将 <tag>
替换为要构建的具体版本标签,例如,v27.1
。
证明
证明非代码签名构建输出
bgt attest <tag>
代码签名
将代码签名附加到现有的非代码签名输出并证明
bgt codesign <tag>
监视
运行连续监视器以监视新标签并自动构建它们,可选地作为后台守护进程
bgt watch start <--daemon>
停止后台监视守护进程
bgt watch stop
此命令将轮询GitHub API以获取新标签,并自动构建、验证和签名新版本。
清理
在保留缓存的同时清理Guix构建目录
bgt clean
显示配置
查看当前配置设置
bgt show-config
附加选项
--multi-package
:使用JOBS=1 ADDITIONAL_GUIX_COMMON_FLAGS='--max-jobs=8'
进行构建。这可以添加到任何命令中。
日志记录
bgt使用环境变量进行日志配置。您可以设置RUST_LOG
环境变量以控制日志级别。例如
RUST_LOG=debug bgt build v27.1
这将以调试级别日志运行构建命令。
贡献
欢迎为bgt做出贡献!请随时在我们的GitHub仓库提交问题和拉取请求。
许可证
见许可证。
计划
- 实现Guix构建
- 允许构建指定的标签
- 启用签名
- 添加高级GPG签名解决方案(待定)
- 删除一些依赖项
依赖项
~16–31MB
~499K SLoC