Pulp 2 Release Planning » History » Sprint/Milestone 6
bmbouter, 03/02/2018 06:21 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 | 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. |
||
6 | |||
7 | 2\. Create a Release Planning Page specific for that release. For example here is the [2.15.3 release Status](https://pulp.plan.io/projects/pulp/wiki/2153_Release_Status) page. At a minimum it should contain the following: |
||
8 | |||
9 | - dev freeze date |
||
10 | - tentative beta date |
||
11 | - tentative RC date (only for Y releases, not Z releases) |
||
12 | - tentative GA date |
||
13 | |||
14 | 3\. Link to the new page made in step (2) from the overall [Release Schedule](https://pulp.plan.io/projects/pulp/wiki/Release_Schedule). |
||
15 | |||
16 | 4\. Communicate the dev feeze datetime to pulp-dev with a link to the new release schedule. |
||
17 | 2 | bmbouter | |
18 | 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 |
19 | |||
20 | 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. |
21 | 2 | bmbouter | |
22 | ### Dev Freeze |
||
23 | |||
24 | To coordinate the dev freeze you should send 2 emails to the pulp-dev list. |
||
25 | |||
26 | 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) |
||
27 | 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. |
||
28 | |||
29 | Besides sending email, after the dev freeze occurs, you need to update the Release Schedule in two ways. |
||
30 | |||
31 | 1\. strikethrough the dev freeze date since it occurred |
||
32 | 2\. Talk with @pcreech or @ehelms to update the page with a firm (not-tentative) beta date. |
||
33 | 3 | bmbouter | |
34 | ### GA Release Announcing |
||
35 | 1 | bmbouter | |
36 | 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. |
37 | 5 | bmbouter | |
38 | #### Triggering final docs build |
||
39 | |||
40 | 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/ |
||
41 | 2\. Ensure it passes |
||
42 | 3 | bmbouter | |
43 | #### Email announce |
||
44 | |||
45 | 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 |
||
46 | |||
47 | #### Blog announce |
||
48 | |||
49 | The same tool above produces a blog post. Post it using these instructions: |
||
50 | |||
51 | 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 |
||
52 | |||
53 | 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. |
||
54 | |||
55 | #### Twitter Announce |
||
56 | |||
57 | Post on twitter. Feel free to personalize it, but the announce tool also produces a generic tweet for you. |
||
58 | |||
59 | 1\. Get the tweet content from the announce tool |
||
60 | 2\. Add the link to the blog post on the end |
||
61 | 3\. Post to twitter as @pulpproj |
||
62 | |||
63 | #### Update IRC |
||
64 | |||
65 | 1\. Become operator in #pulp with: /msg ChanServ op #pulp |
||
66 | 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! |
||
67 | 1 | bmbouter | 3\. Take away your op priviledges with: /msg ChanServ op #pulp -username where username is your irc nick, e.g. bmbouter. |
68 | 6 | bmbouter | |
69 | #### Update the Wiki Release Page |
||
70 | |||
71 | 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) |
||
72 | 2\. Remove the link from the [Release Schedule](https://pulp.plan.io/projects/pulp/wiki/Release_Schedule) page. |