Publish built test images for each new PR
Currently the master repository is pushing out any changes to the official docker containers, however no real testing is being done in the wild and these are decoupled from the official releases.
I propose we change the flow that a PR to the master builds a testing container, which people can use to give feedback. Then when releases are released, the release versions are built.
Hey @ehallein! Thanks for the input 😃
I'm keen to address this, but could you clarify it a little? 🙏
We currently have tagged release images, for example :3.5.6.
Master is built for each new commit to the branch.
Are you suggesting that we rebuild the master branch on a nightly cron?
Hi @spwoodcock,
It's been a while since I wrote this, but I think what I was getting at is that whenever a PR is pushed it builds and pushes the container to docker hub as latest/master. The read me says to use "docker pull opendronemap/odm", which will pull the latest, not a tagged release. There doesn't seem to be an obvious testing build for people who want to test the latest changes either, hence the idea of nightly or testing/beta builds (it doesn't actually need to build every night). Then when we are confident the current code is ready we tag it and build latest/tagged release.
maybe have two GitHub actions, one for tags and for pr?
The GPU build especially seems to have lot of issues with different setups, so needs testing even if it works on our development machines.
Ah I got you - thanks!
We could possibly enable image releases / builds per PR, making the image available for PR testers and the community 👍
Easy enough to do as well, as we currently do a build, but don't push. Perhaps GHCR is the best location for the images.