Status: implemented Docker image publishing; binary release automation is not implemented.
.github/workflows/docker-publish.yml builds and publishes the broker image to GitHub Container Registry.
Triggers:
main,v*,workflow_dispatch.The job uses read-only repository contents permission and packages: write. Checkout sets persist-credentials: false; registry login uses the workflow-scoped GITHUB_TOKEN.
The image name is:
ghcr.io/<owner>/<repository>
For the upstream repository this is ghcr.io/cursus-io/cursus.
Published tags are generated by docker/metadata-action:
| Source | Tags |
|---|---|
main push |
main, latest, and sha-<short-sha> |
semantic version tag such as v0.2.0 |
0.2.0, 0.2, latest, and sha-<short-sha> |
| manual run | ref/sha tags allowed by metadata rules |
The current build target is linux/amd64 and uses the repository Dockerfile.
actions/checkout@v7 with persisted credentials disabled.docker/setup-buildx-action@v4.docker/login-action@v4 for ghcr.io.docker/metadata-action@v5 for OCI labels and tags.docker/build-push-action@v6 to build and push.GHCR authentication does not require a separate account beyond GitHub. The repository organization owns the package. Package visibility and access are managed in the GitHub package settings; publishing an image does not automatically guarantee that anonymous pulls are allowed.
The repository currently has no release.yml and no .goreleaser.yml. The Docker workflow does not:
VERSION file,Those capabilities require a separate reviewed release workflow. Until then, tags publish container images only.
After a successful workflow run:
docker pull ghcr.io/cursus-io/cursus:latest
docker inspect ghcr.io/cursus-io/cursus:latest
For a version tag, replace latest with the normalized semantic version, for example 0.2.0.