Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

antsichaut

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

antsichaut

antsichaut automates ansible changelog generation from GitHub Pull Requests

  • 0.4.0
  • PyPI
  • Socket score

Maintainers
2

Antsichaut

Antsichaut automates the filling of a changelog.yaml used by antsibull-changelog.

You define a Github repository and a Github release. Then the script searches all pull requests since the release and adds them to the changelog.yaml.

The PR's get categorized into the changelog-sections based on these default labels:

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"]},
]

This means for example that PR's with the label major get categorized into the major_changes section of the changelog.

PR's that have a skip_changelog do not get added to the changelog at all.

PR's that do not have one of the above labels get categorized into the trivial section.

Installation

pip install antsichaut

Manual Usage

You need a minimal changelog.yml created by antsibull-changelog:

antsibull-changelog release --version 1.17.0

Then define the version and the github repository you want to fetch the PRs from. Either via arguments or via environment variables:

> 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

This will fill the changelog.yaml with Pull Requests. Then run antsibull-changelog generate to create the final changelog.

Usage with Github Actions

Inputs

since_version

Required the version to fetch PRs since

to_version

the version to fetch PRs to

Usage

---
- 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 }}"

Examples

Check these examples out: telekom_mms.icinga_director prometheus.prometheus

Acknowledgements and Kudos

This script was initially forked from https://github.com/saadmk11/changelog-ci/ and modified by @rndmh3ro. Thank you, @saadmk11!

From May 2021 through May 2023, this project was maintained by @rndmh3ro and then graciously transferred to the ansible community organization. Thank you @rndmh3ro!

License

The code in this project is released under the MIT License.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc