#bitcoin #builder #guix

构建 bgt

自动构建 Bitcoin Core 的 Guix 工具

3 个版本

新版本 0.1.2 2024年8月13日
0.1.1 2024年8月12日
0.1.0 2024年8月12日

#48构建工具

Download history • Rust 包仓库 85/week @ 2024-08-06 • Rust 包仓库

91 每月下载量

MIT 许可证

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