跳转到主要内容

antsichaut 自动从GitHub Pull Requests生成Ansible更改日志

项目描述

Antsichaut

Antsichaut 自动填充由 antsibull-changelog 使用的 changelog.yaml

您定义一个 GitHub 仓库和一个 GitHub 发布。然后脚本搜索自发布以来的所有拉取请求并将它们添加到 changelog.yaml

PR 将根据以下默认标签分类到更改日志部分

group_config = [
  {"title": "major_changes", "labels": ["major", "breaking"]},
  {"title": "minor_changes", "labels": ["minor", "enhancement"]},
  {"title": "breaking_changes", "labels": ["major", "breaking"]},
  {"title": "deprecated_features", "labels": ["deprecated"]},
  {"title": "removed_features", "labels": ["removed"]},
  {"title": "security_fixes", "labels": ["security"]},
  {"title": "bugfixes", "labels": ["bug", "bugfix"]},
  {"title": "skip_changelog", "labels": ["skip_changelog"]},
]

这意味着例如,带有标签 major 的 PR 被分类到更改日志的 major_changes 部分。

具有 skip_changelog 的 PR 完全不会被添加到更改日志中。

没有上述标签之一的PR会被归类到trivial部分。

安装

pip install antsichaut

手动使用

您需要一个由antsibull-changelog创建的最小changelog.yml

antsibull-changelog release --version 1.17.0

然后定义您想要从中获取PR的版本和GitHub仓库。可以通过参数或环境变量实现。

> cd /path/to/your/ansible/collection
> antsichaut \
  --github_token 123456789012345678901234567890abcdefabcd \
  --since_version 1.17.0 \
  --to_version 1.18.0 \
  --major_changes_labels=foo
  --major_changes_labels=bar
  --minor_changes_labels=baz
  --repository=T-Systems-MMS/ansible-collection-icinga-director
> cd /path/to/your/ansible/collection
> export SINCE_VERSION=1.17.0  # (or `latest`)
> export TO_VERSION=1.18.0     # optional. if unset, defaults to current date
> export REPOSITORY=T-Systems-MMS/ansible-collection-icinga-director
> export MAJOR_CHANGES_LABELS=["foo","bar"]
> export MINOR_CHANGES_LABELS=["baz"]
> antsichaut

这将为changelog.yaml填充PR。然后运行antsibull-changelog generate来创建最终的变更日志。

使用Github Actions的用法

输入

since_version

必需 获取PR的起始版本

to_version

获取PR的结束版本

用法

---
- name: "Get Previous tag"
  id: previoustag
  uses: "WyriHaximus/github-action-get-previous-tag@master"
  env:
    GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

- name: "Run antsichaut"
  uses: ansible-community/antsichaut@main
  with:
    GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
    since_version: "${{ steps.previoustag.outputs.tag }}"

示例

查看以下示例: telekom_mms.icinga_director prometheus.prometheus

致谢和赞扬

此脚本最初是从https://github.com/saadmk11/changelog-ci/分叉并修改的,由@rndmh3ro修改。感谢,@saadmk11!

从2021年5月到2023年5月,该项目由@rndmh3ro维护,然后慷慨地转让给了ansible社区组织。感谢@rndmh3ro!

许可证

此项目中的代码是在MIT许可下发布的。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

antsichaut-0.4.0.tar.gz (8.5 kB 查看哈希值)

上传

构建分布

antsichaut-0.4.0-py3-none-any.whl (9.4 kB 查看哈希值)

上传 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面