dracutdevs / dracut

dracut the event driven initramfs infrastructure
https://github.com/dracutdevs/dracut/wiki
GNU General Public License v2.0
604 stars 400 forks source link

ci: automate release generation #2428

Closed Henrik66 closed 1 year ago

Henrik66 commented 1 year ago

Make Makefile rules more generic to be able to use them not just in manual release process but also in CI release process.

This PR should not have an observable effect on any of the release generation steps. This is a refactor to reuse more code.

https://stackoverflow.com/questions/73085141/git-shortlog-in-a-github-workflow-for-a-specific-directory has more information on why some of these changes are required.

Automate release generation and make a release on Apr-1, Aug-1 and Dec-1.

Tested here: https://github.com/Henrik66/dracut (by forcing it to run every 10 min). It generated the release as before and after that it bailed out to generate additional releases.

LaszloGombos commented 1 year ago

There is an interest to create regular automated releases from the project owners.

@Henrik66 perhaps we can increase the scope of this PR and run the release generation GitHub Action on a scheduled regular basis - e.g. 3 times a year (Apr, Aug, Dec). Would you be interested working on this ?

There is some information on how to do this here - https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule

Henrik66 commented 1 year ago

Still a draft until I find time to fix: https://github.com/Henrik66/dracut/actions/runs/5571418110

GitHub Releases requires a tag

Henrik66 commented 1 year ago

The script now exports the computed release to Github Action. It also detects if there is a new commit since last release that would warrant a new release generation.