Add script to compile Changelog from individual entries#7177
Add script to compile Changelog from individual entries#7177
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7177 +/- ##
=======================================
Coverage 87.25% 87.25%
=======================================
Files 536 536
Lines 35375 35375
Branches 4120 4120
=======================================
Hits 30866 30866
Misses 3618 3618
Partials 891 891 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Greptile SummaryIntroduces a fragment-based changelog system to eliminate merge conflicts when multiple PRs edit
Issue Found: The code validates Confidence Score: 3/5
Important Files Changed
|
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
|
@greptile |
noxfiles/changelog_nox.py
Outdated
| if "pr" not in data: | ||
| missing.append("pr") |
There was a problem hiding this comment.
I didn't see a check to verify the PR number etc is added before merging. Its not a huge issue, just kind of a gap. The change could be added to the changelog without a PR # or link.
There was a problem hiding this comment.
Maybe in the workflow file we could add something like this to catch any errors at PR time instead of release time.
- name: Validate changelog entries
run: |
pip install pyyaml
nox -s "changelog(dry)"
There was a problem hiding this comment.
Added a nox -s "changelog(validate)" that allows specifying only specific files
JadeCara
left a comment
There was a problem hiding this comment.
Left a comment on a potential gap, other than that looks good to me. The commands ran as expected!
Thanks for the excellent updates to the documentation!
Co-authored-by: Jason Gill <jason.gill@ethyca.com>
Ticket []
Description Of Changes
This PR proposes a new way to create our release Changelog. Right now, it's very common to add your entry to the
CHANGELOG.mdfile in a PR, and then have to constantly resolve conflicts on it as other PRs that also edited the file get merged. This PR proposes an entry-based approach, where each PR adds an entirely new file in a/changelogdirectory; the individual entries will get "compiled" into theCHANGELOG.mdfile as part of the release process via a nox script.I think there's two benefits to this approach:
CHANGELOG.mdfile.Code Changes
/changelogdirectory with aTEMPLATE.yamlfile that shows the format for the changelog entriesnox -s changelogsession (see more below)releases.mdto reflect this new processpr-command.mdso that agents know how to create changelog entriesUsage
nox -s "changelog(dry)"-> dry run of the command, will print to console the output that would be generated but will not make any changesnox -s "changelog(write)" -- --release 2.77.0-> will generate the changelog for the provided release version from the entries in the/changelogdirectory . This will also delete the entries from the/changelogdirectory.nox -s "changelog(write)" -- --release 2.76.2 --prs 1234,5678-> will only compile the entries for the given PRs into theCHANGELOG.mdfile, leaving the rest as-is. This is useful for patch releases where only some commits will get released.Pre-Merge Checklist
CHANGELOG.mdupdatedmaindowngrade()migration is correct and works