oliver006/redis_exporter

Automatic CI workflows for release

arthurzam opened this issue · 4 comments

I would like to contribute multiple CI workflows for the repo. Some of them are needed for easier packaging for Gentoo distribution, and some I think would be nice for you. Before I start to work on it, I wanted to ask if there are things you don't need or are against. Just to clarify, I'll work on it :)

  • adding sdist to release which includes vendored modules (so equivalent of git checkout + go mod vendor + tar). This one would be very useful for Gentoo and other distros since it enables to just compile without fetching all the dependencies using net.
  • compiling the binaries for multiple platforms on release and attaching them
  • on release, build the updated docker and upload to docker hub (would require you to add the secrets in your repo, I won't have access to them, and this workflow would require you to "approve" it before it starts).

All of them would trigger automatically upon you tagging a release in git.

Thanks @arthurzam - All of the above would be great and I'm intersted to move away from Drone if possible. Their free hosted solution has problems every so often and it blocks releases.
A while back I started #737 for Github actions but didn't have time to finish it.

It would take a bit of work to get the tests to run cleanly on master and PR branch pushes.
The packaging should be pretty straight-forward but in my experience, the devil is always in the details and it takes a good bit of fiddling to get it to work.
IMO, the most important thing is that nothing changes in terms of output so that we don't break existing automation. Filenames, file structure of zips, etc all would need to stay exactly the same.

I got it. I'll do my best to be exactly backward compatible in the release artifacts. I guess I'll split it into different PRs when I work on it, so you will have easier time verifying it 😄

I can't give exact timeline, but I think in the current week you will be able to see first PRs.

Thank you very very much, your help is very much appreciated!
And let em know if you need my help, e.g. for creating secrets.