blob: 54dc1c82959d798703d7ffd03ad71a8d7acd3fba [file] [log] [blame] [view]
avm99963ea37fdf2021-02-03 01:27:13 +01001# Release cycle
Adrià Vilanova Martíneze67e87b2024-02-10 13:38:10 +01002
3*** aside
4See more information at
5[shortn/twpt-internal-release-cycle](http://shortn/twpt-internal-release-cycle).
6***
7
avm99963ea37fdf2021-02-03 01:27:13 +01008When the code in the `master` branch is considered to be stable, a release can
9be made. This is the procedure:
10
111. Tag the last commit with a version number (in the format `vx`, where x is the
12extension's [version number](https://developer.chrome.com/extensions/manifest/version)
13for that release) by running `bash tagRelease.bash --version vx`. Note that the
14tag must be pushed to Gerrit after being created.
Adrià Vilanova Martínezb670b192021-09-07 13:10:26 +0200151. Sync the features with the TWPT-server via the `syncfeatures` command. (e.g.
16`cat src/common/optionsPrototype.json5 | json5 | syncfeatures --grpcEndpoint __ENTER_ENDPOINT__ --jwt __ENTER_JWT__`).
171. [Build the extension](build.md) for both the stable and beta channels. This
avm99963ea37fdf2021-02-03 01:27:13 +010018will output a ZIP file for each release channel and each supported browser.
19
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020020Afterwards, the release should be published in GitHub along with a changelog,
Adrià Vilanova Martíneze67e87b2024-02-10 13:38:10 +010021a notice should be published in the
22[private extension Google Group](https://groups.google.com/g/twpowertools-discuss/),
23and the release/build files must be submitted to the Chrome Web Store and
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020024addons.mozilla.org.
25
26## Create release at GitHub
271. Go to https://github.com/avm99963/infinitegforums/releases.
282. Click the newly created tag and click **Edit tag**.
293. Fill in the description with the changelog. You can use this as a template:
30``` md
31## Changes
32
Adrià Vilanova Martíneze67e87b2024-02-10 13:38:10 +010033- **More Dark theme improvements**
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020034
Adrià Vilanova Martíneze67e87b2024-02-10 13:38:10 +010035 As in the previous release, [please keep the reports coming][new-dark-theme-issue]
36 if you find something which is not styled correctly! :)
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020037
Adrià Vilanova Martíneze67e87b2024-02-10 13:38:10 +010038- **Convert dark mode to green mode**
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020039
Adrià Vilanova Martíneze67e87b2024-02-10 13:38:10 +010040- **Introduce lollipops**
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020041
Adrià Vilanova Martíneza740bfc2024-02-10 15:13:34 +010042 *Note: This feature is not yet ready for launch and is only available as an
43 experiment in the [Canary channel][canary].*
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020044
Adrià Vilanova Martíneze67e87b2024-02-10 13:38:10 +010045- **Updated French translation**, thanks to @medelinor-1!
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020046
Adrià Vilanova Martíneze67e87b2024-02-10 13:38:10 +010047And many other minor/under-the-hood improvements that you can check out in the
48complete changelog:
49https://gerrit.avm99963.com/plugins/gitiles/infinitegforums/+log/refs/tags/{previous_version}..refs/tags/{new_version}
50
51[new-dark-theme-issue]: https://bugs.avm99963.com/p/twpowertools/issues/entry?template=Feature+Request&components=Features%3EDarkTheme&summary=Dark%20theme%20issue&description=Please%20describe%20the%20dark%20theme%20issue:
52[canary]: https://gerrit.avm99963.com/plugins/gitiles/infinitegforums/+/HEAD/docs/contributing.md#canary-channel
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020053```
544. Upload the Chromium stable and Gecko stable release files (alternatively
55upload the Chromium beta and Gecko stable packages and mark the release as a
56pre-release if there is no intention of promoting this release to stable in the
57future).
avm99963ea37fdf2021-02-03 01:27:13 +010058
59## Submitting to the Chrome Web Store
601. [Upload both release files](https://developer.chrome.com/webstore/publish#upload-your-item)
61to the Chrome Web Store, one for each release channel.
Adrià Vilanova Martínezb8e442b2021-07-28 15:53:16 +020062
63 You can use the following links: [[stable]](http://go/twpt-cwsd-stable),
64 [[beta]](http://go/twpt-cwsd-beta) (internal-only).
65
avm99963ea37fdf2021-02-03 01:27:13 +0100662. [Submit both releases](https://developer.chrome.com/webstore/publish#submit-your-item-for-publishing)
67to be reviewed by the Chrome Web Store team, but in the case of the stable
68channel uncheck the "Publish automatically after it has passed review" option.
avm99963ea37fdf2021-02-03 01:27:13 +010069
70## Submitting to addons.mozilla.org
71The procedure is similar to the one with the Chrome Web Store, except for the
72fact that the stable version is directly uploaded to the store.
73
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020074You can upload the new version using the following link:
75https://addons.mozilla.org/en-US/developers/addon/tw-power-tools/versions/submit/.
76
Adrià Vilanova Martínezb313e2a2021-08-30 18:25:21 +020077In the "notes to reviewer", add the following message:
78
79```
80For instructions on how to build the extension:
81
82- Set up your environment: https://gerrit.avm99963.com/plugins/gitiles/infinitegforums/+/HEAD/docs/developers/set_up.md
83- Build the extension: https://gerrit.avm99963.com/plugins/gitiles/infinitegforums/+/HEAD/docs/developers/build.md
84
85(These files are also included inside the source code ZIP)
86```
87
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020088## Promoting the beta release to stable
89After the beta release is reviewed and approved by Google, the following should
90be done:
91
921. Test again the extension by using the beta channel. Check if the options have
93been transfered correctly from version to version, and wait some days (for
94instance between 3 and 5 days) to see if other people report issues with the
95updated version.
962. If everything goes well, publish the update in the stable channel. The
97updated version should have already been reviewed by the Chrome Web Store team
98at this time.
99
100If during this process the release wasn't approved by Google or an issue was
101found during beta testing, a new release which fixes this should be created and
102the previous stable update should be canceled and superseded by the new release.