Skip to content
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

Propose to restart 1.22 release #30501

Closed
7 of 11 tasks
wxiaoguang opened this issue Apr 15, 2024 · 21 comments
Closed
7 of 11 tasks

Propose to restart 1.22 release #30501

wxiaoguang opened this issue Apr 15, 2024 · 21 comments
Milestone

Comments

@wxiaoguang
Copy link
Contributor

wxiaoguang commented Apr 15, 2024

The problem

1.22-rc0 is problematic:

  • It is never really published, it is still in "draft" status on GitHub.
  • Almost no bug report from 1.22-rc0, it's really questionable whether there are users using it.
  • There are too many big changes in main branch, it would make it quite difficult to backport bug fixes for 1.22 in the future. And many bug fixes were missing due to various reasons.

Proposal

Drop 1.22-rc0 and 1.22 branch, restart the 1.22 release (1.22-rc1 and a new 1.22 branch) from main branch some time later.

Requirements

  1. Pause unnecessary / pure refactoring changes before 1.22.1 or 1.22.2. A refactoring PR could only be merged in this period if:
    • It is for a bug fix and the refactoring is pretty good to have
    • It is well tested and good for some pending PRs, it should be covered by enough test cases
    • It could be backported from main to 1.22.x and doesn't seem to cause problems
    • (also could be slightly relaxed if enough maintainers/TOC agree)
  2. Focus on fixing existing bugs and regressions
  • Rename v1_23 migrations to v1_22
  • Move merged PRs from 1.23 to 1.22 milestone
    • If a PR isn't in 1.22-legacy (no backport/done): move it to 1.22 milestone
    • If a PR is in 1.22-legacy: add "skip-changelog" to it and leave it in 1.23 milestone
  • Close unnecessary legacy 1.22 backports
  • Release 1.22-rc1 from main branch
    • rename old 1.22 branch to 1.22-legacy
    • tag 1.22-rc1
    • hard reset / force push 1.22 branch by main branch.
  • Prepare a new changelog (there are a lot of new changes)
  • Prepare a release note and explain why, and tell users that 1.22-rc1 and later won't be able to downgrade to 1.22-rc0 (and they shouldn't because many bugs are only fixed in 1.22-rc1)
    • "There will be no impact to end users who are using 1.22-rc0, they could safely upgrade to 1.22-rc1 and get more bug fixes and new enhancements"
  • Announce and encourage users to test the RC1 release.
  • Release 1.22.0 in one week if rc1 is stable enough.
@wxiaoguang wxiaoguang added this to the 1.22.0 milestone Apr 15, 2024
@silverwind
Copy link
Member

There are too many big changes in main branch

There will always be big refactors and I don't want the release cycle to dictate when those can merge because that unnecessarily hinders progress.

So imho, get RC1 out now, and don't wait too long for release. Don't over-complicate the releases.

@wxiaoguang
Copy link
Contributor Author

There are too many big changes in main branch

There will always be big refactors and I don't want the release cycle to dictate when those can merge because that unnecessarily hinders progress.

So imho, get RC1 out now, and don't wait too long for release. Don't over-complicate the releases.

I believe there are still many regressions, please provide stable releases to end users. RC release should be generally stable, but not contains many regressions or bugs.

@silverwind
Copy link
Member

I believe there are still many regressions, please provide stable releases to end users

That's why we have a period of usually 2+ months from branch creation to release so that any regressions will be backported. If something does not get noticed in the period, it likely wasn't important enough.

@silverwind
Copy link
Member

silverwind commented Apr 15, 2024

BTW I don't mind if we reset release/v1.22 to main now. It will make some of my backports easier.

@wxiaoguang
Copy link
Contributor Author

It seems difficult to reach a consensus, please release manager and TOC decide.

@wxiaoguang wxiaoguang closed this as not planned Won't fix, can't repro, duplicate, stale Apr 16, 2024
@lunny
Copy link
Member

lunny commented Apr 16, 2024

Why did you close this? I think at least 3 of us agreed to do so.

@wxiaoguang
Copy link
Contributor Author

Why did you close this? I think at least 3 of us agreed to do so.

If there is a consensus, then just do it. I think this issue won't provide any more useful information.

@silverwind
Copy link
Member

I guess I remain neutral on this topic. I think 1.22 branch is shaping up well enough for a release, so no immediate need to "reset".

@wxiaoguang
Copy link
Contributor Author

Another sample, 1.22 is broken for backporting: #30570 (comment)

@silverwind
Copy link
Member

That's just us having missed another backport.

@wxiaoguang wxiaoguang reopened this Apr 22, 2024
@silverwind
Copy link
Member

@go-gitea/technical-oversight-committee we need a decision, either reset the v1.22 branch now or not. I don't care which way it chosen but I know @wxiaoguang has been withholding some backports into v1.22.

@wxiaoguang
Copy link
Contributor Author

wxiaoguang commented Apr 23, 2024

I don't care which way it chosen but I know @wxiaoguang has been withholding some backports into v1.22.

Let me clarify the situation:

  • I didn't mean to intentionally "withhold", but the 1.22 branch has too many differences, it is really difficult to backport bug fixes from main.
  • I guess nobody clearly knows whether 1.22 branch is correctly maintained. If more and more backporting PRs require to resolve conflicts manually with 1.22 branch, it means that it is more and more fragile.
  • Even worse, few end users really used 1.22-rc0, you can see that there is almost no bug report from 1.22-rc0, it's really questionable whether there are users using it, then it is unclear whether there are still serious regression bugs.

And I insist that:

  • I believe that we should do the best to keep a release stable, starting from a RC version.
  • I have objection for "merging not-fully-tested pure-refactoring PRs during RC period".
  • I do not think keeping backporting almost everything into 1.22-rc is right (it already happened due to some recent frontend refactoring PRs, that's why I proposed to defer unnecessary refactoring a while).
    • Again, I never meant that I don't support refactoring, instead I also make a lot of refactoring PRs
    • I just mean that the refactoring PRs should be done at the controllable timepoint, do the best to make a release stable

@silverwind
Copy link
Member

At this point, I think main branch is equally stable as release/v1.22. So could just delete the branch, fork it off main and then make RC 1 from it. Better do this sooner rather than later.

@wxiaoguang
Copy link
Contributor Author

I believe main branch is more stable than 1.22 because 1.22 is really broken and nobody really maintains it carefully.

I will show you another example (by a quick search): Fix long branch name overflows #30345 . I can see it is in 1.23, it has 1.22-backport label, but I can't tell whether it is really backported.

I think I have shown many examples, it doesn't make sense or is worth to continue working on the current 1.22 in my mind.

@silverwind
Copy link
Member

#30345 wasn't backported because I forgot about it and I'm generally not thrilled to do manual backports.

@wxiaoguang
Copy link
Contributor Author

wxiaoguang commented Apr 23, 2024

#30345 wasn't backported because I forgot about it and I'm generally not thrilled to do manual backports.

That's why 1.22 is broken. If you saw one bug cockroach in a house, then there must be not only one bug cockroach in the house.

@techknowlogick
Copy link
Member

@silverwind https://discord.com/channels/322538954119184384/1067189205035393084/1231978296909107211

wxiaoguang added a commit that referenced this issue Apr 27, 2024
Ref: Propose to restart 1.22 release #30501
@theoludwig
Copy link

theoludwig commented Apr 27, 2024

Almost no bug report from 1.22-rc0, it's really questionable whether there are users using it.

I am a user of 1.22-rc0: https://git.theoludwig.fr/
Didn't find important bugs, at least for my basic usage.

If the 1.22 release is restarted, deleted release/v1.22 branch, and created it again from main, how will it impact users from v1.22-rc0 to upgrade to 1.22-rc1?

@wxiaoguang
Copy link
Contributor Author

wxiaoguang commented Apr 27, 2024

If the 1.22 release is restarted, delete release/v1.22 branch, and create it again from main, how will it impact users from v1.22-rc0 to upgrade to 1.22-rc1?

No impact, just get many bug fixes and new enhancements 😄

(also added this explanation to the issue's description)

@lunny
Copy link
Member

lunny commented Apr 27, 2024

Almost no bug report from 1.22-rc0, it's really questionable whether there are users using it.

I am a user of 1.22-rc0: https://git.theoludwig.fr/ Didn't find important bugs, at least for my basic usage.

If the 1.22 release is restarted, delete release/v1.22 branch, and create it again from main, how will it impact users from v1.22-rc0 to upgrade to 1.22-rc1?

The only drawback is you cannot downgrade from 1.22-rc1 -> 1.22-rc0 which is different from a traditional Gitea minor version upgrade.

@wxiaoguang
Copy link
Contributor Author

The TODO list is moved to #30731

@go-gitea go-gitea locked as resolved and limited conversation to collaborators Jul 26, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants