This repo exemplifies several possible workflows.
-
naive push - on every push to github, the image is built and pushed to DockerHub
-
naive push + cache
-
only tagged versions are pushed to Docker Hub. + a manually triggered job that pushes the image to Github Registry (cache included).