forked from cloud/ovgate
CI: build and publish the container image to GHCR
The Dockerfile's builder stage already runs the unit suite, so the workflow deliberately has no separate test job -- a red test cannot produce an image. After pushing, the published artifact is smoke-tested by digest: `--version` covers a runtime stage missing a shared library, and `--check` against a throwaway credentials file covers the config baked into the image. Both were failure modes a green build would not have caught. The `--check` invocation is verified locally against docker/openvpngate.conf. `latest` follows the newest v* tag rather than the branch head; master head is published as `master`. Registry paths are lowercased explicitly rather than relying on metadata-action, since the same value is reused for the smoke test. GHCR_TOKEN / GHCR_USER / GHCR_IMAGE override the built-ins so this still works from a mirror or a Gitea/Forgejo runner, where the ambient token authenticates to the wrong registry. On github.com none of them need to be set. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
f37cd0a125
commit
40b47a8f66
@@ -11,6 +11,10 @@ build*/
|
||||
.gitignore
|
||||
.dockerignore
|
||||
|
||||
# CI definitions cannot affect the build, and leaving them in means editing a
|
||||
# workflow invalidates the COPY layer and recompiles openvpn3 for nothing.
|
||||
.github/
|
||||
|
||||
# Runtime state. The node cache and the outcome history belong to whichever
|
||||
# machine produced them; the container gets its own in a volume.
|
||||
var/
|
||||
|
||||
Reference in New Issue
Block a user