Closed kloczek closed 6 months ago
We can explore it if it can be automated. As described in issue #163 an existing nascent effort to automate releases needs work. I am already double writing the release notes in the current method, so whatever evolution should have a single source of truth for release notes that updates (a) the HISTORY file, (b) the tag message, (c) the Github release notes.
Thank you. In simplest version gh release can be added even with empty comment.
I just posted today's release, v3.7, as a Github release. Will pursue workflow automation to post the release as part of the publish action later.
@kjd maybe worth to have an eye on semantic-release. It is a nodejs tool, but setting a nodejs environment up via github workflow is straight forward.
We're using it as well in all our public repositories which cover different programming languages (Java, Python, Golang, PHP, ...). Exemplary configuration for our Python SDK which is getting published to pypi: https://github.com/centralnicgroup-opensource/rtldev-middleware-python-sdk/blob/master/.releaserc.json
We do the publishing to PyPi still with bash scripts, but let me point you to a better way: https://github.com/abichinger/semantic-release-pypi a plugin for semantic-release which might be a better idea.
Trust me, automating the release process using that tool is leading you to such a great experience. It takes a bit getting familiar with it, but definitely worth it.
HTH
Thank you very much π π
Just noticed that my automation was able successfully process gh release email notification automatically updating rpm package with your python module π πΊ
Closing π
On create github release entry is created email notification to those whom have set in your repo the web UI Watch->Releases. gh release can contain additional comments (li changelog) or additional assets like release tar balls (by default it contains only assets from git tag) however all those part are not obligatory. In simplest variant gh release can be empty because subiekt of the sent email contains git tag name.
I'm asking because my automation process uses those email notifications by trying to make preliminary automated upgrades of building packages, which allows saving some time on maintaining packaging procedures. Probably other people may be interested to be instantly informed about release new version as well.
Documentation and examples of generate gh releases: https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository https://cli.github.com/manual/gh_release_upload/ https://github.com/jbms/sphinx-immaterial/pull/282 https://github.com/marketplace/actions/github-release https://pgjones.dev/blog/trusted-plublishing-2023/ https://github.com/jbms/sphinx-immaterial/issues/281#issuecomment-1700933026 tox target to publish on pypi and make gh release https://github.com/jaraco/skeleton/blob/928e9a86d61d3a660948bcba7689f90216cc8243/tox.ini#L42-L58