question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Determine process for fixing changelog

See original GitHub issue

Summary

During the release process, the release manager checks the changelog generated by towncrier and might find issues - typos, miscategorizations, etc. See https://github.com/astropy/astropy/pull/12478 for some examples. We need to determine the optimal way of dealing with such fixes.

When the LTS release branch is the latest release branch

In the first 6 months after a new LTS release, there is only one release branch. At this point, the process is simple - any issues can be fixed directly in the generated changelog and committed to the release branch. This is because the news fragments are deleted and we then forward-port the deletion of the fragments to main so there are no more news fragments to worry about

When there are two release branches

Once a non-LTS release is done, there are now two release branches which means that some news fragments will live in both, so we need to be a little more careful. There are several options at this point:

  1. Make any changes to the news fragments in main and backport to both release branches. This will require resolving conflicts when backporting to the LTS branch since some of the news fragments may not exist there.
  2. Make any changes to the news fragments in the release branch, and forward-port that to main then backport to the other release branch. Then if the current active release being done is non-LTS, we have to then also forward-port the deletion of the news fragments to main in a separate PR. This is messy because it means several different backports/forward-ports and is just really confusing 🤯
  3. Make any changes to the news fragments in the release branch, then ‘side’-port that commit to the other release branch. The idea here is that the news fragments are going to get deleted anyway in main so why bother going via main when really the fixes just need to be in the release branches. This does still require potential conflict resolution when side-porting because not all news fragments will exist in the other release branch.
  4. Follow the same process as when the LTS release is the only release branch, and just make the same changes - manually - in the LTS branch if needed (or if doing the LTS release before the other release, also do the changes manually in the other release branch)

One thing to consider is that once there are two release branches, the number of changes/bug fixes is going to slowly decrease in the LTS branch. In fact out of all the changes for the 5.0 release there were only 6 changes/fixes suggested by @eteq so it might be that no or only a couple of fixes are required to be made in the LTS branch at each release after 6 months. So it may be worth not over-engineering this and seeing if Option 4 is good enough. The other options require manual conflict resolution anyway so it might not be much work to do Option 4? If we want to not do it completely manually, then I would advocate Option 3 because it does not delay the release being done, whereas Option 1 does. Option 2 is just… no.

If issues are caught between releases

If people notice issues with the generated changelog at https://docs.astropy.org/en/latest/changelog.html#changelog and it’s not release time, I think the correct process is to fix the fragments in main and mark the PR doing this as needing backporting to the relevant branches.

We have until the 5.1 release to figure this out 😄

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
eteqcommented, Nov 18, 2021

@pllim : :trollface:

0reactions
pllimcommented, Oct 26, 2022

Is this still relevant?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Keep a Changelog
A changelog is a file which contains a curated, chronologically ordered list of notable changes for each version of a project. Why keep...
Read more >
A Beginner's Guide to Git — What is a Changelog and How to ...
A changelog is a file that shares a chronologically ordered list of the changes you've made on your project. It's often organized by...
Read more >
process/CHANGELOG.md at 6.2 · symfony/process - GitHub
The Process component executes commands in sub-processes. - process/CHANGELOG.md at 6.2 · symfony/process.
Read more >
Guidance for troubleshooting Windows Server update
Identify the Update that is failing to install and the failure code. ... See Fix Windows Update errors by using the DISM or...
Read more >
Submitting patches: the essential guide to getting your code ...
Describe your changes¶ ... Describe your problem. Whether your patch is a one-line bug fix or 5000 lines of a new feature, there...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found