Skip to content

Add automated Docker image build and publish workflow#104

Open
znhocn wants to merge 1 commit intosipeed:mainfrom
znhocn:main
Open

Add automated Docker image build and publish workflow#104
znhocn wants to merge 1 commit intosipeed:mainfrom
znhocn:main

Conversation

@znhocn
Copy link
Copy Markdown

@znhocn znhocn commented Jan 9, 2026

Summary

This Pull Request introduces a GitHub Actions workflow to automatically build and publish Docker images to GitHub Container Registry (GHCR).

The workflow establishes a consistent image build and tagging strategy, supports multi-architecture builds, and is compatible with both personal and organization repositories.


Proposed Changes

1. Automated Docker image builds

  • Build Docker images on pushes to the main branch
  • Build and publish images on versioned Git tags (vX.Y.Z)
  • Pull request builds run for validation only and do not publish images

2. Consistent image tagging strategy

  • Branch builds publish branch and commit SHA tags
  • Tag builds publish versioned tags and latest
  • Non-release builds do not overwrite the latest tag

3. Multi-architecture support

  • Build images for linux/amd64 and linux/arm64

4. Build cache optimization

  • Use GitHub Actions cache to speed up subsequent builds

Image Tag Behavior

Trigger type Published tags
Pull Request build only (no publish)
Push to main main, sha-<commit>
Git tag vX.Y.Z vX.Y.Z, latest, sha-<commit>

Motivation

  • Establish an automated and repeatable Docker image build process
  • Provide predictable and controlled image tagging for releases
  • Align container publishing behavior with common best practices
  • Ensure compatibility across different repository ownership models

Checklist

  • Workflow runs successfully on pull requests
  • Images are published on main branch pushes
  • Release tags publish versioned and latest images
  • Compatible with personal and organization repositories

@willbert03
Copy link
Copy Markdown

This is a really good idea. It will make it easier to spin up a local version of the web app and run it on different devices. I hope this is implemented soon.

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.

2 participants