Release Process

Fortnightly releases go out on Monday. Before a release can go out, testing needs to be performed on the unreleased code, to do this there is a simple process to create the new release branches and push the code to the UAT stack.

Next Run Accent translations update UAT job manually for UAT in case there were new translation key additions

Finally Verify that UAT has been cloned for different dev teams

  • Manually, if required via #tenant-management:

    intellibot clone qa_intellihr <name> --uat
    
  • Where <name> could be

    • Analytics: qa-analytics

Check that UAT has deployed successfully for Lapis, Graphite, and SPA. Only once all services have been deployed, testing can begin

Proceedure

  1. Reset the status of the QA Cards by pressing Reset Board
  2. Check if any ConfigCat changes in UAT are required by asking development teams in relevant slack channels
  3. Ask teams to start testing QA Cards
  4. Ask QA to start the Cypress tests on the UAT stack
  5. Release notes will need to be written based on the release MRs co-ordinate with teams Iteration Managers to have these written in Notion.
  6. Check in #team-ihr-dev channel to see if any ConfigCat flags need to be turned on (or off) in Prod, and if there are any specific tenant requirements ahead of the actual release.
  7. Once all QA cards have been marked as passed, and all items in the release MRs are ticked, use the same process for releasing but this time the target is production
  8. Once the main services have been release, message @team-intelli99 in #team-ihr-intelli99 to promote and migrate the Zapier app
  9. The builds should be monitored in Jenkins to make sure they are successful and going out in the correct order
  10. Once the builds have gone out successfully in Sydney, build the main branches in the same order on the EU Jenkins instance
  11. Notify everyone in slack that the release is going out, and post the release notes from the teams