-
Notifications
You must be signed in to change notification settings - Fork 0
Added: Optional changelog generation via devops-changelog action #9
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
- Added 40 changelog inputs to action.yml (4 control + 36 auto-changelog pass-through options) - Modified checkout step with conditional fetch-depth: 0 when changelog enabled - Added changelog generation step calling Reloaded-Project/devops-changelog@v1 - Added conditional changelog artifact upload step - Modified GitHub release step with body_path for changelog content - Added conditional changelog file to release assets - Updated README.MD with changelog feature documentation and parameter tables - Feature is opt-in and backward compatible (changelog-enabled defaults to false) - No code duplication - composes with existing devops-changelog action
WalkthroughThis PR introduces comprehensive changelog generation support to the GitHub Actions workflow. It adds 41 new input parameters for controlling changelog generation (enabling, artifact handling, output formatting, URL/pattern configuration, versioning, and display options), integrates a new conditional "Generate Changelog" workflow step, and modifies existing steps to conditionally incorporate the generated changelog into release artifacts and GitHub releases. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes
Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
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.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
README.MD(2 hunks)action.yml(3 hunks)
🔇 Additional comments (7)
README.MD (3)
23-23: LGTM!The feature bullet is concise and clearly communicates the changelog generation capability.
216-220: LGTM!The updated "How this Action Works" section correctly indicates the optional nature of changelog generation. The Rust/Cargo documentation clearly distinguishes between the two publishing methods (standalone vs. workspace projects) with helpful descriptions.
159-211: README Changelog Parameters documentation is accurate and consistent with action.yml.All 40 changelog input names in the README tables exactly match the input definitions in action.yml, including proper hyphenation and naming conventions. No discrepancies found.
action.yml (4)
79-241: Comprehensive changelog parameter structure looks good.The new inputs section provides clear organization with consistent naming conventions (kebab-case), sensible defaults (false for booleans, empty strings for optional configs), and concise descriptions. The control inputs (
changelog-enabled,changelog-include-in-release,changelog-upload-artifact) are properly marked as non-required, making the feature genuinely opt-in and backward-compatible.
258-300: Changelog generation step is properly wired.The step correctly:
- Guards with
if: inputs.changelog-enabled == 'true'- Disables redundant operations (
auto-checkout: false,upload-artifact: false,upload-release: false)- Passes all 36 pass-through inputs without duplication or mutation
- Delegates responsibility to the composed
devops-changelog@v1action
302-307: Artifact upload step has correct conditional logic.The step properly guards both feature enablement (
changelog-enabled) and user opt-in (changelog-upload-artifact), and references the correct artifact name and path inputs.
328-328: Release body and files integration correctly conditionalized.The expressions for
body_pathandfilesuse the && and || pattern to conditionally include the changelog. When enabled, they resolve to the changelog output path; otherwise, to an empty string. softprops/action-gh-release gracefully handles empty patterns in multiline file lists by treating them as unmatched patterns that do not trigger failures (unless fail_on_unmatched_files is explicitly set to true). This approach preserves backward compatibility for workflows that don't use the changelog feature.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.