avm99963 | ea37fdf | 2021-02-03 01:27:13 +0100 | [diff] [blame] | 1 | # Release cycle |
| 2 | When the code in the `master` branch is considered to be stable, a release can |
| 3 | be made. This is the procedure: |
| 4 | |
| 5 | 1. Tag the last commit with a version number (in the format `vx`, where x is the |
| 6 | extension's [version number](https://developer.chrome.com/extensions/manifest/version) |
| 7 | for that release) by running `bash tagRelease.bash --version vx`. Note that the |
| 8 | tag must be pushed to Gerrit after being created. |
Adrià Vilanova Martínez | b670b19 | 2021-09-07 13:10:26 +0200 | [diff] [blame] | 9 | 1. Sync the features with the TWPT-server via the `syncfeatures` command. (e.g. |
| 10 | `cat src/common/optionsPrototype.json5 | json5 | syncfeatures --grpcEndpoint __ENTER_ENDPOINT__ --jwt __ENTER_JWT__`). |
| 11 | 1. [Build the extension](build.md) for both the stable and beta channels. This |
avm99963 | ea37fdf | 2021-02-03 01:27:13 +0100 | [diff] [blame] | 12 | will output a ZIP file for each release channel and each supported browser. |
| 13 | |
Adrià Vilanova Martínez | 613aab5 | 2021-06-02 12:06:56 +0200 | [diff] [blame] | 14 | Afterwards, the release should be published in GitHub along with a changelog, |
| 15 | a notice should be published in the private extension Google Group, and the |
| 16 | release/build files must be submitted to the Chrome Web Store and |
| 17 | addons.mozilla.org. |
| 18 | |
| 19 | ## Create release at GitHub |
| 20 | 1. Go to https://github.com/avm99963/infinitegforums/releases. |
| 21 | 2. Click the newly created tag and click **Edit tag**. |
| 22 | 3. Fill in the description with the changelog. You can use this as a template: |
| 23 | ``` md |
| 24 | ## Changes |
| 25 | |
| 26 | **Complete git changelog:** |
| 27 | https://gerrit.avm99963.com/plugins/gitiles/infinitegforums/+log/refs/tags/{previous_version}..refs/tags/{new_version}?pretty=full |
| 28 | |
| 29 | ### Summary of changes: |
| 30 | |
| 31 | - abcdef0 Commit example 1 |
| 32 | |
| 33 | This is a description of the commit, which explains more about what it does. |
| 34 | |
| 35 | Fixes: #42 |
| 36 | |
| 37 | - 41d1aff Convert dark mode to green mode |
| 38 | - 52dbca8 Introduce lollipops |
| 39 | |
| 40 | **Note:** This feature is not yet ready for launch and not available yet |
| 41 | inside the options section. |
| 42 | ``` |
| 43 | 4. Upload the Chromium stable and Gecko stable release files (alternatively |
| 44 | upload the Chromium beta and Gecko stable packages and mark the release as a |
| 45 | pre-release if there is no intention of promoting this release to stable in the |
| 46 | future). |
avm99963 | ea37fdf | 2021-02-03 01:27:13 +0100 | [diff] [blame] | 47 | |
| 48 | ## Submitting to the Chrome Web Store |
| 49 | 1. [Upload both release files](https://developer.chrome.com/webstore/publish#upload-your-item) |
| 50 | to the Chrome Web Store, one for each release channel. |
Adrià Vilanova Martínez | b8e442b | 2021-07-28 15:53:16 +0200 | [diff] [blame] | 51 | |
| 52 | You can use the following links: [[stable]](http://go/twpt-cwsd-stable), |
| 53 | [[beta]](http://go/twpt-cwsd-beta) (internal-only). |
| 54 | |
avm99963 | ea37fdf | 2021-02-03 01:27:13 +0100 | [diff] [blame] | 55 | 2. [Submit both releases](https://developer.chrome.com/webstore/publish#submit-your-item-for-publishing) |
| 56 | to be reviewed by the Chrome Web Store team, but in the case of the stable |
| 57 | channel uncheck the "Publish automatically after it has passed review" option. |
avm99963 | ea37fdf | 2021-02-03 01:27:13 +0100 | [diff] [blame] | 58 | |
| 59 | ## Submitting to addons.mozilla.org |
| 60 | The procedure is similar to the one with the Chrome Web Store, except for the |
| 61 | fact that the stable version is directly uploaded to the store. |
| 62 | |
Adrià Vilanova Martínez | 613aab5 | 2021-06-02 12:06:56 +0200 | [diff] [blame] | 63 | You can upload the new version using the following link: |
| 64 | https://addons.mozilla.org/en-US/developers/addon/tw-power-tools/versions/submit/. |
| 65 | |
Adrià Vilanova Martínez | b313e2a | 2021-08-30 18:25:21 +0200 | [diff] [blame] | 66 | In the "notes to reviewer", add the following message: |
| 67 | |
| 68 | ``` |
| 69 | For instructions on how to build the extension: |
| 70 | |
| 71 | - Set up your environment: https://gerrit.avm99963.com/plugins/gitiles/infinitegforums/+/HEAD/docs/developers/set_up.md |
| 72 | - Build the extension: https://gerrit.avm99963.com/plugins/gitiles/infinitegforums/+/HEAD/docs/developers/build.md |
| 73 | |
| 74 | (These files are also included inside the source code ZIP) |
| 75 | ``` |
| 76 | |
Adrià Vilanova Martínez | 613aab5 | 2021-06-02 12:06:56 +0200 | [diff] [blame] | 77 | ## Promoting the beta release to stable |
| 78 | After the beta release is reviewed and approved by Google, the following should |
| 79 | be done: |
| 80 | |
| 81 | 1. Test again the extension by using the beta channel. Check if the options have |
| 82 | been transfered correctly from version to version, and wait some days (for |
| 83 | instance between 3 and 5 days) to see if other people report issues with the |
| 84 | updated version. |
| 85 | 2. If everything goes well, publish the update in the stable channel. The |
| 86 | updated version should have already been reviewed by the Chrome Web Store team |
| 87 | at this time. |
| 88 | |
| 89 | If during this process the release wasn't approved by Google or an issue was |
| 90 | found during beta testing, a new release which fixes this should be created and |
| 91 | the previous stable update should be canceled and superseded by the new release. |