Skip to content

Conversation

@mabels
Copy link

@mabels mabels commented Mar 5, 2023

clark42 added a commit to KamorionLabs/aws-smtp-relay that referenced this pull request Nov 12, 2025
Major overhaul of build and release infrastructure:

## GoReleaser Configuration
- Multi-platform binary builds (Linux, Windows, macOS)
- Cross-architecture support (amd64, arm64, armv6, armv7)
- Automated GitHub releases with binaries and checksums
- Docker multi-architecture builds via GoReleaser

## Docker Images
- **Distroless** (production): Minimal, secure images (~2MB)
- **Alpine** (debug): Images with shell and tools (~7MB)
- Multi-arch support: amd64, arm64, armv7
- Dual registry publishing: Docker Hub + GitHub Container Registry

## Image Tags
- `latest` - Latest stable release
- `vX.Y.Z`, `vX.Y`, `vX` - Semantic versions
- `main` - Latest commit from main branch (unstable)
- All tags available in `-alpine` variant for debugging

## GitHub Actions Workflows
- **ci.yml**: Lint, build, and test on PRs and main
- **release.yml**: Release workflow triggered on version tags
- **main-build.yml**: Automated builds of main branch
- **Removed**: docker-publish.yml (replaced by GoReleaser)

## Documentation
- Added comprehensive Docker tags documentation
- Installation methods: binaries, source, Docker
- Clear distinction between production and debug images
- Updated both README.md and README.dockerhub.md

## Credits
Based on work from blueimp#24 by @mabels
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