Skip to content

Migrate beta deploy to use GHCR instead of docker hub. #926

@augustjohnson

Description

@augustjohnson

Is your feature request related to a problem? Please describe.
The current build_and_deploy.yml workflow pushes to Docker Hub, which requires maintaining separate creds (DOCKERHUB_USERNAME, DOCKERHUB_TOKEN) as repo secrets. The image tag uses staging, which doesn't match the environment name (beta / api-beta). If multiple PRs merge to staging in quick succession, multiple builds and deploys run simultaneously, racing against each other on the DigitalOcean deploy API.

Describe the solution you'd like

  • Use GHCR instead of Docker Hub (as the default at least, potentially mirror on docker hub down the road).
  • Add a concurrency protection to this to ensure reliable builds.
  • Add filters for docs-only PRs.
  • Update the DO deploy to use GHCR instead.

Describe alternatives you've considered

  • Stay on docker hub - works but spans +1 services, and includes an individual's tag (eepmoody) as part of the container repo.

Additional context
Post issue resolution, PRODUCTION will still build from docker hub. That's future work. This issue is scoped to be only beta deploys.

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions