Add some information about testing with release and alpha authored by Pier Angelo Vendrame's avatar Pier Angelo Vendrame
......@@ -128,13 +128,14 @@ In addition, you must [create a new public key pair](https://gitlab.torproject.o
## Updater URL and Signature Public Certificate
Testing the `nightly` channel is easiest.
`alpha` and `release` are also feasible, but slightly less automated because our tools take for granted that you are updating from signed builds.
You can change the URL in the [build configuration](https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/blob/main/projects/firefox/config#L38): you just need to set `override_updater_url`.
This URL will contain the update responses, that are some XML files that the Firefox updater polls with a certain frequency to check if any update is available.
Setting a custom updater URL will also override the update certificate: copy yours to `project/firefox/marsigner.der`.
If you are testing `release` or `alpha` then a more complicated patch will be needed.
If you are testing `release` or `alpha`, you will have to modify the `build` script to replace the release key instead of the nightly.
## Sign MAR file
......@@ -194,6 +195,7 @@ They are located in `tools/update-responses`.
### Generate the incrementals
Generating the incrementals has the "side" effect of creating a configuration to create the update responses.
For nightly you can use use this command:
```shell
make torbrowser-incrementals-nightly
......@@ -207,6 +209,21 @@ Otherwise, if you really don't want to generate the incrementals, you can simply
rbm/rbm build release --step update_responses_config --target nightly --target torbrowser
```
For `release` and `alpha`, you cannot use the respective `make` targets.
You will have to use the above command to generate the configuration first, adjust it to use the unsigned build directory:
```yaml
versions:
xx.y.z:
releases_dir: .../tor-browser-build/torbrowser/release/unsigned
```
Then you can optionally generate incrementals manually with:
```shell
tools/update-responses/gen_incrementals $channel
```
#### Update the URLs in `config.yml`
`tools/update-responses/config.yml` is a non-versioned file that is generated automatically at the previous stage. \
......
......