SuperAPI AI 工具集

release-dart-package-action

通用与其它

查看项目

更新于 10-15 22:14

技能介绍

用途:在包含工作区 pubspec.yaml 的 Git 根目录下,按 SemVer 流程发布 Dart 或 Flutter 包,并借助 GitHub Actions 完成发布。发布请求仅授权所选包的工作流,版本选择与有歧义的工作流选择仍需用户确认。

主要能力:读取根 pubspec.yaml,展开 workspace 条目并在多包时选择一个包;运行 scripts/pre_check.py 检查未提交改动或落后上游的分支,并报告发布推送将包含的领先提交;检测 FVM,在配置时给 Dart/Flutter 命令加 fvm 前缀;运行 scripts/inspect_workflows.py [package-name] 选择使用 dart-lang/setup-dart 的 publish.yml 工作流并记录其标签模式,若不存在则读取 github_action_template.md。

使用方式:运行 python <skill-root>/scripts/prepare_release.py <current-version> [--tag-match <pattern>] [--package-path <relative-package-path>] 生成 SemVer 建议与 changelog 条目,仅在用户未提供替代方案时采用建议,并保留项目 changelog 约定。只更新所选包的 pubspec.yaml 与 CHANGELOG.md,按精确路径提交,提交信息为 chore(release): <version>。在所选包目录运行 dart pub publish --dry-run(或 fvm dart pub publish --dry-run),仅在成功后继续。创建一个匹配所选工作流模式、指向已验证提交的新标签,绝不移动或复用已有发布标签。通过 python <skill-root>/scripts/push_tag_and_print_actions.py <tag> 推送当前分支与精确标签,并在可识别远程时打印 GitHub Actions URL。

限制:推送或工作流失败不算完成发布,应保留提交与不可变标签以便诊断。最终需报告包路径、新旧版本、工作流与标签模式、变更文件、dry-run 结果、精确提交与标签、推送结果、Actions URL 及剩余发布验证事项。