关于 homebrew-formula-maintenance
用于维护 PyPI 上 Python 命令行工具对应 Homebrew formula 的工作流技能,涵盖版本与校验和更新、依赖资源刷新、测试审计及可选的 CI tap 更新。
主要功能
- 01验证 PyPI 发行版本及源码校验和
- 02更新 formula URL 和 SHA256
- 03重新生成 Python 依赖资源
- 04运行 brew 安装、测试、审计和样式检查
- 05通过 CI 自动更新 tap
适用场景
- 01在 PyPI 发布后更新 formula
- 02依赖变更后刷新资源配置
- 03推送 tap 更新前验证 formula
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bobmatnyc/ claude-mpm-skills --skill homebrew-formula-maintenance安装后在 Claude Code 中输入/homebrew-formula-maintenance确认已加载。
附带文件metadata.json
详细介绍
Homebrew 配方维护
概述
使用此工作流,让用于 Python CLI 的 Homebrew 配方与 PyPI 发布版本保持同步。你的 tap 中采用的模式是:更新版本号和 sha、按需刷新资源代码块、运行 brew install/test/audit,然后推送 tap 更新(手动或通过 CI)。
快速开始(手动更新版本)
- 确认 PyPI 上已发布该版本,并获取 sdist URL 和 SHA256。
- 更新配方中的
url和sha256。 - 如果配方使用
virtualenv_install_with_resources,请刷新resource代码段。 - 测试:
brew install --build-from-source+brew test+brew audit --strict。 - 更新变更日志/标签并推送 tap 仓库。
已在使用的本地脚本
homebrew-claude-mpm/scripts/update_formula.sh <version>- 验证 PyPI 信息、更新 url/sha、重新生成资源,可选择运行 brew test/audit。
homebrew-claude-mpm/scripts/generate_resources.py- 从 PyPI 生成 Python 依赖的
resource代码块。
- 从 PyPI 生成 Python 依赖的
homebrew-claude-mpm/scripts/test_formula.sh- 端到端执行 brew 安装/测试/审计/样式检查。
mcp-vector-search/scripts/update_homebrew_formula.py- 端到端更新 tap,支持
--dry-run、--version、--tap-repo-path和HOMEBREW_TAP_TOKEN。
- 端到端更新 tap,支持
标准工作流
1. 确认 PyPI 发布版本
- 检查 sdist 是否可用,并记录 URL/SHA。
- 常用命令:
curl -s https://pypi.org/pypi/<package>/<version>/json。
2. 更新配方 URL 和 SHA
- 替换
Formula/<name>.rb中的url和sha256。 - 配方版本号通过 sdist URL 隐式指定即可(你的 tap 采用此方式)。
3. 刷新资源(Python 虚拟环境配方)
如果配方使用 Language::Python::Virtualenv 和 virtualenv_install_with_resources:
- 依赖项变更后重新生成
resource代码段。 - 使用
generate_resources.py或同等工具;粘贴前检查输出。
4. 测试和审计
在 tap 仓库中运行以下命令:
brew install --build-from-source ./Formula/<name>.rb
brew test <name>
brew audit --strict ./Formula/<name>.rb
brew style ./Formula/<name>.rb
5. 提交并推送
- 如果 tap 仓库会跟踪发布版本,请更新
CHANGELOG.md。 - 按 tap 工作流要求提交、打标签并推送。
配方模式(来自你的 tap)
完整虚拟环境配方(claude-mpm)
include Language::Python::Virtualenvvirtualenv_install_with_resources- 用于固定依赖项的大型
resource代码块 test do使用--version等 CLI 命令和子命令
最简虚拟环境配方(mcp-vector-search)
- 显式创建虚拟环境并运行
pip install -v buildpath - 使用
bin.install_symlink安装 CLI 入口点 - 最简
test do使用--version和--help
CI 自动化模式
你的 Homebrew 更新 GitHub Actions 工作流采用以下流程:
- 在标签触发时运行,或在 CI 成功后通过
workflow_run触发。 - 运行
scripts/update_homebrew_formula.py。 - 需要
HOMEBREW_TAP_TOKEN(以及可选的HOMEBREW_TAP_REPO)。 - 失败时,创建包含手动更新步骤的 issue。
故障排除
- PyPI 上缺少发布版本:确认标签已推送且发布步骤已完成。
- SHA 不匹配:从 PyPI JSON 重新获取 sdist 的 SHA。
- brew audit 失败:确认依赖资源代码块与 sdist 匹配,并且存在
[email protected]依赖项。 - 安装失败:检查
[email protected]依赖项和virtualenv_install_with_resources的用法。
相关技能
toolchains/universal/infrastructure/github-actionstoolchains/universal/infrastructure/docker
评论
支持 Markdown