Phabricator/UpgradeProcess: Difference between revisions

add deployment bugs
(added an info about the phabext sha)
(add deployment bugs)
Line 5: Line 5:
== Process ==
== Process ==


1. At the end of every Conduit sprint, the team picks someone to handle the next upgrade.  This role should rotate among the team.  We'll call this person the "upgrade mechanic".
1. Approximately every two weeks, the team picks someone to handle the next upgrade.  This role should rotate among the team.  We'll call this person the "upgrade mechanic".  File a tracking bug filed under Conduit :: Infrastructure with the summary "Upgrade Phabricator to week {WEEK}", where {WEEK} is taken from the [https://secure.phabricator.com/w/changelog/ Phabricator Changelog], e.g. "2018 Week 6".


2. The upgrade mechanic should bump the Phabricator revision hash in a local clone and build the container.
2. The upgrade mechanic should bump the Phabricator revision hash in a local clone and build the container.
Line 41: Line 41:
6. When the change is merged the new mozilla/mozphab image is built by circle ci and the new docker sha will be at https://hub.docker.com/r/mozilla/mozphab/tags/. Add the new hash to phabricator-extension's Dockerfile, commit and create the revision in Phabricator.
6. When the change is merged the new mozilla/mozphab image is built by circle ci and the new docker sha will be at https://hub.docker.com/r/mozilla/mozphab/tags/. Add the new hash to phabricator-extension's Dockerfile, commit and create the revision in Phabricator.


7 After landing the revision file a bug under Conduit :: Infrastructure noting the new hash of the phabext container which will be at https://hub.docker.com/r/mozilla/phabext/tags/.
7. After landing the revision file a bug under Cloud Services :: Operations: Phabricator, blocking the tracking bug filed in step 1 above. The description should follow this template:


8. On the following Tuesday, operations will deploy to dev.  The upgrade mechanic should do the same simple smoke test on the dev system.
    Summary: Please deploy Phabricator image {HASH} to dev
   
    Description:
    Phabricator Extension Container Hash: {HASH}
   
    {extra instructions related to this deploy, including addition of new ENV vars}


9. On Wednesday (possibly the next week if there were bugs), operations deploys to stage and updates the bug, assigning it to QA (chartjes).
{HASH} should be replaced by the new hash of the phabext container, which will be at https://hub.docker.com/r/mozilla/phabext/tags/.


10. QA runs the bigger [[Phabricator/TestPlan|test plan]] against stage. ''At this time there are issues with stage caused by BMO stage being behind a VPNWe will use dev for QA's testing until this problem is solved.''
8. On the following Tuesday, operations will deploy to dev.  The upgrade mechanic should do the same simple smoke test on the dev system. The mechanic should then file a stage deployment bugUse the same location and template as in step 7, replacing "dev" with "stage" in the summary.


11. If QA gives is a pass (in the bug), operations deploys to production on Thursday.  Otherwise go to step 4.
9. On Wednesday (possibly the next week if there were bugs), operations deploys to stage. The mechanic should set a needinfo flag to the QA person (e.g. chartjes) on the tracking bug filed in step 1 indicating that the deployment is ready to test. ''At this time there are issues with stage caused by BMO stage being behind a VPN.  We will use dev for QA's testing until this problem is solved.''
 
10. QA runs the bigger [[Phabricator/TestPlan|test plan]] against stage (''dev for now'').  Results should be posted in the tracking bug, clearing the needinfo.
 
11. If the tests passed, the mechanic should file a prod deployment bug, again as in step 7 but with "prod" in the summary.  Otherwise go to step 4.
 
12. When prod is deployed, resolve the tracking bug as FIXED.
Confirmed users
1,927

edits