chore(ci): add release-please and version tags to DockerHub release process#450
chore(ci): add release-please and version tags to DockerHub release process#450
Conversation
- Add release-please workflow to manage semantic versioning and changelog generation - Add semantic PR title validation to enforce conventional commits - Gate DockerHub releases on version tags (v*) instead of all main branch pushes - Update docker-metadata action to support semantic version tagging - Renovate dependency updates now merge to main without triggering releases This ensures intentional releases are managed via release-please PRs, while preventing Renovate and other routine PRs from publishing Docker images. Co-authored-by: Shuni <251468265+shuni-bot[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR introduces automated release management via release-please and changes the CI/release flow so DockerHub publishing happens only on version tag pushes, aligning releases with semantic version tags.
Changes:
- Added a
release-pleaseworkflow to open/maintain release PRs and create version tags on merge. - Updated CI workflow triggers and added PR title validation against conventional commit semantics.
- Updated Docker metadata generation to emit semver-based image tags (e.g.,
1.2.3,1.2,1).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| .github/workflows/release-please.yml | Adds a release-please workflow using a GitHub App token to manage releases/tags. |
| .github/workflows/ci.yml | Adds PR title semantic validation, adds pull_request trigger, and gates DockerHub publishing to v* tags. |
| .github/actions/docker-metadata/action.yml | Adds semver tag patterns to docker/metadata-action output. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@shuni see pr comments, resolve threads. |
|
🐕 Done! Updated PR: #450 📋 Actions Taken✅ Gate |
…y issues - Gate pack job to only run on push events (not PRs) to prevent publishing unreviewed code - Move DockerHub publish from CI workflow to release-please workflow, gated on release creation - Add latest tag support for version tag releases in docker-metadata action - Add plain vX.Y.Z tag format capture in docker-metadata action - Add PR title validation trigger for title edits Fixes security issue where PR builds could publish to GHCR/ECR. Ensures DockerHub releases are intentional and version-tagged. Co-authored-by: Shuni <251468265+shuni-bot[bot]@users.noreply.github.com>
🐕 Shuni Review SummaryReview Status
Changes Implemented✅ Security Fix (Thread 1)
✅ Docker Metadata Fix (Thread 2)
✅ User Requests Implemented
Quality Checks
CommitAll changes committed as: All review threads resolved and user requests implemented. Ready for merge! 🎉 |
Fixes descope/etc#14777
View workflow run
Perfect! I've successfully implemented release-please and gated DockerHub releases on version tags for the authzcache repository. Here's what was done:
Changes Made
1. Added Release-Please Workflow (
.github/workflows/release-please.yml)mainRELEASE_APP_ID,RELEASE_APP_PEM)2. Added Semantic PR Validation (in
ci.yml)feat,fix,docs,style,refactor,perf,test,build,ci,chore,revertbotorignore-semantic-prlabels3. Gated DockerHub Releases on Version Tags (in
ci.yml)publish-dockerhubjob condition fromgithub.ref == 'refs/heads/main'tostartsWith(github.ref, 'refs/tags/v')v1.2.3) is pushedmainwithout triggering releases4. Updated Docker Metadata Action (
.github/actions/docker-metadata/action.yml)type=semver,pattern={{version}}→ e.g.,1.2.3type=semver,pattern={{major}}.{{minor}}→ e.g.,1.2type=semver,pattern={{major}}→ e.g.,1How It Works
v1.2.3)Expected Behavior ✅
1.2.3,1.2,1,latest)Quality Checks Passed
All changes have been committed with the semantic commit message:
ci: add release-please and gate DockerHub releases on version tagsCreated by Shuni 🐕