Release post - GitLab 14.7
QUICK JUMP TO A SECTION:
- QUICK JUMP TO A SECTION:
- Overview
- Release post kickoff (@jstava)
- Release post item creation reminders (@jstava)
- Recurring items starting on the 12th: @jstava
- General contributions @jstava
- Fulfillment
- ModelOps
- Content assembly and initial review (@jstava)
- Other reviews
- Preparing to merge to master (@jstava)
- Merging to master (@jstava)
Overview
Process Improvements? Have suggestions for improving the release post process as we go? Capture them in the Retrospective issue.
- Preview page (shows the latest merged content blocks, for reference use untill the 17th): https://about.gitlab.com/releases/gitlab-com/
- View App (shows the introduction, MVP and latest merged content blocks, for reference use between 18th - 21st: https://release-14-7.about.gitlab-review.app/releases/2022/01/22/gitlab-14-7-released/
Release post:
- Intro: https://gitlab.com/gitlab-com/www-gitlab-com/blob/release-X-Y/sites/uncategorized/source/releases/posts/YYYY-MM-22-gitlab-X-Y-released.html.md
- Items: https://gitlab.com/gitlab-com/www-gitlab-com/blob/release-X-Y/data/release_posts/X_Y
- Images: https://gitlab.com/gitlab-com/www-gitlab-com/tree/release-X-Y/source/images/X_Y
- MVP Nomination Issue: Add issue link
- Retro: #12865 (closed)
Related MRs:
- Bug Fixes: !96728 (merged)
- Usability improvements: !96735 (merged)
- Performance improvements: !96732 (merged)
Related files:
- Features YAML link: https://gitlab.com/gitlab-com/www-gitlab-com/blob/release-X-Y/data/features.yml
- Features YAML Images link: https://gitlab.com/gitlab-com/www-gitlab-com/blob/release-X-Y/source/images/feature_page/screenshots
- Homepage card: https://gitlab.com/gitlab-com/www-gitlab-com/blob/release-X-Y/sites/uncategorized/source/includes/home/ten-oh-announcement.html.haml
- MVPs: https://gitlab.com/gitlab-com/www-gitlab-com/blob/release-X-Y/data/mvps.yml
Release post branch ownership:
- The Release Post Manager is solely in charge of changes to the release post branch. To avoid potential merge conflicts later during content assembly, it is imperative that Technical Writers do not merge updates from
masterto the release post branch even if it is falling behind or if there is a conflict. The Release Post Manager will take care of conflicts as part of the content assembly process on the 18th and work with the Technical Advisor as needed.
Handbook references:
- Blog handbook: https://about.gitlab.com/handbook/marketing/blog/
- Release post handbook: https://about.gitlab.com/handbook/marketing/blog/release-posts/
- Markdown guide: https://about.gitlab.com/handbook/engineering/technical-writing/markdown-guide/
People:
- Release Post Managers: https://about.gitlab.com/handbook/marketing/blog/release-posts/managers/
- Release Managers: https://about.gitlab.com/community/release-managers/
| Release post manager | Tech writer | Technical Advisor | Social | PMM lead | Product Operations DRI |
|---|---|---|---|---|---|
@jstava |
@axil |
@nmccorrison |
DRI: @wspillane & @social for Slack Checklist item |
@cblake |
@fseifoddini |
Release post kickoff (@jstava)
Due date: 2022-01-07 (By the 7th)
Note: Throughout the release post process, you'll do various Slack reminders/announcements. It is recommended you cc the Product Operations DRI and the rest of your release post team as you do these Slack posts because it helps keep everyone on the same page. Some Release Post Managers, pre-schedule messages in Slack for the respective notifications.
Note: There are several tasks in this checklist that can be done any time before the listed due date. These are indicated by a "🟢". If a task says "no earlier than", it is important to follow that guideline.
Opening tasks due by the 7th
-
🟢 Before starting on this checklist, you should have created the release post branch and required files as explained in the Handbook. It is critical to use the release-X-Ynaming format for the release branch, for the release post assembly script to work. -
🟢 Read the RPM specific section of the release post handbook page in detail -
🟢 Review the rest of the release post handbook page and all the tasks in this MR template, not just your own, so you're familiar with the overall process, roles and tasks involved -
🟢 In #X-Y-release-post-prepask the TW Lead and Technical Advisor to familiarize themselves with their role by reading their section of the release post handbook page.- Link to their handbook sections: TW Lead and TA
- Tell them that if they have any questions, post them to you in the
#X-Y-release-post-prepSlack channel and cc Product Operations - Tell them it's recommended they set up a coffee chat with their predecessor for any helpful tips. The previous TW lead and TA can be found on the RP scheduling page
-
🟢 Prior to your first team standup consider setting up a coffee chat with the previous release post manager and/or Product Operations to ask for tips and any helpful "latest info" -
🟢 After meeting with the previous release post manager and/or Product Operations for insights, consider setting up a meeting with your release post shadow to help them understand their role and how much capacity they have to support the work that month -
🟢 Verify this MR is labeled ~"blog post" release release post priority1 and assigned to you (the Release Post Manager) -
🟢 Add the current milestone to this MR -
🟢 Create a release post retrospective issue by using the Release post retrospective template, and use Release Post X.Y Retrospectiveas a title. Once created, update the link at the top of this MR description. Example retro issue.-
Schedule a 50 min Live Retrospective meeting for some time after the 22nd. All action items for the retro need to be completed prior to the 1st of the next month in order to incorporate any process changes before the next release begins. Make sure to invite Product Ops to the Live Retro meeting. Product Ops will need to approve any major updates to the process identified during the Retrospective.
-
-
🟢 Replace each @mentionin this MR description with the names of the Release Post Manager, Tech Writer, Technical Advisor and Social Lead for this release -
🟢 Update the links in this MR description -
🟢 Update all due dates in this MR description -
🟢 Make sure the release post branch has all initial files: sites/uncategorized/source/releases/posts/YYYY-MM-DD-gitlab-X-Y-released.html.md,data/release_posts/X_Y/mvp.ymlanddata/release_posts/X_Y/cta.yml -
🟢 Add the release number to sites/uncategorized/source/releases/posts/YYYY-MM-22-gitlab-X-Y-release.html.mdand make sure to remove the backticks. -
🟢 Add your name as the author to sites/uncategorized/source/releases/posts/YYYY-MM-22-gitlab-X-Y-release.html.md -
🟢 Update the "which includes our YYrelease kickoff video" line replacing theYY(including removing the backticks) to reference the next release insites/uncategorized/source/releases/posts/YYYY-MM-22-gitlab-X-Y-release.html.md -
🟢 Per guidance on communication for the release, create the X-Y-release-post-prepchannel in Slack and invite@axil,@nmccorrison,@cblake, the Product Operations DRI and the release post manager shadow (whoever is running the next release post). Let them know this channel is to discuss production-specific topics that don't concern the broader team, so we can keep#release-postfocused and easy to follow. As a topic, add the release post MR, the link to the review app, and the link of the retro issue: -
🟢 Update the #X-Y-release-post-prepSlack channel topic and slack bookmarks in the#release-postchannel:MR: https://gitlab.com/gitlab-com/www-gitlab-com/-/merge_requests/96558 Preview page: https://about.gitlab.com/releases/gitlab-com/ Review App: https://release-14-7.about.gitlab-review.app/releases/2022/01/22/gitlab-14-7-released/ Retro issue: https://gitlab.com/gitlab-com/www-gitlab-com/-/issues/12865 MVP nomination: https://gitlab.com/gitlab-com/www-gitlab-com/-/issues/12866-
🟢 Update the #release-postSlack channel topic and slack bookmarks in the #release-post channel:
MR: https://gitlab.com/gitlab-com/www-gitlab-com/-/merge_requests/96558 Preview page: https://about.gitlab.com/releases/gitlab-com/ Review App: https://release-14-7.about.gitlab-review.app/releases/2022/01/22/gitlab-14-7-released/ MVP nomination: https://gitlab.com/gitlab-com/www-gitlab-com/-/issues/12866 -
-
🟢 Announce yourself as the Release Post Manager in the #release-postchannel, as well as the Technical Advisor, and TW lead for reference. cc the Product Operations DRI -
🟢 Set up a 15-minute weekly standup with the Technical Writer, Tech advisor as required attendees and PMM lead as optional, to touch base and troubleshoot. Invite the Product Operations DRI as well, as they will be your backup on all tasks should complications arise. If times zones conflict, this is not mandatory. Sample agenda -
In the #release-post Slack channel, remind Product Managers that all content blocks (features, recurring, bugs, etc.) should be drafted and under review by the 10th. All direction items and notable community contributions should be included in the release post. -
🟢 Confirm your local dev environment is running a current version of Ruby. See Handbook section Local dev environment setup to run content assembly script. Ask the Technical Advisor for help. -
If you have any difficulty installing dependencies, reach out to your Technical Advisor.
-
-
Remind the Technical Writer (either via slack or weekly standup) not to merge in changes from masterto the release post branch. See theRelease post branch ownershipsection above for more details.
Release post item creation reminders (@jstava)
Due date: 2022-01-10 (By the 10th)
Note: Throughout the release post-process, you'll do various Slack reminders/announcements. It is recommended you cc the Product Operations DRI and the rest of your release post team as you do these Slack posts because it helps keep everyone on the same page.
-
Remind the product managers in the #release-post channel that today is the day to have Release Post Items created and in review by the PMM and TW counterparts. You can use @product-teamor cross-post into the #product slack. -
Remind the product managers in the #release-post channel that it's important we all follow the file naming guidelines as it affects the release post template as well as the release post team's ability to find release post items with ease. -
🟢 Create the bugs, usability improvements, and performance improvements MRs -
🟢 Link these MRs to the top section of this MR so that they are easy to access -
🟢 Inform EMs Your notable bugs and performance improvement MRs are ready to receive your contributions.and link directly the two MRs that you have created. Place this as a comment mentioning@gitlab-com/backend-managersand@gitlab-org/frontend/frontend-managersin this MR. -
🟢 Copy the comment and links from the above comment in this MR and share it in the #developmentand#eng-managersSlack channels." -
🟢 Copy the notification from the above comment in this MR and share it in the #developmentand#eng-managersSlack channels. -
🟢 In the #release-postchannel, share the link to just the Bug Fixes MR and ask PMs to work with their EM to add high impact bugs to the MR -
🟢 In the #release-postchannel, share the link to just the Usability Improvements MR and ask PMs to work in partnership with their Product Designers to add line items that highlight significant usability improvements. -
🟢 In the #ux_managerschannel, inform them thatYour notable usability improvement MR is ready to receive your contributions. Please work with your Product Manager to add entries. Remember that we have to limit the content block to [notable improvements](https://about.gitlab.com/handbook/marketing/blog/release-posts/#contributing-to-usability-improvements) but you can add as many items as you'd like to the [UI Polish gallery](https://nicolasdular.gitlab.io/gitlab-polish-gallery/)and include a direct link to the MR.
-
Recurring items starting on the 12th: @jstava
Maintain (rebase) the branch
Occasionally rebase this MR by typing in the command /rebase in a new comment in this MR. This will help keep your branch up to date with master. Consult with the Tech Advisor as needed.
Occasionally remove the Draft: pre-fix from the subject of this MR and run the pipeline by clicking Run Pipeline in this MR's Pipelines tab. When the pipeline is complete, add the Draft: pre-fix back to the MR title to prevent accidental merge. Consult with the Tech Advisor as needed.
General Content Review
As PMs finalize their release post items it can be helpful for the RPM to review and offer feedback. This reduces pressure on the 17th as items are merged and provides additional review from someone with a fresh perspective. You can start this as early as the 12th, but this should be an ongoing task leading up to content assembly on the 18th. Review each MR labeled Ready for content that follows handbook guidance. See What RPM should look for when reviewing content blocks.
To easily manage and track reviewed items do the following:
-
To track release post items you haven't reviewed, bookmark filtered MR lists similar to the following: - Release post item MRs with the ~Ready label
- Release post item MRs for this milestone (update to correct milestone)
-
Deprecation item MRs (in the
gitlabproject) for this milestone (update to current milestone)
-
Add the rp manager reviewed label to any RP item you've reviewed.
Reminding and Alerting DRIs
It's important to keep DRIs up to date regularly with items they need to deliver for the release post. Early reminders are especially helpful due to how async and distributed GitLab team members are.
-
Alert DRIs (PMs, EMs and others as needed) at least one working day before each due date (post a comment to the #release-postSlack channel)
General contributions @jstava
The release post is authored following a changelog-style system. Each item should be in an individual YAML file.
Contribution instructions
See the Handbook: Contributing to the release post.
Content blocks
Due date: 2022-01-10 (10th)
Product Managers are responsible for raising MRs for their content blocks and ensuring they are reviewed by necessary contributors by the due date. Content blocks should also be added for any epics or notable community contributions that were delivered.
Product Managers are also responsible for making sure all Tech Writing reviews (required), and PM Director and PMM reviews (recommended) are done for their content blocks. To help reviewers prioritize what to review, PMs should communicate which content blocks are most important for review by applying the proper labels to the release post item MR prior to assigning the MR to reviewers. (ex: Tech Writing, Direction, Deliverable, etc). PMs can also follow these guidelines to help decide which content blocks should get PM Director and PMM reviews.
To enable Engineering Managers to merge the content blocks as soon as an issue has closed, PMs should ensure all scheduled items have MRs created for them and have the Ready label applied when content contribution and reviews are completed.
Product Managers should only check their box below when all their content blocks are complete (documentation links, images, etc.). Please don't check the box if there are still things pending.
Reminder: be sure to reference your Direction items and Release features. All items which appear in our Upcoming Releases page should be included in the relevant release post. For more guidance about what to include in the release post, check the Product Handbook.
-
TODO on the 10th: Copy the product team checkbox template and paste it into the description here:
Chief Product Officer and Team
Enablement
Dev
-
@ogolowinski -
@sarahwaldner -
@phikai -
@hdelalic -
@mushakov -
@stkerr -
@ericschurter -
@gweaver -
@mjwood -
@cdybenko -
@hsutor
Sec
Ops
-
@kencjohnston -
@jreporter -
@dhershkovitch -
@jheimbuck_gl -
@DarrenEastman -
@trizzi -
@kbychu -
@nagyv-gitlab -
@abellucci -
@cbalane
Fulfillment
Growth
-
@hilaqu -
@cbraza -
@dpeterson1 -
@nicolegalang -
@mkarampalas -
@jstava -
@s_awezec
ModelOps
Recurring content blocks
Due date: 2022-01-10 (10th)
The following sections are always present and managed by the PM or Eng lead owning the related area.
-
Add GitLab Runner improvements: @DarrenEastman -
Add Omnibus improvements: @dorrinoMR -
Add Mattermost update to the Omnibus improvements section: @dorrinoMR
Due date: 2022-01-15 (15th)
-
🟢 Add Performance Improvements section: @jstava -
🟢 Add Bug Fixes section: @jstava -
🟢 Add Usability section: @jstava
Final Merge
Due date: 2022-01-17 (17th)
Engineering managers listed in the MRs are responsible for merging as soon as the implementing issue(s) are officially part of the release. All release post items must be merged on or before the 17th of the month. Earlier merges are preferred whenever possible. If a feature is not ready and won't be included in the release, the EM should push the release post item to the next milestone.
To assist managers in determining whether a release contains a feature. The following procedure documented here is encouraged to be followed. In the coming releases, Product Management and Development will prioritize automating this process both so it's less error-prone and to make the notes more accurate to release cut.
Content assembly and initial review (@jstava)
Note: All the Final Content Assembly and Structural Check steps happen in sequence on the 18th starting ~8am PST (America/Los_Angeles). If the Release Post Manager and Technical Writer are in significantly different timezones, coordinate ahead of the 18th to understand how this could impact working hours for each team member. If need be, the time of initiating the final content assembly and the subsequent coordinated tasks can be shifted, as long as Final content review with the CEO and CProdO begins no later ~12pm PST on the 19th, to allow enough time for feedback and updates.
Due date: 2022-01-12 (12th)
-
🟢 Per the instructions in the handbook, request MVP nominations with a link to an issue for collaboration. Be sure to follow the instructions in the handbook page to maximize contributions to the MVP issue. -
Remind PMs/EMs to contribute to the bugs, usability, and performance improvement MRs by commenting on the various Slack threads you initiated in #release-post, #development and #eng-managers by the 10th
Due date: 2022-01-15 (15th)
-
🟢 Select a cover image for the release post -
🟢 Verify that the selected cover image has not been used before. - Tip: MacOS users, navigate to the
source/images/directory and use the search bar in the Finder to search forcover. Make sure the scope is set to only search images. This won't reveal all previous images, but the last couple of years have had pretty consistent naming.
- Tip: MacOS users, navigate to the
-
🟢 On the release-X-Ybranch, add the cover image tosource/images/X_Y/X_Y-cover-image.jpg. Tip: Be sure to use an underscore (_) between release numbers, not a hyphen or dash (-).- Note that as you add references to the cover image throughout the release post branch, (including for social sharing) you need to match the filename and extension exactly. For example, if your image in the directory is
cover_image.jpgbut in another file, you reference it ascover_image.jpeg, it will not display as the extension does not match, so the file will not be found.
- Note that as you add references to the cover image throughout the release post branch, (including for social sharing) you need to match the filename and extension exactly. For example, if your image in the directory is
-
🟢 On the release-X-Ybranch, insites/uncategorized/source/releases/posts/YYYY-MM-DD-gitlab-X-Y-released.html.md, add details about the source image. -
Choose an MVP for this release based on what's surfaced in the MVP issue -
If no MVP nominations have been added to the MVP issue by the 15th, send reminders in Slack with the link to the MVP issue. An easy way to do this is to respond to your original Slack solicitation posts and resend to the whole channel. -
After one or more quality nominations have been received, choose one and notify the #release-postchannel of your choice. Use this chance to solicit any last-minute nominations, and confirm that the contribution your MVP choice was nominated for will make it into this release.
-
-
Before handing off the bugs, usability, and performance improvements MRs to the TW lead for final review, remind PMs/EMs about the content due date by revisiting and commenting on the Slack threads you created by the 10th in #release-post,#development, and#eng-managers. Let them know it's the "last call" and no further contributions to the MRs will be taken after the 15th. -
🟢 In the threads of this MR, look for a GitLab Mattermost update, similar to this example comment. Thank the poster, then tag the Distribution PM as an FYI and ask them to check the box and resolve the thread. -
If there are no deprecation announcements for this milestone, do a search to see if there are any open or merged MRs for the current milestone. - Depending on any discrepancies you find, engage the PMs in Slack #release-post
- If there are no deprecations MRs in the search, remind PMs to create deprecations MRs, if they have them for this milestone
-
Remind PMs to review existing deprecations on the Docs page in case any edits are needed.
Due date: 2022-01-17 (17th)
-
Mention the Distribution PM in the #release-postchannel, reminding them to add any relevant upgrade warnings by doing an upgrade MR. -
Finalize your MVP selection and work with the person that nominated the MVP to write the MVP section in data/release_posts/X_Y/mvp.ymlon therelease-X-Ybranch.-
On the release-X-Ybranch, add the MVP's name and other profile info todata/mvps.yml.
-
-
In the #release-postchannel remind all PMs that it's the 17th, so they need to either have their EMs merge their release post item MRs or bump the milestone if they know it won't make it. - Use
/rebaseon the release post MR. If you receive an error that the rebase cannot be scheduled, resolve any conflicts appear in the merge request widget. If no conflicts appear, consult with the Tech Advisor to resolve them locally. -
Perform a dry-run of the content assembly without pushing to master by completing the following commands:
git checkout master
git pull
git checkout release-x-y
git pull
git merge master
bin/release-post-assemble
- You should get a list of changed files. If no errors have been detected, use
git reset --hardto return back to your last commit. - If you get any errors, reach out to the Technical advisor for support and keep product operations and your TW lead informed as needed
Due date: 2022-01-18 (18th at 8 AM PT and NO earlier)
-
Perform final content assembly by pulling all content block MRs merged to masterinto the release post branch by using the following commands locally (one command at a time):git checkout master git pull git checkout release-x-y git pull git merge master bin/release-post-assemble git push origin release-x-y -
Do a visual check of the release-X-Ycontent block and image folders to make sure paths and names are correct -
Make sure the View App button shows up in the MR as expected -
Do a visual check of the blog post and ordering of content blocks for secondary items to confirm they are grouped by stage in descending alphabetical order. -
Update the release post intro in the sites/uncategorized/source/releases/posts/YYYY-MM-DD-gitlab-X-Y-released.html.mdwith 4 primary features to highlight. To do this:-
Make sure to remove the backticks around the features. -
Mention the VP of Product Management @adawarin the appropriate section of this MR and ask them to add a suggestion to update the intro, choosing no more than 4 features to highlight in order of importance. The top feature will appear as the first feature in the release notes, and the top 2 features will be used in the title of the post.- Be sure to provide the VP of Product Management with a clear time/date to do this based on when you want to do the final reviews on the 19th.
- Then post a follow-up to the VP Product Management in the
#release-postchannel with a link to the comment you've created in this MR, letting them know they need to take action by the date/time you designated or you'll choose the features to highlight and move forward.
-
Link the release post items mentioned in the intro to the item blocks within the release post. For example, for a feature named "Define test cases in GitLab", the link from the introduction should point to#define-test-cases-in-gitlab. -
Count the feature blocks to get the total number of improvements and add it to the intro, replace the XXinfrom the XX improvementsincluding replacing (removing) the backticks in thesites/uncategorized/source/releases/posts/YYYY-MM-DD-gitlab-X-Y-released.html.md. This count includes the top feature, primary features, secondary features, usability improvements, and performance improvements. Do not count bugs, upgrades, etc. You should use an approximate count (i.e. 40+ instead of 43) because the number can shift after the release post goes live. -
Mark the first primary item, based on what the VP of Product Management decided, to appear on the page as topwhile the rest can remainprimaryorsecondary.
-
-
🟢 On the release-x-ybranch, update the release blurb for the homepage in the file:/sites/uncategorized/source/includes/home/ten-oh-announcement.html.hamlchanging the following lines:-
🟢 Update the %h1 X.Xline to the latest version. -
🟢 Update the text under the release description with a copy/paste of the blog title. For example, GitLab X.X released with Feature A and Feature B. -
🟢 Update the link_toline with the URL of the blog. For example,/releases/2021/06/22/gitlab-14-0-released/. -
🟢 Update the "name":"GitLab X.X"line to the latest version. -
🟢 Update the releaseNotesto the URL of the blog. For example,"releaseNotes":"https://about.gitlab.com/releases/2021/06/22/gitlab-14-0-released/". -
🟢 Update the "softwareVersion":"X.X"line to the latest version.
-
-
Ensure that the social media sharing text for the click to tweet button on the bottom of the release post is available in the introduction. -
Notify the PM team in the #release-postchannel that final content assembly has happened and all work must now shift frommasterto the release post branch via coordination with the release post manager.- Include a link to the review app (View App) page, asking them to make sure all their content is showing up as expected with correct image/video links, etc. As confirmation of their final review, the PMs should check off their content and recurring blocks items in the release post MR.
- Be sure to link them to the content and recurring blocks section in the MR as part of the post.
Note: If the release post assembly script fails, look at the bottom of this section of the release post handbook page for further instruction
Due date: 2022-01-18 (18th)
-
Label this MR: ~"blog post" release review-in-progress -
Make sure there are no broken links in the review app (View App) page (use a dead link checker like Check my Links) -
Links to confidential issues may be missed. It is helpful to check for broken links as an unauthenticated GitLab user (either logged out, in another browser, or in Incognito mode). -
If there are links to external blogs that are still broken in the review app, check with PMs and others as needed to make sure the referenced blogs go live before the 22nd.
-
-
Check all comments in the MR thread (make sure no contribution was left behind). -
Make sure all discussions in the thread are resolved. -
If the pipeline is failing, confirm all release post content blocks have the right formatting. Common issues include extra spaces, missing quotes, or missing ---at the beginning and end. If you are unable to locate these items, give the TW lead a heads up and proceed with TW Lead structural check. -
Assign the MR to the next reviewer (Technical Writer lead). -
Ask the Technical Advisor in Slack #X-Y-release-post-prepchannel to prep handoff of any release post issues to the next Technical Advisor by referencing TA handoff
Due date: 2022-01-20 (20th)
-
Check if the number of features you added in the introductory paragraph has changed. To get the number, do a hand count of just the features (top, primary, secondary) in /data/release_posts/X_Y, and also count the number of items in the performance improvements and the usability improvements files in the currentrelease-X-Ybranch. Do not include bugs, upgrades, etc. You can use an approximate count (i.e. 40+ instead of 43). Remove the backticks around the number if you have not already. -
Use
/rebaseon the release post MR. If you receive an error that the rebase cannot be scheduled, resolve any conflicts that appear in the merge request widget. If no conflicts appear, consult with the Tech Advisor to resolve them locally. -
Post in the #release-post channel: _Hello PMs! The following features are top/primary!_ (Provide link to review app (**View App**) and tag the PMs for the top/primary features listed in the release post). _Please let us know if any of your merged primary release post items shifted out of the release after the 18th and will not make it into the final release packages by the 22nd._- Tell them they can check this query (updated with the correct milestone) and check with their EMs to verify the features did make it into the release.
- It is the Release Post Manager's responsibility to make sure any top/primary items mentioned in the introduction are accurate prior to the 22nd, because release post items can sometimes move in/out of the packaged release after the 18th, and this could affect the themes, headline, etc.
-
If you learn that any top/primary items have moved in/out of the packaged release after the 18th, communicate this directly to stop or start associated actions, with the DRIs for:
- Technical Marketing (the TMM team), who produce demo videos per release.
- Social Marketing, who produce feature campaigns per release.
- Corporate Communications, who lead media outreach and may have produced a press release
- Any other related efforts you're aware of, for example related blog posts.
Other reviews
Ideally, the team should complete all the reviews by the 19th of the month, so that the 2 days before the release can be left for fixes and small improvements.
Structural check (@axil)
Due date: 2022-01-18 (18th)
The structural check is performed by the technical writing lead: @axil
Before starting the structural check:
-
Ensure that the docs release process is started (but not completed). This process should start around the same time as the release post structural check, and be completed soon after the release post goes live.
When starting the structural check:
-
Add the label review-structure.
For suggestions that you are confident don't need to be reviewed, change them locally and push a commit directly to save the PMs from unneeded reviews. For example:
- Clear typos, like
this is a typpo - Minor front matter issues, like single quotes instead of double quotes, or vice versa
- Extra whitespace
For any changes to the content itself, make suggestions directly on the release post diff, and be sure to ping the reporter for that block in the suggestion comment, so that they can find it easily.
In the www-gitlab-com repository:
-
Check frontmatter entries and syntax. -
Check that the item's namecontains backticks when referring to code. (Previously we had to use single quotes, but backticks work now.) -
Check all images (png, jpg, and gifs) are smaller than 150 KB each. -
Remove any .gitkeepfiles accidentally included. -
Add or check cover_img:license block inreleases/posts/YYYY-MM-DD-gitlab-XX-Y-released.html.md. Should includeimage_url:,license:,license_url:. -
Search for available_in: [free, premium, ultimate]and change toavailable_in: [core, premium, ultimate].
In the review app:
-
Check that images match the context in which they are used, and are clear. -
Check for duplicate entries. -
Search for the text gitlab-ci.ymland ensure there is a period before the filename, for example,.gitlab-ci.yml. -
Check that features introduced in this release do not mistakenly reference previous releases (this often happens after features slip to a future release after an RPI is already written). If, for example, the current release is 13.8, and an item reads: "In GitLab 13.7 we introduced XXX...", this means the feature most likely slipped to 13.8. In that case, correct the text to "In GitLab 13.8 we introduced XXX...". A search for two or three previous release numbers ("13.7", "13.6", and "13.5" in our example) in the review app should be enough to spot this. -
Check all dates mentioned in entries, ensuring they refer to the correct year. -
Check the anchor links in the intro. All links in the release post markdown file should point to something in the release post YAML file. -
Check for structural consistency between release post items. Check for consistent use of white space, lists, and punctuation. -
Run a dead link checker like Check my Links and ping reporters directly on Slack asking them to fix broken links. -
Links to confidential issues may be missed. It is helpful to check for broken links as an unauthenticated GitLab user (either logged out, in another browser, or in Incognito mode).
-
-
Run a spelling check against the release post's review app (View app) page. For example, you can use Webpage Spell-Check for Google Chrome.
In general:
-
Report any problems from the structural check in the #release-postchannel by pinging the reporters directly for each problem. Do NOT ping@allor@channel, and do NOT leave a general message that no one will pay attention to. If possible, ensure open discussion threads in this merge request track any issues. -
Notify the release post manager that you're done with the structural check needed for final content review, by pinging them in the #X-Y-release-post-prepchannel. -
When the executive reviews are complete (on or after the 20th), post a comment in the #whats-happening-at-gitlabchannel linking to the review app (View App) and merge request reminding the team to take a look at the release post and to report problems in#release-post. CC the release post manager and product operations DRI. Template to use (replace links):Hey all! This month's release post is almost ready! Take a look at the preview and either report any problems in #release-post, or leave a comment to the release post MR. MR: https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/1234 Review app (this link is _temporary_ and should only be shared internally): https://release-X-Y.about.gitlab-review.app/releases/YYYY/MM/DD/gitlab-X-Y-released/index.html -
Remove the label review-structure. -
Ping the release post manager in Slack #XX-release-post-prep to let them know your review is over and they can start final content review -
Within 1 week, update the release post templates and release post handbook with anything that comes up during the process.
Final content review (@jstava)
Due date: 2022-01-18 - 2022-01-19 (18th - 19th)
Note: The final review should happen after the TW Lead structural check is complete.
-
Check to be sure there are no broken links in the View app (use a dead link checker like Check my Links. -
Mention @sytse,@sfwgitlab, and@adawarin the#release-postchannel when the post has been generated for their review per these communication guidelines. -
Capture any feedback from Slack into a single comment on the Release Post MR with action items assigned to the DRIs to address. Check the content review guidelines for more details.
Incorporating Feedback
Due date: 2022-01-20** (by the 20th)
-
Make sure all feedback from CEO and Product team reviews have been addressed by working with the DRIs of those areas as needed. -
If you receive feedback about the ordering of the primary Items, you might need to adjust the order. -
If needed. re-order secondary items by adjusting the titlesin the content blocks. More information to consider about altering secondary items in the content review guidelines and feature order technical instructions -
Make sure there are no open feedback items in this MR or in the #release-postchannel. -
On the 20th, ping Product Operations ( @fseifoddini) for final check in the#release-postchannel. -
After the Product Operations review, remove the review-in-progress label. -
After content assembly on the 17th and by 10 AM PDT on the 20th, request that the VP of Product Management @adawaridentify the 3-7 items for What's New by posting in the#release-postchannel and link to Creating an MR for What's New entries in the handbook. cc What's New DRIs Product Operations@fseifoddiniand Growth@mkarampalasin the Slack post.- Inform the VPoPM that they need to:
- Create and finalize the MR draft by 11:59 PDT on the 21st.
- Merge the MR after the release post is live on the 22nd and images have been checked to load correctly locally.
- Inform the VPoPM that they need to:
Preparing to merge to master (@jstava)
On the 21st
-
Mention @community-teamin the#swagchannel to ask them to send the swag pack to the MVP. -
Check if all the anchor links in the intro are working. -
Confirm there are no broken links in the review app (View app) with a dead link checker like Check my Links). -
Check the total feature count statement in the introductory paragraph to make sure the number stated is accurate, and if not, update it. To get the number, do a hand count of the top feature, primary features, secondary features, and performance improvements (do not count bugs, upgrades, etc.) in /data/release_posts/X_Yon the currentrelease-X-Ybranch. -
Work with your Technical Advisor to merge masterinto your release post branch before the 22nd. This reduces the risk of needing to resolve conflicts when merging the release post branch intomasteron the 22nd. This issue shows an example of how this process can be handled: #10886 (closed). After discussing with your Technical Advisor you might wish to remove theDraft:prefix from the MR, or mergemasterinto your branch multiple times before the 22nd. -
Check to make sure all unresolved threads on this MR are resolved and there are no merge conflicts. If you need help resolving merge conflicts or other technical problems, ask for help from the Technical Advisor in the #dev-escalationchannel in Slack then cross-post to the#release-postchannel to make others aware. -
In the #releaseschannel, reach out to the release managers to let them know you are running the release post. Ask them to keep you in the loop if there are any changes to the regularly anticipated timeline
On the 22nd (@jstava)
At 12:30 UTC
-
Read the important notes below -
Say hello in the #releaseschannel to let the release managers know you're online and awaiting their signal in#release-postto start the release post's merge process.- Release Managers will alert you in
#release-postif there are any issues with the release. You can follow along on the release issue to see the packaging progress on the 22nd. Check the issue list to find the issue (example issue). The#releaseschannel is also a good place to track any updates or announcements. - If everything is okay, the packages should be published at 13:30 UTC, and available publicly around 14:10 UTC.
- Release Managers will alert you in
-
Check to make sure there aren't any alerts on in the #release-postand#whats-happening-at-gitlabchannels. -
Check to make sure there aren't any alerts on this MR or merge conflicts.
Merging to master (@jstava)
At 13:50 UTC
After the release manager confirmed that the packages are publicly available by pinging you in Slack:
-
Announce to the team in the #release-postchannel that you are starting the final merge process, you will reach out for help if the MR fails, and that you will lead collaboration with the appropriate team members to resolve any problems.- Depending on the complexity of the failure it is recommended that you first try to resolve the issue yourself and then reach out to the
#dev-escalationchannel per What to do if your pipeline fails or you have other technical problems.
- Depending on the complexity of the failure it is recommended that you first try to resolve the issue yourself and then reach out to the
-
Add the MR to the merge train at 14:10-14:20 UTC. -
Wait for the pipeline. This can take anywhere from 20-45 minutes to complete. -
Check the live URL on social media (after the MR is merged) with Twitter Card Validator and Facebook Debugger. Make sure that in both cases, you can see the cover image of the release post displayed along with social sharing copy - If the cover image is not displaying or you see other error messages, resolve these issues by consulting with the Tech Advisor, Product Operations, or Social team as needed.
- You may get a warning from Facebook that says
Missing Properties - The following required properties are missing: fb:app_id- this can be ignored.
-
Check for broken links again after the post is live. -
Hand off social posts to the social team and confirm that it's ready to publish: Mention @socialin the#release-postSlack channel. Be sure to include the live URL link and social media copy (you can copy/paste the final copy from the review app).- A member of the social team will schedule the posts at the next available best time on the same day. The social team will mark the Slack message with a
⏳ once scheduled and add scheduled times to the post thread for team awareness. Further details are listed below in the Important Notes Section.
- A member of the social team will schedule the posts at the next available best time on the same day. The social team will mark the Slack message with a
-
Share the links to the post on the #release-postsand#whats-happening-at-gitlabchannels in Slack.
What to do if your pipeline fails or you have other technical problems
For assistance related to failed pipelines or eleventh-hour issues merging the release post, reach out to release post technical advisors for assistance in the #dev-escalation Slack channel. Cross-post the thread from #dev-escalation in #release-post so all Product Managers and release post stakeholders are aware of status and delays.
Important notes
- The post is to be live on the 22nd at 15:00 UTC. It should be merged as soon as GitLab.com is up and running on the new release version (or the latest RC that has the same features as the release), and after all packages are publicly available. Not before. Ideally, merge it around 14:20 UTC as the pipeline takes about 40 min to run.
- The usual release time is 15:00 UTC but it varies according to the deployment. If something comes up and delays the release, the release post will be delayed with the release.
- Coordinate the timing with the release managers. Ask them to keep you in the loop. Ideally, the packages should be published around 13:30-13:40, so they will be publicly available around 14:10 and you'll be able to merge the post at 14:20ish.
- After the release post is live, wait a few minutes to see if anyone spots an error (usually posted in the
#whats-happening-at-gitlabor#company-fyichannels), then follow thehandoff to social teamchecklist item above. - The tweet to share on Slack will not be live, it will be scheduled during a peak awareness time on the 22nd. After the tweet is live, the social team will share the tweet link in the
#release-postand#whats-happening-at-gitlabSlack channels. - Keep an eye on Slack and in the blog post comments for a few hours to make sure no one found anything that needs fixing.