The original design assumed that every user would configure login credentials with appropriate write permissions for the Docker Hub repository. Consequently, forks or pull requests fail on the first step.
This change allows the build to complete without login credentials. It skips pushing the cache or pushing the candidate image.
The release (docker tag) step still requires login credentials and fails if they are absent. This guarantees that git tagging is only possible once all images have been pushed out to all container registries.
PR: #24
Lets the workflow run without specifying the `DOCKER_HUB_NAMESPACE` secret. It uses `github.repository_owner` as the default value for the Docker Hub namespace.
PR: #23
Defining the LABEL via an ARG at the top of the Dockerfile prevents other GitHub repositories (or local Docker users) from leveraging otherwise identical cache layers.
PR: #18
Workaround for a dependency conflict ...
#7 3.632 The following packages have unmet dependencies:
#7 3.692 curl : Depends: libcurl4 (= 7.64.0-4+deb10u2) but 7.74.0-1.2~bpo10+1 is to be installed
#7 3.703 E: Unable to correct problems, you have held broken packages.
This should be reverted once `cmake` no longer comes from buster-backports.
PR: #13
See: 5de32f5d18