morgan pushed to branch mullvad-browser-147.0a1-16.0-2 at The Tor Project / Applications / Mullvad Browser
Commits:
-
6954122a
by Morgan at 2026-02-18T16:25:04+00:00
4 changed files:
- .gitlab/issue_templates/060 Rebase - Alpha.md
- .gitlab/issue_templates/061 Rebase - Stable.md
- − .gitlab/issue_templates/063 Rebase - Rapid.md
- .gitlab/issue_templates/Default.md
Changes:
| 1 | 1 | # ⤵️ Rebase Alpha
|
| 2 | 2 | |
| 3 | -**NOTE:** All examples in this template reference the rebase from 102.7.0esr to 102.8.0esr
|
|
| 3 | +**NOTE:** It is assumed that we've already rebased and tagged `base-browser` alpha.
|
|
| 4 | 4 | |
| 5 | -<details>
|
|
| 6 | - <summary>Explanation of Variables</summary>
|
|
| 7 | - |
|
| 8 | -- `$(ESR_VERSION)`: the Mozilla defined ESR version, used in various places for building mullvad-browser tags, labels, etc
|
|
| 9 | - - **Example**: `102.8.0`
|
|
| 10 | -- `$(ESR_TAG)`: the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)`
|
|
| 11 | - - **Example**: `FIREFOX_102_8_0esr_RELEASE`
|
|
| 12 | -- `$(BROWSER_MAJOR)`: the browser major version
|
|
| 13 | - - **Example**: `12`
|
|
| 14 | -- `$(BROWSER_MINOR)`: the browser minor version
|
|
| 15 | - - **Example**: either `0` or `5`; Alpha's is always `(Stable + 5) % 10`
|
|
| 16 | -- `$(BASE_BROWSER_BRANCH)`: the full name of the current `base-browser` branch
|
|
| 17 | - - **Example**: `base-browser-102.8.0esr-12.5-1`
|
|
| 18 | -- `$(BASE_BROWSER_BRANCH_PREV)`: the full name of the previous `base-browser` branch
|
|
| 19 | - - **Example**: `base-browser-102.7.0esr-12.5-1`
|
|
| 20 | -- `$(BASE_BROWSER_BRANCH_TAG)`: the `base-browser` build tag used as base commit for `mullvad-browser`
|
|
| 21 | - - **Example**: `base-browser-102.8.0esr-12.5-1-build1`
|
|
| 22 | -- `$(BASE_BROWSER_BRANCH_PREV_TAG)`: the `base-browser` build tag used as base commit for the previous `mullvad-browser`
|
|
| 23 | - - **Example**: `base-browser-102.7.0esr-12.5-1-build1`
|
|
| 24 | -- `$(MULLVAD_BROWSER_BRANCH)`: the full name of the current `mullvad-browser` branch
|
|
| 25 | - - **Example**: `mullvad-browser-102.8.0esr-12.5-1`
|
|
| 26 | -- `$(MULLVAD_BROWSER_BRANCH_PREV)`: the full name of the previous `mullvad-browser` branch
|
|
| 27 | - - **Example**: `mullvad-browser-102.7.0esr-12.5-1`
|
|
| 28 | -</details>
|
|
| 29 | - |
|
| 30 | -**NOTE:** It is assumed that we've already rebased and tagged `base-browser` alpha and that we've already rebased `mullvad-browser` stable
|
|
| 31 | - |
|
| 32 | -### **Bookkeeping**
|
|
| 5 | +## **Bookkeeping**
|
|
| 33 | 6 | |
| 34 | 7 | - [ ] Link this issue to the appropriate [Release Prep](https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/?sort=updated_desc&state=opened&label_name%5B%5D=Apps%3A%3AType%3A%3AReleasePreparation) issue.
|
| 35 | 8 | |
| 36 | -### **Update Branch Protection Rules**
|
|
| 37 | - |
|
| 38 | -- [ ] In [Repository Settings](https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/settings/repository):
|
|
| 39 | - - [ ] Remove previous alpha `mullvad-browser` branch protection rules (this will prevent pushing new changes to the branches being rebased)
|
|
| 40 | - - [ ] Create new `mullvad-browser` branch protection rule:
|
|
| 41 | - - **Branch**: `mullvad-browser-$(ESR_VERSION)esr-$(BROWSER_MAJOR).$(BROWSER_MINOR)-1*`
|
|
| 42 | - - **Example**: `mullvad-browser-102.8.0esr-12.5-1*`
|
|
| 43 | - - **Allowed to merge**: `Maintainers`
|
|
| 44 | - - **Allowed to push and merge**: `Maintainers`
|
|
| 45 | - - **Allowed to force push**: `false`
|
|
| 46 | - - If you copied and pasted from old rules, double check you didn't add spaces at the end, as GitLab will not trim them!
|
|
| 47 | - |
|
| 48 | -### **Create and Push New Branch**
|
|
| 49 | - |
|
| 50 | -- [ ] Create new alpha `mullvad-browser` branch from this ESR's alpha `base-browser` tag
|
|
| 51 | - - Branch name in the form: `mullvad-browser-$(ESR_VERSION)esr-$(BROWSER_MAJOR).$(BROWSER_MINOR)-1`
|
|
| 52 | - - **Example**: `git branch mullvad-browser-102.8.0esr-12.5-1 base-browser-102.8.0esr-12.5-1-build1`
|
|
| 53 | -- [ ] Push new `mullvad-browser` branch to `upstream`
|
|
| 54 | -- [ ] Push `base-browser` tag to `upstream`
|
|
| 55 | - |
|
| 56 | -### **Rebase mullvad-browser**
|
|
| 57 | - |
|
| 58 | -- [ ] Checkout a new local branch for the `mullvad-browser` rebase
|
|
| 59 | - - **Example**: `git branch mullvad-browser-rebase upstream/mullvad-browser-102.8.0esr-12.5-1`
|
|
| 60 | -- [ ] `mullvad-browser` rebase
|
|
| 61 | - - [ ] Cherry-pick the previous `mullvad-browser` branch's commit range up to the last `mullvad-browser` `build1` tag
|
|
| 62 | - - **Example**: `git cherry-pick base-browser-102.7.0esr-12.5-1-build1..mullvad-browser-102.7.0esr-12.5-1-build1`
|
|
| 63 | - - [ ] Rebase and autosquash these newly cherry-picked commits
|
|
| 64 | - - **Example**: `git rebase --autosquash --interactive upstream/mullvad-browser-102.8.0esr-12.5-1`
|
|
| 65 | - - [ ] Cherry-pick remainder of patches after the last `mullvad-browser` `buildN` tag
|
|
| 66 | - - **Example**: `git cherry-pick mullvad-browser-102.7.0esr-12.5-1-build1..upstream/mulvad-browser-102.7.0esr-12.5-1`
|
|
| 67 | - - [ ] Rebase and autosquash again, this time replacing all `fixup` and `squash` commands with `pick`. The goal here is to have all of the `fixup` and `squash` commits beside the commit which they modify, but kept un-squashed for easy debugging/bisecting.
|
|
| 68 | - - **Example**: `git rebase --autosquash --interactive upstream/mullvad-browser-102.8.0esr-12.5-1`
|
|
| 69 | -- [ ] Compare patch sets to ensure nothing *weird* happened during conflict resolution:
|
|
| 70 | - - [ ] diff of diffs:
|
|
| 71 | - - Do the diff between `current_patchset.diff` and `rebased_patchset.diff` with your preferred difftool and look at differences on lines that starts with + or -
|
|
| 72 | - - `git diff $(BASE_BROWSER_BRANCH_PREV_TAG)..$(MULLVAD_BROWSER_BRANCH_PREV) > current_patchset.diff`
|
|
| 73 | - - `git diff $(BASE_BROWSER_BRANCH_TAG)..HEAD > rebased_patchset.diff`
|
|
| 74 | - - diff `current_patchset.diff` and `rebased_patchset.diff`
|
|
| 75 | - - If everything went correctly, the only lines which should differ should be the lines starting with `index abc123...def456` (unless the previous `base-browser` branch includes changes not included in the previous `mullvad-browser` branch)
|
|
| 76 | - - [ ] rangediff: `git range-diff $(BASE_BROWSER_BRANCH_PREV_TAG)..$(MULLVAD_BROWSER_BRANCH_PREV) $(BASE_BROWSER_BRANCH_TAG)..HEAD`
|
|
| 77 | - - **Example**: `git range-diff base-browser-102.7.0esr-12.5-1-build1..upstream/mullvad-browser-102.7.0esr-12.5-1 base-browser-102.8.0esr-12.5-1-build1..HEAD`
|
|
| 78 | -- [ ] Open MR for the `mullvad-browser` rebase
|
|
| 79 | -- [ ] Merge
|
|
| 80 | - |
|
| 81 | -### **Sign and Tag**
|
|
| 82 | - |
|
| 83 | -- [ ] Sign/Tag `HEAD` of the merged `mullvad-browser` branch:
|
|
| 84 | - - In **mullvad-browser.git**, checkout the new alpha `mullvad-browser` branch
|
|
| 85 | - - In **tor-browser-build.git**, run signing script:
|
|
| 86 | - ```bash
|
|
| 87 | - ./tools/browser/sign-tag.mullvadbrowser alpha build1
|
|
| 88 | - ```
|
|
| 89 | - - [ ] Push tag to `upstream`
|
|
| 90 | - |
|
| 91 | -<!-- Do not edit beneath this line <3 -->
|
|
| 9 | +## **Rebase**
|
|
| 10 | + |
|
| 11 | +The step-by-step rebase process is detailed on the [Rebase Process](https://gitlab.torproject.org/tpo/applications/wiki/-/wikis/Development-Information/Rebase/Rebase-Process) wiki page. Refer to it for detailed instructions on how to perform each step.
|
|
| 12 | + |
|
| 13 | +- Rebase Mullvad Browser
|
|
| 14 | + - Prepare the rebase
|
|
| 15 | + - [ ] Push the `base-browser-*` tag
|
|
| 16 | + - [ ] Freeze the current default branch
|
|
| 17 | + - [ ] Create the target branch (`mullvad-browser-...-1`)
|
|
| 18 | + - Do the rebase
|
|
| 19 | + - [ ] Cherry-pick commits until `mullvad-browser-...-build1`
|
|
| 20 | + - [ ] Squash (`git rebase --autosquash base-browser-...-build1`)
|
|
| 21 | + - [ ] Cherry-pick the remaining commits
|
|
| 22 | + - [ ] Reorder commits
|
|
| 23 | + - Merge
|
|
| 24 | + - [ ] Perform a self-review (`git range-diff` + diff of diffs)
|
|
| 25 | + - [ ] Run linters
|
|
| 26 | + - [ ] File a merge request
|
|
| 27 | + - [ ] Tag and update the repository
|
|
| 28 | + - [ ] Tag `mullvad-browser-...-build1`
|
|
| 29 | + - [ ] Make `mullvad-browser-...-2` the default branch
|
|
| 92 | 30 | |
| 93 | 31 | ---
|
| 94 | 32 |
| 1 | 1 | # ⤵️ Rebase Stable
|
| 2 | -**NOTE:** All examples in this template reference the rebase from 102.7.0esr to 102.8.0esr
|
|
| 3 | 2 | |
| 4 | -<details>
|
|
| 5 | - <summary>Explanation of Variables</summary>
|
|
| 3 | +**NOTE:** It is assumed that we've already rebased and tagged `base-browser` stable.
|
|
| 6 | 4 | |
| 7 | -- `$(ESR_VERSION)`: the Mozilla defined ESR version, used in various places for building mullvad-browser tags, labels, etc
|
|
| 8 | - - **Example**: `102.8.0`
|
|
| 9 | -- `$(ESR_TAG)`: the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)`
|
|
| 10 | - - **Example**: `FIREFOX_102_8_0esr_RELEASE`
|
|
| 11 | -- `$(BROWSER_MAJOR)`: the browser major version
|
|
| 12 | - - **Example**: `12`
|
|
| 13 | -- `$(BROWSER_MINOR)`: the browser minor version
|
|
| 14 | - - **Example**: either `0` or `5`; Alpha's is always `(Stable + 5) % 10`
|
|
| 15 | -- `$(BASE_BROWSER_BRANCH)`: the full name of the current `base-browser` branch
|
|
| 16 | - - **Example**: `base-browser-102.8.0esr-12.0-1`
|
|
| 17 | -- `$(BASE_BROWSER_BRANCH_PREV)`: the full name of the previous `base-browser` branch
|
|
| 18 | - - **Example**: `base-browser-102.7.0esr-12.0-1`
|
|
| 19 | -- `$(BASE_BROWSER_BRANCH_TAG)`: the `base-browser` build tag used as base commit for `mullvad-browser`
|
|
| 20 | - - **Example**: `base-browser-102.8.0esr-12.0-1-build1`
|
|
| 21 | -- `$(BASE_BROWSER_BRANCH_PREV_TAG)`: the `base-browser` build tag used as base commit for the previous `mullvad-browser`
|
|
| 22 | - - **Example**: `base-browser-102.7.0esr-12.0-1-build1`
|
|
| 23 | -- `$(MULLVAD_BROWSER_BRANCH)`: the full name of the current `mullvad-browser` branch
|
|
| 24 | - - **Example**: `mullvad-browser-102.8.0esr-12.0-1`
|
|
| 25 | -- `$(MULLVAD_BROWSER_BRANCH_PREV)`: the full name of the previous `mullvad-browser` branch
|
|
| 26 | - - **Example**: `mullvad-browser-102.7.0esr-12.0-1`
|
|
| 27 | -</details>
|
|
| 28 | - |
|
| 29 | -**NOTE:** It is assumed that we've already rebased and tagged `base-browser` stable
|
|
| 30 | - |
|
| 31 | -### **Bookkeeping**
|
|
| 5 | +## **Bookkeeping**
|
|
| 32 | 6 | |
| 33 | 7 | - [ ] Link this issue to the appropriate [Release Prep](https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/?sort=updated_desc&state=opened&label_name%5B%5D=Apps%3A%3AType%3A%3AReleasePreparation) issue.
|
| 34 | 8 | |
| 35 | -### Update Branch Protection Rules
|
|
| 36 | - |
|
| 37 | -- [ ] In [Repository Settings](https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/settings/repository):
|
|
| 38 | - - [ ] Remove previous stable `mullvad-browser` branch protection rules (this will prevent pushing new changes to the branches being rebased)
|
|
| 39 | - - [ ] Create new `mullvad-browser` branch protection rule:
|
|
| 40 | - - **Branch**: `mullvad-browser-$(ESR_VERSION)esr-$(BROWSER_MAJOR).$(BROWSER_MINOR)-1*`
|
|
| 41 | - - **Example**: `mullvad-browser-102.8.0esr-12.0-1*`
|
|
| 42 | - - **Allowed to merge**: `Maintainers`
|
|
| 43 | - - **Allowed to push and merge**: `Maintainers`
|
|
| 44 | - - **Allowed to force push**: `false`
|
|
| 45 | - |
|
| 46 | -### **Create and Push New Branch**
|
|
| 47 | - |
|
| 48 | -- [ ] Create new stable `mullvad-browser` branch from this ESR's stable `base-browser` tag
|
|
| 49 | - - Branch name in the form: `mullvad-browser-$(ESR_VERSION)esr-$(BROWSER_MAJOR).$(BROWSER_MINOR)-1`
|
|
| 50 | - - **Example**: `git branch mullvad-browser-102.8.0esr-12.0-1 base-browser-102.8.0esr-12.0-1-build1`
|
|
| 51 | -- [ ] Push new `mullvad-browser` branch to `upstream`
|
|
| 52 | -- [ ] Push `base-browser` tag to `upstream`
|
|
| 53 | -- [ ] Push `$(ESR_TAG)` to `upstream`
|
|
| 54 | - |
|
| 55 | -### **Rebase mullvad-browser**
|
|
| 56 | - |
|
| 57 | -- [ ] Checkout a new local branch for the `mullvad-browser` rebase
|
|
| 58 | - - **Example**: `git branch mullvad-browser-rebase upstream/mullvad-browser-102.8.0esr-12.0-1`
|
|
| 59 | -- [ ] `mullvad-browser` rebase
|
|
| 60 | - - [ ] Cherry-pick the previous `mullvad-browser` branch's commit range up to the last `mullvad-browser` `build1` tag
|
|
| 61 | - - **Example**: `git cherry-pick base-browser-102.7.0esr-12.0-1-build1..mullvad-browser-102.7.0esr-12.0-1-build1`
|
|
| 62 | - - [ ] Rebase and autosquash these newly cherry-picked commits
|
|
| 63 | - - **Example**: `git rebase --autosquash --interactive upstream/mullvad-browser-102.8.0esr-12.0-1`
|
|
| 64 | - - [ ] Cherry-pick remainder of patches after the last `mullvad-browser` `buildN` tag
|
|
| 65 | - - **Example**: `git cherry-pick mullvad-browser-102.7.0esr-12.0-1-build1..upstream/mullvad-browser-102.7.0esr-12.0-1`
|
|
| 66 | - - [ ] Rebase and autosquash again, this time replacing all `fixup` and `squash` commands with `pick`. The goal here is to have all of the `fixup` and `squash` commits beside the commit which they modify, but kept un-squashed for easy debugging/bisecting.
|
|
| 67 | - - **Example**: `git rebase --autosquash --interactive upstream/mullvad-browser-102.8.0esr-12.0-1`
|
|
| 68 | -- [ ] Compare patch sets to ensure nothing *weird* happened during conflict resolution:
|
|
| 69 | - - [ ] diff of diffs:
|
|
| 70 | - - Do the diff between `current_patchset.diff` and `rebased_patchset.diff` with your preferred difftool and look at differences on lines that starts with + or -
|
|
| 71 | - - `git diff $(BASE_BROWSER_BRANCH_PREV_TAG)..$(MULLVAD_BROWSER_BRANCH_PREV) > current_patchset.diff`
|
|
| 72 | - - `git diff $(BASE_BROWSER_BRANCH_TAG)..HEAD > rebased_patchset.diff`
|
|
| 73 | - - diff `current_patchset.diff` and `rebased_patchset.diff`
|
|
| 74 | - - If everything went correctly, the only lines which should differ should be the lines starting with `index abc123...def456` (unless the previous `base-browser` branch includes changes not included in the previous `mullvad-browser` branch)
|
|
| 75 | - - [ ] rangediff: `git range-diff $(BASE_BROWSER_BRANCH_PREV_TAG)..$(MULLVAD_BROWSER_BRANCH_PREV) $(BASE_BROWSER_BRANCH_TAG)..HEAD`
|
|
| 76 | - - **Example**: `git range-diff base-browser-102.7.0esr-12.0-1-build1..upstream/mullvad-browser-102.7.0esr-12.5-1 base-browser-102.8.0esr-12.5-1-build1..HEAD`
|
|
| 77 | -- [ ] Open MR for the `mullvad-browser` rebase
|
|
| 78 | -- [ ] Merge
|
|
| 79 | - |
|
| 80 | -### **Sign and Tag**
|
|
| 81 | - |
|
| 82 | -- [ ] Sign/Tag `HEAD` of the merged `mullvad-browser` branch:
|
|
| 83 | - - In **mullvad-browser.git**, checkout the new stable `mullvad-browser` branch
|
|
| 84 | - - In **tor-browser-build.git**, run signing script:
|
|
| 85 | - ```bash
|
|
| 86 | - ./tools/browser/sign-tag.mullvadbrowser stable build1
|
|
| 87 | - ```
|
|
| 88 | - - [ ] Push tag to `upstream`
|
|
| 89 | - |
|
| 90 | -<!-- Do not edit beneath this line <3 -->
|
|
| 9 | +## **Rebase**
|
|
| 10 | + |
|
| 11 | +The step-by-step rebase process is detailed on the [Rebase Process](https://gitlab.torproject.org/tpo/applications/wiki/-/wikis/Development-Information/Rebase/Rebase-Process) wiki page. Refer to it for detailed instructions on how to perform each step.
|
|
| 12 | + |
|
| 13 | +- Rebase Mullvad Browser
|
|
| 14 | + - Prepare the rebase
|
|
| 15 | + - [ ] Push the `base-browser-*` tag
|
|
| 16 | + - Do the rebase
|
|
| 17 | + - [ ] Cherry-pick commits until `mullvad-browser-...-build1`
|
|
| 18 | + - [ ] Squash (`git rebase --autosquash base-browser-...-build1`)
|
|
| 19 | + - [ ] Cherry-pick the remaining commits
|
|
| 20 | + - [ ] Reorder commits
|
|
| 21 | + - Merge
|
|
| 22 | + - [ ] Perform a self-review (`git range-diff` + diff of diffs)
|
|
| 23 | + - [ ] Run linters
|
|
| 24 | + - Tag
|
|
| 25 | + - [ ] `mullvad-browser-...-build1`
|
|
| 91 | 26 | |
| 92 | 27 | ---
|
| 93 | 28 |
| 1 | -# ⤵️ Rebase Rapid
|
|
| 2 | - |
|
| 3 | -**NOTE**: All examples in this template reference the rebase from Firefox 129.0a1 to 130.0a1, see the tor-browser `Rebase Browser - Rapid.md` template for further info
|
|
| 4 | - |
|
| 5 | -<details>
|
|
| 6 | - <summary>Explanation of Variables</summary>
|
|
| 7 | - |
|
| 8 | -- `$(NIGHTLY_VERSION)`: the Mozilla defined nightly version, used in various places for building tor-browser tags, labels, etc
|
|
| 9 | - - **Example**: `130.0a1`
|
|
| 10 | -- `$(NIGHTLY_TAG)`: the Mozilla defined hg (Mercurial) tag associated with `$(NIGHTLY_VERSION)`
|
|
| 11 | - - **Example**: `FIREFOX_NIGHTLY_130_END`
|
|
| 12 | -- `$(NIGHTLY_TAG_PREV)`: the Mozilla defined hg (Mercurial) tag associated with the previous nightly version when rebasing (ie, the nightly version we are rebasing from)
|
|
| 13 | - - **Example**: `FIREFOX_NIGHTLY_129_END`
|
|
| 14 | -- `$(BROWSER_VERSION)`: the browser version which will first be based on the next major ESR version this *Firefox* Nightly series is leading up to
|
|
| 15 | - - **Example**: `15`
|
|
| 16 | -- `$(BASE_BROWSER_BRANCH)`: the full name of the current `base-browser` branch based off of the Firefox Nightly channel
|
|
| 17 | - - **Example**: `base-browser-130.0a1-15.0-2`
|
|
| 18 | -- `$(BASE_BROWSER_BRANCH_TAG)`: the `base-browser` build tag used as base commit for `mullvad-browser`
|
|
| 19 | - - **Example**: `base-browser-130.0a1-15.0-2-build1`
|
|
| 20 | -- `$(BASE_BROWSER_BRANCH_PREV)`: the full name of the previous `base-browser` branch based off of the Firefox Nightly channel
|
|
| 21 | - - **Example**: `base-browser-129.0a1-15.0-2`
|
|
| 22 | -- `$(BASE_BROWSER_BRANCH_PREV_TAG)`: the `base-browser` build tag used as base commit for the previous `mullvad-browser`
|
|
| 23 | - - **Example**: `base-browser-129.0a1-15.0-2-build1`
|
|
| 24 | -- `$(MULLVAD_BROWSER_BRANCH)`: the full name of the current `mullvad-browser` branch
|
|
| 25 | - - **Example**: `mullvad-browser-130.0a1-15.0-2`
|
|
| 26 | -- `$(MULLVAD_BROWSER_BRANCH_PREV)`: the full name of the previous `mullvad-browser` branch
|
|
| 27 | - - **Example**: `mullvad-browser-129.0a1-15.0-2`
|
|
| 28 | -</details>
|
|
| 29 | - |
|
| 30 | -**NOTE**: It is presuemd the equivalent Tor Browser rapid-release rebase has been completed, as this rebase depends on a rebased `base-browser` branch
|
|
| 31 | - |
|
| 32 | -### Update Branch Protection Rules
|
|
| 33 | - |
|
| 34 | -- [ ] In [Repository Settings](https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/settings/repository):
|
|
| 35 | - - [ ] Remove previous nightly `mullvad-browser` branch protection rules (this will prevent pushing new changes to the branches being rebased)
|
|
| 36 | - - [ ] Create new `mullvad-browser` branch protection rule:
|
|
| 37 | - - **Branch**: `mullvad-browser-$(NIGHTLY_VERSION)-$(BROWSER_VERSION)-*`
|
|
| 38 | - - **Example**: `mullvad-browser-130.0a1-15.0-*`
|
|
| 39 | - - **Allowed to merge**: `Maintainers`
|
|
| 40 | - - **Allowed to push and merge**: `Maintainers`
|
|
| 41 | - - **Allowed to force push**: `false`
|
|
| 42 | - - ⚠️ **IMPORTANT**: If you copied and pasted from old rules, double check you didn't add spaces at the end, as GitLab will not trim them!
|
|
| 43 | - |
|
| 44 | -### **Create and Push New Branch**
|
|
| 45 | - |
|
| 46 | -- [ ] Create new alpha `mullvad-browser` branch from this ESR's rapid `base-browser` tag
|
|
| 47 | - - Branch name in the form: `mullvad-browser-$(ESR_VERSION)esr-$(BROWSER_MAJOR).$(BROWSER_MINOR)-1`
|
|
| 48 | - - **Example**: `git branch mullvad-browser-130.0a1-15.0-2 base-browser-130.0a1-15.0-2-build1`
|
|
| 49 | -- [ ] Push new `mullvad-browser` branch to `upstream`
|
|
| 50 | -- [ ] Push the `base-browser` tag to `upstream`
|
|
| 51 | - |
|
| 52 | -### **Rebase mullvad-browser**
|
|
| 53 | - |
|
| 54 | -- [ ] Checkout a new local branch for the `mullvad-browser` rebase
|
|
| 55 | - - **Example**: `git branch mullvad-browser-rebase upstream/mullvad-browser-130.0a1-15.0-2`
|
|
| 56 | -- [ ] `mullvad-browser` rebase
|
|
| 57 | - - [ ] Cherry-pick the previous `mullvad-browser` rapid branch's commit range
|
|
| 58 | - - **Example**: `git cherry-pick base-browser-129.0a1-15.0-2-build1..mullvad-browser-129.0a1-15.0-2`
|
|
| 59 | - - [ ] Rebase and autosquash these newly cherry-picked commits
|
|
| 60 | - - **Example**: `git rebase --autosquash --interactive upstream/mullvad-browser-130.0a1-15.0-2`
|
|
| 61 | - - [ ] Cherry-pick the new `mullvad-browser` alpha commits (i.e. the new dangling commits which did not appear in the previous Mullvad Browser rapid channel):
|
|
| 62 | - - **Example** `git cherry-pick mullvad-browser-128.1.0esr-14.5-1-build1..upstream/mullvad-browser-128.1.0esr-14.5-1`
|
|
| 63 | - - [ ] Rebase and autosquash again, this time replacing all `fixup` and `squash` commands with `pick`. The goal here is to have all of the `fixup` and `squash` commits beside the commit which they modify, but kept un-squashed for easy debugging/bisecting.
|
|
| 64 | - - **Example**: `git rebase --autosquash --interactive upstream/mullvad-browser-130.0a1-15.0-2`
|
|
| 65 | -- [ ] Compare patch sets to ensure nothing *weird* happened during conflict resolution:
|
|
| 66 | - - [ ] diff of diffs:
|
|
| 67 | - - Do the diff between `current_patchset.diff` and `rebased_patchset.diff` with your preferred difftool and look at differences on lines that starts with + or -
|
|
| 68 | - - `git diff $(BASE_BROWSER_BRANCH_PREV_TAG)..$(MULLVAD_BROWSER_BRANCH_PREV) > current_patchset.diff`
|
|
| 69 | - - `git diff $(BASE_BROWSER_BRANCH_TAG)..HEAD > rebased_patchset.diff`
|
|
| 70 | - - diff `current_patchset.diff` and `rebased_patchset.diff`
|
|
| 71 | - - If everything went correctly, the only lines which should differ should be the lines starting with `index abc123...def456` (unless the previous `base-browser` branch includes changes not included in the previous `mullvad-browser` branch)
|
|
| 72 | - - [ ] rangediff: `git range-diff $(BASE_BROWSER_BRANCH_PREV_TAG)..$(MULLVAD_BROWSER_BRANCH_PREV) $(BASE_BROWSER_BRANCH_TAG)..HEAD`
|
|
| 73 | - - **Example**: `git range-diff base-browser-129.0a1-15.0-2-build1..upstream/mullvad-browser-129.0a1-15.0-2 base-browser-130.0a1-15.0-2-build1..HEAD`
|
|
| 74 | -- [ ] Open MR for the `mullvad-browser` rebase
|
|
| 75 | -- [ ] Merge
|
|
| 76 | - |
|
| 77 | -### **Sign and Tag**
|
|
| 78 | - |
|
| 79 | -- [ ] Sign/Tag `HEAD` of the merged `mullvad-browser` branch:
|
|
| 80 | - - In **mullvad-browser.git**, checkout the new rapid `mullvad-browser` branch
|
|
| 81 | - - In **tor-browser-build.git**, run signing script:
|
|
| 82 | - ```bash
|
|
| 83 | - ./tools/browser/sign-tag.mullvadbrowser rapid build1
|
|
| 84 | - ```
|
|
| 85 | - - [ ] Push tag to `upstream`
|
|
| 86 | - |
|
| 87 | -<!-- Do not edit beneath this line <3 -->
|
|
| 88 | - |
|
| 89 | ----
|
|
| 90 | - |
|
| 91 | -/label ~"Apps::Product::MullvadBrowser"
|
|
| 92 | -/label ~"Apps::Type::Rebase"
|
|
| 93 | -/label ~"Apps::Impact::High"
|
|
| 94 | -/label ~"Priority::High" |
| ... | ... | @@ -16,7 +16,6 @@ Please select the appropriate issue template from the **Description** drop-down. |
| 16 | 16 | - 🕰️ **Time-Gated Feature** - implement a new feature which must be enabled for a particular window in time
|
| 17 | 17 | - ⬅️ **Backport** - cherry-pick change to other release channels
|
| 18 | 18 | - ❌ **Revert** - revert a change
|
| 19 | -- ⤵️ **Rebase - Alpha** - rebase alpha to latest Firefox ESR version
|
|
| 19 | +- ⤵️ **Rebase - Alpha** - rebase alpha to latest Firefox Nightly version
|
|
| 20 | 20 | - ⤵️ **Rebase - Stable** - rebase stable to latest Firefox ESR version
|
| 21 | -- ⤵️ **Rebase - Rapid** - rebase rapid to latest Firefox Nightly version
|
|
| 22 | 21 | - 🚨 **Emergency Security Issue** - manage fixing and publishing a critical security fix |