fix: Add release notes automated with LLMs#2025
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review infoConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (3)
WalkthroughThis pull request introduces an AI-powered release notes generation system for the project. It adds a Python script to generate release notes from git diffs and commit history using an LLM, creates a shell wrapper script, and updates the GitHub Actions release workflow to integrate the AI-generated notes into release bodies. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Suggested reviewers
✨ Finishing Touches
🧪 Generate unit tests (beta)
Comment |
|
| GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
|---|---|---|---|---|---|
| 8719688 | Triggered | Generic Password | 6e37cff | .env.template | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
Please make sure all the checkboxes are checked:
|
… workflow The workflow_dispatch trigger had no inputs defined, so inputs.flavour was always empty. This caused the checkout to use a default ref and the branch fetch conditionals to never execute. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Move `import re` to module level, remove inline imports - Fix return type of get_latest_release_tag to str | None - Fix version param type to str | None - Fix return type of generate_release_notes_with_llm to Any (returns pydantic model) - Fix lowercase `any` to `Any` in format_release_notes - Remove unnecessary f-string prefix on system_prompt - Use Path.read_text() instead of open() - Fix LLM_MODEL secret fallback in release.yml (|| doesn't work on secrets) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: vasilije <vas.markovic@gmail.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: vasilije <vas.markovic@gmail.com>
Description
Add automated release notes that work within new release process
Acceptance Criteria
Type of Change
Screenshots/Videos (if applicable)
Pre-submission Checklist
DCO Affirmation
I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin.
Summary by CodeRabbit