From c02b7ba828f8140b03c48e7b30b605cbf9866559 Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Mon, 13 Jan 2025 11:52:49 -0800 Subject: [PATCH] Codify new expansion release schedule (#5916) Co-authored-by: Bassoonian Co-authored-by: Eduardo Quezada --- .github/pull_request_template.md | 3 +- docs/SUMMARY.md | 3 +- docs/team_procedures/schedule.md | 51 +++++++++++++++++++++++++++++ docs/{ => team_procedures}/scope.md | 0 4 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 docs/team_procedures/schedule.md rename docs/{ => team_procedures}/scope.md (100%) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index f083a2a23f65..9a04e86f2bf7 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,11 +1,12 @@ - + ## Description + ## Images diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index fe13ea72ee78..fb10d5b26598 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -69,4 +69,5 @@ - [Version 0.9.0](changelogs/0.9.x/0.9.0.md) - [Team Procedures]() - [How to make an Expansion version](team_procedures/expansion_versions.md) - - [Scope Guidelines](scope.md) + - [Release Schedule and Process](team_procedures/schedule.md) + - [Scope Guidelines](team_procedures/scope.md) diff --git a/docs/team_procedures/schedule.md b/docs/team_procedures/schedule.md new file mode 100644 index 000000000000..c23d8a51050b --- /dev/null +++ b/docs/team_procedures/schedule.md @@ -0,0 +1,51 @@ +# Release Schedule and Process + +## Version Lifecycle + +### Minor Release (90 days to next Minor Release) +`upcoming` and `master` are synchronized. Minor Release should occur once every three months. Maintainers can vote to do extra Minor Releases for special cases, but this should be considered highly irregular. + +### Patch Release (60 / 30 days to the next Minor Release) +Releases that focus primarily on bugfixes or improvements to the test system. Patch Releases should occur AT LEAST once a month, but can be more frequent than that. + +### Big Feature Freeze (30 days to the next Minor Release) +PRs with the Github label [`type: big feature`](https://github.com/rh-hideout/pokeemerald-expansion/issues?q=sort%3Aupdated-desc+is%3Aopen+label%3A%22type%3A+big+feature%22) will NOT be merged until after the next Minor Release. + +### Merge Freeze (14 days to the next Minor Release) +PRs that DO NOT have the Github labels [`bugfix`](https://github.com/rh-hideout/pokeemerald-expansion/issues?q=sort%3Aupdated-desc+label%3Abugfix) or [`type: cleanup`](https://github.com/rh-hideout/pokeemerald-expansion/issues?q=sort%3Aupdated-desc+label%3A%22type%3A+cleanup%22+) will NOT be merged until after the next Minor Release. + + +### Sample Schedule +| Major | Minor | Patch | Type | Goal Date | +| ----- | ----- | ----- | ------------------ | ----------- | +| 2 | 1 | 0 | Minor | Dec 1 2025 | +| 2 | 1 | 1 | Patch | Dec 31 2025 | +| 2 | 1 | 2 | Patch | Jan 30 2026 | +| 2 | 1 | 2 | Big Feature Freeze | Jan 30 2026 | +| 2 | 1 | 2 | Merge Freeze | Feb 15 2026 | +| 2 | 1 | 3 | Patch | Mar 1 2026 | +| 2 | 2 | 0 | Minor | Mar 1 2026 | + +--- + +## What is a "Big Feature"? +* If the original owner of the PR thinks a feature should be labeled a Big Feature, it is, no questions asked +* If a reviewer thinks a PR is a Big Feature, then it is +* If the two disagree, it can be discussed in a PR thread, and can ultimately be resolved with a Maintainer vote. + +### How To Identify a Big Feature +* **Big diffs**: It's easy for something to go unnoticed in review when it's a tiny part of a massive diff. +* **High-impact**: High-impact changes are harder to review because they often have consequences that aren't obvious to the reviewer. We catch these consequences from users who use upcoming reporting them. +* **Subjective**: Subjective changes are more likely to have differences of opinions between senate members. +* **Pervasive**: The PR touches several different parts of the codebase or is involved in several different parts of the codebase, even if those elements are small. + +--- + +## Release Blocking and Milestones +When an issue or PR is assigned to a [milestone on Github](https://github.com/rh-hideout/pokeemerald-expansion/milestones) by a Maintainer, that means it is "Blocking". If another Maintainer agrees with this, then that version cannot be released until that issue is resolved or PR is merged. + +This designation should be reserved for instances where an existing feature on `upcoming` or `master` is broken and causing problems for users or players. + +Blocking issues or PRs can be deferred to future releases but should be discussed with the Maintainers that assigned the designation in the first place. + +If a version's milestone does not have any issues or PRs assigned to it, that version should be [released](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/docs/team_procedures/expansion_versions.md) as close to the goal date as possible. diff --git a/docs/scope.md b/docs/team_procedures/scope.md similarity index 100% rename from docs/scope.md rename to docs/team_procedures/scope.md