Skip to content

Migration Guide Workflow #2436

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

Closed
MinerSebas opened this issue Jul 5, 2021 · 6 comments
Closed

Migration Guide Workflow #2436

MinerSebas opened this issue Jul 5, 2021 · 6 comments
Labels
A-Meta About the project itself

Comments

@MinerSebas
Copy link
Contributor

MinerSebas commented Jul 5, 2021

What problem does this solve or what need does it fill?

A clearer defined set of practices for the creation of the Migration Guides.

During the development of the 0.5 release, it became clear that the release would contain several (unintuitive) changes: #1601

The actual execution had several Problems:

  1. The Issue for the Migration Guide was created relatively late in 0.5s development (~3 Months after 0.4 and ~1 Month before 0.5)
  2. People were quick to report changes in the Issue, but few bothered to write them down for the Website.
  3. The Website PR (Migration Guide: 0.4 to 0.5 bevy-website#107) was created by Cart targeted the ´main´ branch. This meant that other contributors send PRs to fork cart/bevy-website instead of bevyengine/bevy-website, which hurts their visibility.
  4. Out of a combination of 1. and 2. not every change listed in the Issue was actually transcribed to the Website Version when 0.5 finally released. After the release, PRs were still made that added missing entries: Update _index.md bevy-website#128, More migration guide bevy-website#129, Mention system ordering behavior in 0.4-0.5 migration guide bevy-website#133

What solution would you like?

  • Create a dedicated migration-guide branch on the bevyengine/bevy-website Repository. Once the next Release happens that Branch can then be merged in the main branch. This solves the Issues:
    • 1.) New entries for a new release can always be created, even if another version just released
    • 3.) bevyengine/bevy-website is more visible than a private Fork
    • and 4.).
  • Add a Needs Migration Guide Lable to the bevyengine/bevy Repository, that's applied to PRs.
    • This stops the need to create a 0.x -> 0.y Migration Guide Issue for every Release.
    • A PR Author should not be required to write the Migration Guide himself, just encouraged. This shouldn't be annoying bureaucracy.

What alternative(s) have you considered?

  • Do Nothing
    • The same issues mentioned above will reappear.
  • Only add a migration-guide branch to bevyengine/bevy-website
@MinerSebas MinerSebas added C-Feature A new feature, making something new possible S-Needs-Triage This issue needs to be labelled labels Jul 5, 2021
@alice-i-cecile alice-i-cecile added A-Meta About the project itself and removed C-Feature A new feature, making something new possible S-Needs-Triage This issue needs to be labelled labels Jul 8, 2021
@cart
Copy link
Member

cart commented Jul 9, 2021

I love all of these ideas! I've done both of your suggestions:

Thanks for putting this together.

@cart cart closed this as completed Jul 9, 2021
@mockersf
Copy link
Member

mockersf commented Jul 9, 2021

about the 0.6 release, I opened bevyengine/bevy-website#134 after the first breaking change

@cart
Copy link
Member

cart commented Jul 9, 2021

Yupyup. To adapt to this I think it makes sense to change your prs base branch to migration-guide. And then we can merge into that as soon as your changes are ready.

@cart
Copy link
Member

cart commented Jul 9, 2021

We might still need a centralized tracking issue to ensure things aren't dropped and ensure people don't step on each other's toes.

@cart
Copy link
Member

cart commented Jul 9, 2021

But I think the per-pr tags should be considered the "source of truth".

@cart
Copy link
Member

cart commented Jul 9, 2021

Also breaking changes aren't the only criteria for migration guides. I think we should also include "changes in recommended practices", such as #2398. .system() can still be used, but we should still encourage people to remove it. I just tagged that pr.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Meta About the project itself
Projects
None yet
Development

No branches or pull requests

4 participants