mqtt-tools / mqttwarn

A highly configurable MQTT message router, where the routing targets are notification plugins, primarily written in Python.
https://mqttwarn.readthedocs.io/
Eclipse Public License 2.0
957 stars 184 forks source link

Discussing the release pipeline #425

Closed amotl closed 3 years ago

amotl commented 4 years ago

Introduction

We are coming from #341 and #423 here.

After #423 has been merged (thanks again @koenvervloesem and @jpmens), we might consider building a full release pipeline in order to get rid of any tedious work involved when cutting a new release. While I generally hesitate to over-engineer things, we might come to the decision that it could be worth putting in some effort once in order to save us from any future grunt work on that topic.

Coordinating releases

Currently, cutting releases and publishing the release artifacts involves all of the core maintainers.

Example 1

@jpmens said:

I published using an automated build which is set up to "when push to mqttwarn, build".

@rgitzel answered:

Rather than republishing the image automatically on a Git commit, it is probably clearer to do the build/tag/push steps manually when a new version of the app is released. Probably the Dockerhub automation could do that, but that might be more complicated to set up than it's worth?

Example 2

@amotl asked:

Shall I cut a new release 0.16.0 collecting all the latest updates and publish this to PyPI before you will build and publish a new image to Docker Hub?

@jpmens answered:

Go ahead, @amotl.

State of the onion

I recognize that some bits and pieces already got automated in some way:

Thoughts

Is anyone interested in helping out with this? I see these topics worthwhile to include in the respective discussion:

With kind regards, Andreas.

amotl commented 4 years ago

I had the pleasure to work together with @gutzbenj on the very same aspects within the fine Wetterdienst package, see also https://github.com/earthobservations/wetterdienst/issues/85. @gutzbenj just added a corresponding GitHub Action release.yml we might want to consider reusing here.

Please note that we already switched from setup.py to pyproject.toml and Poetry there, see https://github.com/earthobservations/wetterdienst/pull/90.

amotl commented 3 years ago

Hi again,

I believe the release pipeline now is in a decent shape, so I am closing this ticket.

With kind regards, Andreas.