Codename-Recon / Gridlock

Gridlock - Turn-based strategy game
GNU General Public License v3.0
9 stars 5 forks source link

Automatically generate release notes from conventional commit messages when creating a new tag #33

Open HunterNN opened 9 months ago

HunterNN commented 9 months ago

Currently, creating a new tag in the repository triggers the automatic creation of a new GitHub release. However, the release description is currently empty. To improve transparency and provide better context for each release, it would be beneficial to automatically generate the release notes from the conventional commit messages that were used to create the tag. This will allow users to easily understand what changes are included in each release.

A possible implementation could be done here:

https://github.com/Codename-Recon/Codename-Recon/blob/39309e148094171cf0bb3df49bd929a79047ee58/.github/workflows/client-releases.yaml#L61-L62

Darkbladecr commented 9 months ago

I'll pick this up, will be setup with semantic-release

example of the output you would get:

1.0.0 (2024-02-02)

Bug Fixes

* animate: optimize sprite animation (466fc75)
* bugs: TS bugs resolved (0328ab2)
* cleanup: tidy code (35baf4c)
* code: clean up of code (7ac528c)
* engine: reference Movement from State (9643ee5)
* logs: remove console.logs (09b8086)
* movement: setup correct init of Movement (6a5b536)
* movement: vectors for movement and attack range (002394e)
* render: deleted sprites and render coordinates (7b6a44e)
* render: Gif animation rewrite (c0ad11a)

Features

* assets: add sprites (6711a78)
* assets: rebuild asset referencing and add metadata (a030eb2)
* class: move global data to static Class properties (de134d0)
* class: move leftover global data to static Class properties (b41184f)
* CO: initial setup of COs (6952caa)
* cursor: implement map cursor (5042725)
* decals: split decals to separate layers (1f12b03)
* gif: setup animated gifs on canvas (6776769)
* grid: update grid stroke color (d017052)
* imports: clean up import/export organization (aa67dda)
* imports: move extra files out of root (0b79b92)
* imports: setup new classes for compartmentalization (df5a562)
* map: added padding for tall terrain at top (e132e6e)
* map: setup gameMap (d0d0832)
* movement: implement calc, and draw on canvas (e293baa)
* movement: initial setup (a9fc098)
* mvp: for using original spritesheets (baee866)
* org: reorganize internal map structure and GIFs (a3b336e)
* pathing: setup A* pathing and optimize movement calc (fd77d2b)
* render: improve grid iteration and create a renderQueue system (6356b1f)
* sprites: add decal sprites (f578302)
* state: implement global shared state (354a356)
* state: use a Map instead of 2D array for tile assignment (2f41842)
* weather: adapt movement based on weather changes (411736c)
* weather: setup weather animations (688df88)
HunterNN commented 9 months ago

I'm assuming that the portion of the text before the colon indicates the scope. It might be beneficial to create a list of possible scopes for reusability. We could start with an initial list and then add new ones to it as new scopes become necessary.

Dracks commented 4 months ago

hey, one thing that can be interesting: https://github.com/orhun/git-cliff