MOM: PROD Release Process Meeting

As on Oct 15, 2020, we had a discussion to lay down defined processes for the production releases. Following are the points agreed on :

  1. Channel ' #release_coordination ' should only be used for deployment-related communication.

  2. Following DEVs extended their help to support PR code merge into STG " @Josh Morel @JV @Manny @Robin V " as owners to merge.

3. Followings PMs extended their help to stay in stand by during release window:  ' @Do Hee @Emily Taylor @Tejas Mahajan @Dhruv Patel

Please NOTE: For every feature/improvements we are targeting to push to production following process is required, hence the features should be merged into STG accordingly:

   - Initially the translation PR i.e. PR from lokalise will trigger for new translation for any feature or improvement after that feature is merged into STG (staging)environment.
   - The GTM tags are assigned to the newly added IDs will be done in STG, hence any feature which is being planned to release in PROD, that feature should be merged in STG environment a week before to ensure that translation is done and the GTM tags have been assigned.
  1. We are going to have weekly releases as of now. Hence,  a. Code Freeze: On every Tuesday, the team will have a meeting with the 'release notes' @2:00PM EST and following the meeting, the code freeze should be done in the STG environment. No new PRs should be added to the list after code freeze. The target window for the code freeze is 3:00pm- 5:00PM EST.  b. PROD deployment: On the following day i.e. Wednesday, after the testing is completed successfully, the code will be pushed to PROD between 5:00pm - 7:00pm EST.

  2. QA team consisting of '@Rajbir Kaur @Agnieszka @Sheeba Jose @Nivethetha Sankar Ramesh Kumar will run the e2e test on STG environment (after the code freeze) and highlight the issue to the team. After testing finishes the QA team should publish the results for the release notes.

  3. The BI team consisting of @Federica Zanini will perform the testing of GTM IDs. After the QA finish the testing in STG environment BI team should be notified in release channel to start their test against the GTM IDs.

  4. After the BI team i.e. @Federica Zanini verify the GTM tags, will share the testing status in the #release_coordination channel. After 'Go' signal from QA and BI, the respective STG build should be deployed into PROD between 5:00- 7:00 pm EST window on Wednesday of the respective week.

  5. Following DEVs need to be on the standup mode during the release window to fix instant bug fixes/blockers if any. @Sujatha, @Zayd Boudekkara @Dawei Zhang

  6. After code freeze testing, if any blocker is identified, then that feature/fix should be rolled back, rather than delaying the PROD deployment (exceptions can occur)

  7. All the releases should be tracked and managed through PR in GitHub. On the release day, the coordinator should create a PR into GitHub with 'Production Release as on<10-20-2020>' i.e. mention the release date. Steps to create the PR are mentioned below.

  8. After the code is deployed in PROD, QA team will sanity test in PROD with 'toggleqa' mode on. Following are the steps to follow the QA mode in PROD.

  1. BI team run the necessary test in PROD and update the status in the release channel.

  2. Plan and track for next release by creating weekly release target list which will include the next planned PRs/features.

Please feel free to add\edit. Thanks

Weekly meeting Details for Release Coordination:

Please join Zoom Meeting on each "Tuesday-biweekly" for production release planning at 2:00pm EST/8:00pm CET:

https://us04web.zoom.us/j/73954449360?pwd=MUlDamFzZy9UOVZ2OFRMT1ErUEE5Zz09

Meeting ID: 739 5444 9360 Passcode: 0nV1YR

Steps to create PR to track and merge the code into PROD:

  1. Coordinator opens PR with, "base: production <- compare: staging"
  2. Give title, e.g. "Production Release as on 10-20-2020"

  1. Add 2 reviewers as per the availability. - 1 lead dev & 1 lead QA for this release (can change week to week and 1 could also be coordinator)