blob: 6f647ce3a2efbe36da059272c0a0b901a0124a9e [file] [log] [blame] [view]
avm99963ea37fdf2021-02-03 01:27:13 +01001# Release cycle
2When the code in the `master` branch is considered to be stable, a release can
3be made. This is the procedure:
4
51. Tag the last commit with a version number (in the format `vx`, where x is the
6extension's [version number](https://developer.chrome.com/extensions/manifest/version)
7for that release) by running `bash tagRelease.bash --version vx`. Note that the
8tag must be pushed to Gerrit after being created.
Adrià Vilanova Martínezb670b192021-09-07 13:10:26 +020091. 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__`).
111. [Build the extension](build.md) for both the stable and beta channels. This
avm99963ea37fdf2021-02-03 01:27:13 +010012will output a ZIP file for each release channel and each supported browser.
13
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020014Afterwards, the release should be published in GitHub along with a changelog,
15a notice should be published in the private extension Google Group, and the
16release/build files must be submitted to the Chrome Web Store and
17addons.mozilla.org.
18
19## Create release at GitHub
201. Go to https://github.com/avm99963/infinitegforums/releases.
212. Click the newly created tag and click **Edit tag**.
223. Fill in the description with the changelog. You can use this as a template:
23``` md
24## Changes
25
26**Complete git changelog:**
27https://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```
434. Upload the Chromium stable and Gecko stable release files (alternatively
44upload the Chromium beta and Gecko stable packages and mark the release as a
45pre-release if there is no intention of promoting this release to stable in the
46future).
avm99963ea37fdf2021-02-03 01:27:13 +010047
48## Submitting to the Chrome Web Store
491. [Upload both release files](https://developer.chrome.com/webstore/publish#upload-your-item)
50to the Chrome Web Store, one for each release channel.
Adrià Vilanova Martínezb8e442b2021-07-28 15:53:16 +020051
52 You can use the following links: [[stable]](http://go/twpt-cwsd-stable),
53 [[beta]](http://go/twpt-cwsd-beta) (internal-only).
54
avm99963ea37fdf2021-02-03 01:27:13 +0100552. [Submit both releases](https://developer.chrome.com/webstore/publish#submit-your-item-for-publishing)
56to be reviewed by the Chrome Web Store team, but in the case of the stable
57channel uncheck the "Publish automatically after it has passed review" option.
avm99963ea37fdf2021-02-03 01:27:13 +010058
59## Submitting to addons.mozilla.org
60The procedure is similar to the one with the Chrome Web Store, except for the
61fact that the stable version is directly uploaded to the store.
62
Adrià Vilanova Martínez613aab52021-06-02 12:06:56 +020063You can upload the new version using the following link:
64https://addons.mozilla.org/en-US/developers/addon/tw-power-tools/versions/submit/.
65
Adrià Vilanova Martínezb313e2a2021-08-30 18:25:21 +020066In the "notes to reviewer", add the following message:
67
68```
69For 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ínez613aab52021-06-02 12:06:56 +020077## Promoting the beta release to stable
78After the beta release is reviewed and approved by Google, the following should
79be done:
80
811. Test again the extension by using the beta channel. Check if the options have
82been transfered correctly from version to version, and wait some days (for
83instance between 3 and 5 days) to see if other people report issues with the
84updated version.
852. If everything goes well, publish the update in the stable channel. The
86updated version should have already been reviewed by the Chrome Web Store team
87at this time.
88
89If during this process the release wasn't approved by Google or an issue was
90found during beta testing, a new release which fixes this should be created and
91the previous stable update should be canceled and superseded by the new release.