Project

Profile

Help

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.