#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 85/week @ 2024-08-06

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