Migrate Docker image publishing to a Go script
Problem to solve
At the moment we have 2 sets of scripts for us to publish the Docker images and the helper image one of them is in bash to publish the Linux based images and one of them is in PowersShell.
Problems with the current set up:
- Every time we want to change something we have to do so in both cases which brings a lot of maintainability cost and requiring us to remember that we have to update both.
- There is a lot of duplication for example logging in and publishing images.
- It's hard to follow what is going on sometimes you need to run a lot of manual QA to change the script.
- Each platform has it's own quirks which double the work for us.
We need a declarative way to specify which images to push to what registry and what credentials to use. For example, GoRelease does a great job at this. Ideally we should check first if there is such a tool that exists, if not we can port the bash/powershell scripts in Go so we can use the same thing for both platforms and get a bit more flexibility with Go then bash.
/cc @tmaczukin