Skip to content

Conversation

@chaptersix
Copy link
Contributor

What was changed

Why?

Checklist

  1. Closes

  2. How was this tested:

  1. Any docs updates needed?

Migrate Docker publishing from Docker Hub to GHCR
- Replace Docker Hub authentication with GHCR using GITHUB_TOKEN
- Update image namespace to ghcr.io/chaptersix/temporal-cli
- Remove repository owner checks to enable publishing from fork
- Remove Docker Hub secrets from workflow configuration
Migrate Docker publishing from Docker Hub to GHCR (actual changes)
The metadata step was only setting image_repo to the repository owner
(e.g., 'chaptersix') instead of the full registry path ('ghcr.io/chaptersix').
This caused Docker to try pushing to Docker Hub instead of GHCR.
This change makes Docker image publishing fully configurable while maintaining
backward compatibility with both temporalio (Docker Hub) and forks (GHCR).

Changes:
- Add workflow inputs: registry, registry_namespace, and image_name
- Smart defaults: temporalio uses Docker Hub, forks use GHCR
- Conditional authentication for multiple registries
- Standardize image name to "temporal" everywhere
- Proper handling of Docker Hub's no-prefix format

Workflow inputs (all optional with smart defaults):
- registry: Container registry (docker.io, ghcr.io, etc.)
- registry_namespace: Organization/user (defaults to repository_owner)
- image_name: Image name (defaults to "temporal")

Default behavior:
- temporalio/cli → docker.io/temporalio/temporal
- forks → ghcr.io/{owner}/temporal

This design is PR-able to upstream while working for forks out of the box.
@chaptersix chaptersix requested review from a team as code owners November 21, 2025 15:48
@chaptersix chaptersix closed this Nov 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant