-
-
Notifications
You must be signed in to change notification settings - Fork 0
chore: add Docker deployment support #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Add comprehensive Docker deployment infrastructure with reusable workflows, multi-architecture builds, and dual registry publishing. Features: - Multi-architecture Docker images (linux/amd64, linux/arm64) - Publish to GitHub Container Registry (ghcr.io) and Docker Hub (docker.io) - Reusable workflow structure for maintainability - OCI-compliant labels and annotations using docker/metadata-action - Build caching for faster builds - PR dry-run mode for testing Workflow Structure: - build-cli-docker.yml: Reusable workflow for building and publishing images - release.yml: Updated to call Docker build workflow - Digest-based multi-arch manifest creation Docker Images: - ghcr.io/techprimate/github-actions-utils-cli - docker.io/techprimate/github-actions-utils-cli Tags: - latest: Latest main branch build - v1.0.0: Specific version releases - 1.0, 1: Semantic version tags Infrastructure: - Makefile targets: build-linux, docker-build, docker-test, docker-run - .dockerignore for optimized build context - Dockerfile with buildpack-deps:bookworm base - Comprehensive documentation in README.md and AGENTS.md Requires GitHub secrets/variables: - DOCKERHUB_USERNAME (variable) - DOCKERHUB_TOKEN (secret)
359d002 to
7ed15fa
Compare
|
@sentry review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds Docker container support to the GitHub Actions Utils CLI project, enabling deployment and distribution via Docker images published to GitHub Container Registry and Docker Hub.
- Adds Dockerfile for multi-platform container builds (linux/amd64, linux/arm64)
- Implements automated Docker image build and publish workflow via
build-cli-docker.yml - Adds Makefile targets for local Docker development and testing
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| Dockerfile | New multi-platform Dockerfile using buildpack-deps:bookworm base image with architecture-specific binary selection |
| .dockerignore | Excludes unnecessary files from Docker build context while allowing Linux binaries |
| Makefile | Adds build-linux, docker-build, docker-test, and docker-run targets for Docker workflows |
| .github/workflows/build-cli-docker.yml | New reusable workflow for building and publishing multi-platform Docker images to GHCR and Docker Hub |
| .github/workflows/release.yml | Integrates Docker build into release pipeline with pull request dry-run support |
| README.md | Documents Docker installation, usage, and development workflows |
| AGENTS.md | Documents Docker deployment details, image registries, and publishing process |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Docker Deployment with Multi-Registry Support
This PR adds comprehensive Docker deployment infrastructure with multi-architecture builds and dual registry publishing.
Features
Multi-Architecture Support
linux/amd64,linux/arm64Dual Registry Publishing
ghcr.io/techprimate/github-actions-utils-clidocker.io/techprimate/github-actions-utils-cliModern Metadata Management
docker/metadata-action@v5Workflow Structure
build-cli-docker.ymlfor maintainabilityWhat's Included
New Files
.dockerignore- Optimized build contextDockerfile- Multi-stage build withbuildpack-deps:bookworm.github/workflows/build-cli-docker.yml- Reusable Docker build workflowUpdated Files
.github/workflows/release.yml- Integrated Docker build workflowMakefile- New Docker targets (build-linux, docker-build, docker-test, docker-run)README.md- Docker usage instructions and examplesAGENTS.md- Complete Docker deployment documentationDocker Images
Registries
Available Tags
latest- Latest main branch buildv1.0.0- Specific version releases1.0- Major.minor version1- Major versionImage Details
buildpack-deps:bookworm(~200MB)/usr/local/bin/github-actions-utils-cliUsage Examples
MCP Client Configuration
{ "mcpServers": { "github-actions-utils": { "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/techprimate/github-actions-utils-cli:latest", "mcp" ] } } }Local Development
Required Configuration
To enable Docker Hub publishing, add the following to repository settings:
Variables
DOCKERHUB_USERNAME- Docker Hub usernameSecrets
DOCKERHUB_TOKEN- Docker Hub access tokenWorkflow Behavior
On Main Branch Push
latestOn Version Tag (e.g., v1.0.0)
On Pull Request
Benefits
Testing
The workflow includes comprehensive testing:
Related: Closes any Docker deployment issues (if applicable)