Skip to content

[feature] Automate release process #496

@Dhanus3133

Description

@Dhanus3133

Our current release process is entirely manual. It often involves a lot of time spent digging through git logs, manually writing and formatting the changelog, and remembering a sequence of git commands to tag and release a new version. This process can be time-consuming and creates friction that can discourage us from making frequent releases.

The Proposal

To make this easier and faster, We can use a helper script to automate the most repetitive parts of making a release. The goal wouldn't be to remove humans from the loop. A manual review is still essential, but to handle the tedious, error-prone tasks for us.

Proposed Core Functionality

@nemesifier and I put some thought into what a first version of this script could do. The main focus would be on perfecting the changelog generation. As discussed, it should be able to:

  • Automatically scan git history since the last release tag.
  • Understand our commit conventions, like [feature] etc.
  • Handle breaking changes by looking for a ! (i.e., [change!]).
  • Group commits into logical sections: Features, Changes (Backward incompatible changes, Other changes), Dependencies and Bugfixes.
  • Be smart about dependencies, showing only the latest version of a package if it was updated multiple times.
  • Allow to skip commits from the changelog by using a flag like [skip changelog] on commit description.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions