ci: build and publish Docker image to GHCR#18
Closed
seitzbg wants to merge 1 commit into
Closed
Conversation
Add a GitHub Actions workflow that builds the Docker image on every pull request (build-only, no push, so fork PRs need no secrets) and publishes to ghcr.io/<owner>/slopsoil on pushes to main and on v*.*.* release tags. Tags: main -> :latest, :sha-<short> (:latest tracks main HEAD) v1.2.3 -> :stable, :1.2.3, :1.2 (:stable tracks newest release) Uses the built-in GITHUB_TOKEN (no extra secrets to configure), linux/amd64 only to match the VA-API hardware-accel Dockerfile, with GitHub Actions layer caching.
Owner
|
While I appreciate the PR, I already have some work in flight to build out the CICD system, the git strategy, and release cycles |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a GitHub Actions workflow (
.github/workflows/docker-publish.yml) that builds the existingDockerfileand publishes the image to GHCR (ghcr.io/dev-topsoil/slopsoil). There's currently no automated image build, so users have todocker compose buildlocally — this makes a pullable image available and validates the Dockerfile on every PR.Behavior
main:latest,:sha-<short>v*.*.*:stable,:X.Y.Z,:X.Y:latesttracksmainHEAD;:stabletracks the newest release tag.GITHUB_TOKEN— no secrets to configure. Only needspackages: write(declared in the workflow).Dockerfilestill works but never push, so they need no credentials.linux/amd64only, matching the VA-API / RPM Fusion hardware-accelDockerfile(arm64 has no equivalent HW-encode path and would only build under slow QEMU emulation).type=gha); cache is written only when pushing, since fork PRs can't write to the Actions cache.Notes for the maintainer
docker pull.docker-compose.ymlchange here; it keeps usingbuild: .. Happy to add animage:pull option in a follow-up if you'd like.actionlint.Test plan
actionlintclean; YAML validates.