Project

Profile

Help

Actions

Pulp 2 Release Planning » History » Revision 13

« Previous | Revision 13/28 (diff) | Next »
bmbouter, 03/20/2018 06:48 PM


Pulp 2 Release Planning

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.

Preparing a release

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.

2. Create a Release Planning Page specific for that release. For example here is a Z Release Status page and a Y Release Status page. At a minimum it should contain the following:

  • dev freeze date
  • tentative beta date
  • tentative RC date (only for Y releases, not Z releases)
  • tentative GA date

3. Link to the new page made in step (2) from the overall Release Schedule.

4. Communicate the dev feeze datetime to pulp-dev with a link to the new release schedule.

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

6. Update the relevant Redmine filter for the next bugfix or next feature release. Update both the name and the filter value. These queries are important as they show the set of issues for the upcoming release.

7. If this is a new Y release, You have to also make the "x.y-build" and "x.y-release" docs builders using Jenkins Job Builder. For example for 2.16, the Jenkins job definition is added with a PR like this and then the jobs are created with a Jenkins Job Builder push. We have some docs on this

Dev Freeze

To coordinate the dev freeze you should send 2 emails to the pulp-dev list.

1. 24 hours (or earlier) prior to dev feeze it's good to send a reminder to pulp-dev. Here is an example
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 This email serves also to notify release engineering and QE that development is done for that release and those are the issues.

Besides sending email, after the dev freeze occurs, you need to update the Release Schedule in two ways.

1. strikethrough the dev freeze date since it occurred
2. Talk with pcreech or @ehelms to update the page with a firm (not-tentative) beta date.

Beta Announcing

To be ready to announce a Beta, you must first receive an ack that the beta is built and ready to be published from the build team. Prior to acking that it's ready, the built team works with QE to review automated tests ensuring that the beta can be released. Once the build team says it's ready, do the following:

1. Move all of the issues from MODIFIED to ON_QA
2. Trigger the docs build to ensure the beta's docs are pushed to the right place
3. Create the beta announcements so you're ready to send them. This is a subset of the GA process. Specifically for Betas we only: (a) trigger the docs build, (b) email announce, (c) twitter announce. We do not blog post or update IRC for beta announcements.
3. Ask the build team to push the bits to the testing repos and wait for the to ack that they did
4. Publish and send out the announcements
5. Strike through the Beta on the Wiki Release page and ensure that the next date (either RC or GA depending on if Y or Z release) is firm and accurate not tentative

GA Announcing

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/ 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.

Triggering final docs build

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/
2. Ensure it passes

Move issues to CLOSED - CURRENTRELEASE

Use the query for all issues in the release to set all issues to CLOSED - CURRENTRELEASE

Email announce

Use the community_announce.py tool to produce the email. Send this email to pulp-list

Blog announce

The same tool above produces a blog post. Post it using these instructions:

1. Make a new .md file in the _posts directory that is dated and named appropriately. e.g. 2018-02-27-pulp-2.15.2-generally-available.md

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.

Twitter Announce

Post on twitter. Feel free to personalize it, but the announce tool also produces a generic tweet for you.

1. Get the tweet content from the announce tool
2. Add the link to the blog post on the end
3. Post to twitter as @pulpproj

Update IRC

1. Become operator in #pulp with: /msg ChanServ op #pulp
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!
3. Take away your op priviledges with: /msg ChanServ op #pulp -username where username is your irc nick, e.g. bmbouter.

Update the Wiki Release Page

1. strikethrough the release date since it's completed. A completed page should be fully struckthrough like this one
2. Move the link from the Future Releases section of the Release Schedule page to the Past Releases section.

Updated by bmbouter over 6 years ago · 13 revisions