Pulp 2 Release Planning » History » Sprint/Milestone 10
bmbouter, 03/13/2018 06:43 PM
1 | 1 | bmbouter | # Pulp 2 Release Planning |
---|---|---|---|
2 | |||
3 | This serves as a step-by-step guide to coordinating a Pulp 2 release. This is mostly about facilitating the required communication to keep everyone on the same page. |
||
4 | |||
5 | 8 | bmbouter | ### Preparing a release |
6 | |||
7 | 1 | bmbouter | 1\. Identify that a release needs to happen via pulp-dev. This can be something that is requested by anyone who wants to release bits that have been merged. |
8 | |||
9 | 10 | bmbouter | 2\. Create a Release Planning Page specific for that release. For example here is a [Z Release Status](https://pulp.plan.io/projects/pulp/wiki/2153_Release_Status) page and a [Y Release Status](https://pulp.plan.io/projects/pulp/wiki/2160_Release_Status) page. At a minimum it should contain the following: |
10 | 1 | bmbouter | |
11 | - dev freeze date |
||
12 | - tentative beta date |
||
13 | - tentative RC date (only for Y releases, not Z releases) |
||
14 | - tentative GA date |
||
15 | |||
16 | 3\. Link to the new page made in step (2) from the overall [Release Schedule](https://pulp.plan.io/projects/pulp/wiki/Release_Schedule). |
||
17 | |||
18 | 4\. Communicate the dev feeze datetime to pulp-dev with a link to the new release schedule. |
||
19 | 2 | bmbouter | |
20 | 4 | bmbouter | 5\. Make sure the version being planned has a 'Platform Release' entry in Redmine's custom field. You can edit this here: https://pulp.plan.io/custom_fields/4/edit |
21 | |||
22 | 5 | bmbouter | 6\. Update the relevant Redmine filter for the [next bugfix](https://pulp.plan.io/projects/pulp/issues?query_id=59) or [next feature](https://pulp.plan.io/projects/pulp/issues?query_id=61) release. Update **both** the name and the filter value. These queries are important as they show the set of issues for the upcoming release. |
23 | 2 | bmbouter | |
24 | ### Dev Freeze |
||
25 | |||
26 | To coordinate the dev freeze you should send 2 emails to the pulp-dev list. |
||
27 | |||
28 | 1\. 24 hours (or earlier) prior to dev feeze it's good to send a reminder to pulp-dev. Here is [an example](https://www.redhat.com/archives/pulp-dev/2018-February/msg00027.html) |
||
29 | 2\. After the freeze is done you should send an email with a link to the Redmine query showing the list of fixes and features in that release. Here is [an example](https://www.redhat.com/archives/pulp-dev/2018-February/msg00042.html) This email serves also to notify release engineering and QE that development is done for that release and those are the issues. |
||
30 | |||
31 | Besides sending email, after the dev freeze occurs, you need to update the Release Schedule in two ways. |
||
32 | |||
33 | 1\. strikethrough the dev freeze date since it occurred |
||
34 | 2\. Talk with @pcreech or @ehelms to update the page with a firm (not-tentative) beta date. |
||
35 | 3 | bmbouter | |
36 | ### GA Release Announcing |
||
37 | 1 | bmbouter | |
38 | 6 | bmbouter | On GA release day, the build team will build the final assets and work with QE to have them tested. Once they are ready a developer needs to trigger a final docs build and then can send the final announcements. There are several announcements: email, blog, twitter, irc, wiki. For the blog you'll need merge rights to the [github.com/pulp/pulpproject.org/](https://github.com/pulp/pulpproject.org/) repo. For twitter, you'll need the pulpproj twitter credentials, or know someone who can post. For irc updating you'll need to become an op in #pulp or know someone who can. |
39 | 5 | bmbouter | |
40 | #### Triggering final docs build |
||
41 | |||
42 | 1\. Trigger a build for docs-builder-x.y-release on this page: https://pulp-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/Docs%20Builders/ |
||
43 | 2\. Ensure it passes |
||
44 | 3 | bmbouter | |
45 | #### Email announce |
||
46 | |||
47 | Use the [community_announce.py](https://github.com/bmbouter/pulp_community_tools/blob/master/release_announce.py) tool to produce the email. Send this email to pulp-list |
||
48 | |||
49 | #### Blog announce |
||
50 | |||
51 | The same tool above produces a blog post. Post it using these instructions: |
||
52 | |||
53 | 1\. Make a new .md file in the [\_posts](https://github.com/pulp/pulpproject.org/tree/gh-pages/\_posts) directory that is dated and named appropriately. e.g. 2018-02-27-pulp-2.15.2-generally-available.md |
||
54 | |||
55 | 2\. Push a PR with that file and merge it yourself or ask someone in #pulp-dev to merge it. The blog posts do not require review. It should show up on pulpproject.org within a few minutes after you merge it. |
||
56 | |||
57 | #### Twitter Announce |
||
58 | |||
59 | Post on twitter. Feel free to personalize it, but the announce tool also produces a generic tweet for you. |
||
60 | |||
61 | 1\. Get the tweet content from the announce tool |
||
62 | 2\. Add the link to the blog post on the end |
||
63 | 3\. Post to twitter as @pulpproj |
||
64 | |||
65 | #### Update IRC |
||
66 | |||
67 | 1\. Become operator in #pulp with: /msg ChanServ op #pulp |
||
68 | 2\. Post your content by running something like: /topic http://pulpproject.org/ | Current Release: Pulp 2.15.2 | To report a bug: https://pulp.plan.io/projects/pulp/issues/new | Development chat: #pulp-dev | 2.15.2 Generally Available! |
||
69 | 1 | bmbouter | 3\. Take away your op priviledges with: /msg ChanServ op #pulp -username where username is your irc nick, e.g. bmbouter. |
70 | 6 | bmbouter | |
71 | #### Update the Wiki Release Page |
||
72 | |||
73 | 1\. strikethrough the release date since it's completed. A completed page should be fully struckthrough like [this one](https://pulp.plan.io/projects/pulp/wiki/2152_Release_Status) |
||
74 | 7 | bmbouter | 2\. Move the link from the [Future Releases](https://pulp.plan.io/projects/pulp/wiki/Release_Schedule#Future-Releases) section of the Release Schedule page to the [Past Releases](https://pulp.plan.io/projects/pulp/wiki/Release_Schedule#Past-Releases) section. |