|
| 1 | + |
| 2 | +# Releasing the dashboard |
| 3 | + |
| 4 | +## Steps |
| 5 | + |
| 6 | +1. [Update version number](#updating-version-number) |
| 7 | +1. [Manual testing](#manual-testing) of the master branch |
| 8 | +1. [Tagging](#tagging) the release to deploy |
| 9 | + |
| 10 | +### Updating version number |
| 11 | + |
| 12 | +Numbers are chosen based on whether the code changes will cause a breaking API |
| 13 | +change or not. Version numbers do not follow traditional semver, as this |
| 14 | +codebase isn't a library that's consumed but a user interface. Instead, breaking |
| 15 | +api changes should be a major change while all other changes can be a minor |
| 16 | +change. Single bug fixes can be reserved for patch changes. |
| 17 | + |
| 18 | +Once a version number is decided, it must be updated in `package.json` under |
| 19 | +the `version` key. This is currently the only place it has to be updated. To |
| 20 | +change the version: |
| 21 | + |
| 22 | +1. Change the `version` key in `package.json` to the new version number. |
| 23 | +1. Checkout a new branch with the format `release-{num}` where {num} is the new version number. |
| 24 | +1. Commit the change with a message about updating for a new release. |
| 25 | +1. Push this change up to the remote and create a pull request. |
| 26 | +1. Once ready, merge the pull request (this will not trigger a release yet). |
| 27 | + |
| 28 | +### Manual testing |
| 29 | + |
| 30 | +Currently, the site does not have visual regression testing so must be manually |
| 31 | +tested for breaking visual changes. Here is a simple script to assist in manual |
| 32 | +testing. Generally, it's best to look through all the pages and check if anything |
| 33 | +looks off. Testing shoudl generally be done on the master environment, |
| 34 | +dashboard-master.cloud.gov, when all the necessary code is on the master branch |
| 35 | +and has been deployed. To check that the master branch has been deployed, check |
| 36 | +travis CI. |
| 37 | + |
| 38 | +#### Script |
| 39 | + |
| 40 | +Actions in the script should be done under the `cf-deck-testing` organization |
| 41 | +and the `testSpace01` space. |
| 42 | + |
| 43 | +1. Go to `/` and ensure everything looks OK. |
| 44 | +1. Click on an organization on the right hand side nav. |
| 45 | + - Ensure that the correct organization get's highlighted in the sidenav. |
| 46 | + - Ensure the menu correctly opens. |
| 47 | +1. Click on `Marketplace` in the sidenav and ensure the page appears and looks OK. |
| 48 | +1. Click `Create service instance` on any of the rds service plans. |
| 49 | + - Ensure you are easily able to see the `Create service instance` form. |
| 50 | + - Ensure the `Create service instance` form looks OK. |
| 51 | +1. Choose a memorable name for the service instance and type it into the first textbox. |
| 52 | +1. Add the service instance under a the `testSpace01` space by selecting it from the dropdown. |
| 53 | +1. Click the `Cancel` button and ensure the form correctly disappears. |
| 54 | +1. Repeat the last few steps to open the `Create service instance` form again filled out. |
| 55 | +1. Click the `Create service instance` button and ensure the form disappears. |
| 56 | +1. Click on the `spaces` link and ensure the all spaces page appears and looks OK. |
| 57 | +1. Click on a space on the sidnav in the list of spaces. |
| 58 | + - Ensure the space get's correctly highlighted in the sidenav. |
| 59 | + - Ensure the specific space page appears and looks OK. |
| 60 | +1. Click on the `Service instances` link in the subnav. |
| 61 | + - Ensure the page appears and looks OK. |
| 62 | + - Ensure that your test service instance you created is in the list of instances. |
| 63 | +1. Click the `Delete instance` button for the instance you created. |
| 64 | + - Ensure a delete confirmation form appears. |
| 65 | +1. Click the `Cancel` button on the delete confirmation form and ensure the form disappears. |
| 66 | +1. Click the `Delete instance` button for the instance you created again. |
| 67 | +1. Click 'Confirm delete' and ensure the form and the instance disappear after a few seconds. |
| 68 | +1. Click on `User management` in the subnav and ensure the page appears and looks OK. |
| 69 | +1. Attempt to click on the role checkboxes for a user. (If it's grayed out, you do not have permission to edit it, which is OK) |
| 70 | + - Ensure the checkbox becomes unchecked after a second of clicking on it. |
| 71 | +1. Click on the same checkbox again to keep the permission the same |
| 72 | + - Ensure the checkbox becomes unchecked after a second of clicking on it. |
| 73 | +1. Click on the 'All organization users` link in the subnav. |
| 74 | +1 Repeat steps to check a user permission. |
| 75 | +1. Techinically, we shoudl test removing a user from an org here, but will not because theres no easy way to add them back. |
| 76 | +1. Click on the `Apps` link in the subnav |
| 77 | +1. Click on `testapp01` or any app available and ensure the page appears and looks OK. |
| 78 | +1. Click on the `Overview` link in the sidenav and ensure the homepage appears. |
| 79 | + |
| 80 | +## Tagging |
| 81 | + |
| 82 | +Once the site looks OK and ready to deploy, tagging a commit in git will trigger |
| 83 | +the deploy process to production, dashboard.cloud.gov. |
| 84 | + |
| 85 | +On the master branch: |
| 86 | + |
| 87 | +1. Ensure you have the most up to date code by pulling or rebasing. |
| 88 | +1. Tag the commit by running `git tag -a {num}` where {num} is the new version number |
| 89 | +1. Push the tag up to the remote by running `git push origin --tags` |
| 90 | + |
| 91 | +This should start the release process which can be monitored in travis CI. |
0 commit comments