-
Notifications
You must be signed in to change notification settings - Fork 46
ci: add GitHub release on merge to master #113
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 release creation step to CI workflow that: - Creates a GitHub release after tagging - Includes auto-generated release notes from PRs/commits - Shows Docker image availability in release body - Skips release creation if tagging failed Also adds commit guidelines to CLAUDE.md.
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 automatic GitHub Release creation when code is merged to the master branch. The release is created only if git tag creation succeeds, and includes auto-generated changelog notes from PRs and commits, along with information about the Docker image availability.
Key changes:
- Adds GitHub Release automation step to the Docker build workflow
- Release includes Docker image tags and auto-generated release notes
- Also adds AI assistant instructions to CLAUDE.md (unrelated to main PR purpose)
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| .github/workflows/push-docker-hub.yml | Adds "Create GitHub Release" step that creates a release with auto-generated notes and Docker image information when tag creation succeeds |
| CLAUDE.md | Adds "Important Rules" section with instructions for AI assistant about not committing unless explicitly told |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - name: Create GitHub Release | ||
| if: steps.tag.outputs.version != 'skipped' | ||
| uses: softprops/action-gh-release@v2 | ||
| with: | ||
| tag_name: ${{ steps.tag.outputs.version }} | ||
| name: Release ${{ steps.tag.outputs.version }} | ||
| body: | | ||
| ## What's Changed | ||
| Docker image available at: | ||
| - `xhenxhe/dailynotes:${{ steps.tag.outputs.version }}` | ||
| - `xhenxhe/dailynotes:latest` | ||
| generate_release_notes: true | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
Copilot
AI
Dec 12, 2025
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.
The workflow needs explicit permissions to create GitHub releases. Add a permissions block at the job level with contents: write permission. Without this, the GITHUB_TOKEN will not have sufficient permissions to create releases, causing this step to fail.
Add the following at the job level (after runs-on: ubuntu-latest):
permissions:
contents: write| body: | | ||
| ## What's Changed | ||
| Docker image available at: | ||
| - `xhenxhe/dailynotes:${{ steps.tag.outputs.version }}` | ||
| - `xhenxhe/dailynotes:latest` | ||
| generate_release_notes: true |
Copilot
AI
Dec 12, 2025
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.
The release body includes a "What's Changed" header, but generate_release_notes: true will also automatically generate a "What's Changed" section from PRs and commits. This will result in two "What's Changed" headers in the release notes, which looks unprofessional.
Consider removing the "What's Changed" header from the body and let the auto-generated notes handle it, or restructure the body to use a different header like "Docker Images" for the custom content.
Summary
Test plan