Release Process
This section covers program management information related to the process of getting a release out the door. The document is in chronological order, referencing various SOPs, with small steps directly in-line, and notes below.
You may choose to create a wiki page to track the status of housekeeping tasks, as has been done historically. |
Workflow
-
New release (~1 year before target date)
-
Spin keepalive deadline (~3 weeks before Branch point)
-
Rawhide rebase warning (1-3 weeks before Branch point)
-
Send the rebase warning mail to devel-announce@lists.fedoraproject.org, replacing instances of "TKTK" appropriately
-
-
Branch day
-
One week before each Go/No-Go meeting date
-
Schedule and announce the meeting, or cancel it if the decision is clearly No-Go: Go/No-Go Meeting SOP
-
-
Go/No-Go meeting dates
-
Run the meeting, following the Go/No-Go Meeting SOP. See Go/No-Go Meeting notes. Follow up with the Go or No-Go SOP.
-
-
Release day
-
2-14 days after release day
-
Follow EOL warning SOP for the N-2 release
-
-
Four weeks after release day
-
Follow EOL day SOP for the N-2 release
-
Rebase warning mail
This is the email that should be sent out 1-3 weeks before the Branch point. The actual rebase is covered in the Branching SOP.
Greetings, This e-mail is intended to inform you about the upcoming Bugzilla changes happening on TKTK (Rawhide bug rebase) and what you need to do, if anything. We will be automatically changing the version for most rawhide bugs to Fedora TKTK. This will result in regular bugs reported against rawhide during the Fedora TKTK development cycle being changed to version 'TKTK' instead of their current assignment, ‘rawhide’. This is to align with the branching of Fedora TKTK from rawhide and to more accurately tell where in the lineage of releases the bug was last reported. Note that this procedure does not apply to bugs that are open for the ‘Package Review’ or 'kernel' components or bugs that have the ''FutureFeature'' or ''Tracking'' keywords set. These will stay open as rawhide bugs indefinitely. If you do not want your bugs changed to version ‘TKTK‘, add the ''FutureFeature'' keyword. If you need help changing a large amount of bugs manually, we’d be glad to help. The process was re-approved by FESCo https://pagure.io/fesco/issue/1096 .
Bug rebase notes
Bugs that meet all of the following conditions are branched from Rawhide to the newly-created version:
-
product == "Fedora" or "Fedora Container Images"
-
version == rawhide
-
component != "Package Review"
-
component != "Container Review"
-
component != "kernel"
-
component != "Changes Tracking"
-
keyword ''FutureFeature'' is '''not''' present
-
keyword ''Tracking'' is '''not''' present
-
the string ''RFE'' is '''not''' present in the summary
-
status != CLOSED
According to jforbes, the reason we exclude kernel bugs is two-fold: 1. A number of reported kernel bugs are longer-term issues that need to be solved over time, or bugs which upstream has to eventually get to. It has become the place to file these bugs, even if not against the rawhide kernel in specific so that they do not get auto closed in a year. 2. Rawhide kernels are most typically built as debug kernels only, and many bugs filed against them are not reproducible on branched non-debug kernels.
Go/No-Go Meeting notes
The meeting script in the Go/No-Go SOP provides a general framework for running the Go/No-Go meeting. The general flow is to verify that a compose is available, review blocker bugs, check that the test matrices are completed, and that CoreOS and IoT are ready.
The compose section is generally very quick. Release Engineering or QA will confirm that a candidate compose exists. If there is no candidate compose, skip straight to a "no-go" decision.
If there are proposed or accepted blocker bugs, the meeting becomes a blocker review meeting to evaluate them. This portion of the meeting can be led by a member of the QA team or by the Program Manager. It is not uncommon to defer some bugs until later in the meeting so that last-minute testing can be performed.
In the test matrices section, QA will review the results of tests. Some optional tests may not be complete.
Finally, the Program Manager polls each of the constituent teams. If they all vote "go", then the release is "go" and will be released on the coming Tuesday. The Program Manager’s work is done (at least as far as this goes). If the release is "no-go", then a follow-up meeting must happen.
Want to help? Learn how to contribute to Fedora Docs ›