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 fixup! MB 188: Customize Gitlab Issue and Merge templates bring over the abridged steps from Tor Browser; remove the 'Rapid' rebase template - - - - - 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: ===================================== .gitlab/issue_templates/060 Rebase - Alpha.md ===================================== @@ -1,94 +1,32 @@ # ⤵️ Rebase Alpha -**NOTE:** All examples in this template reference the rebase from 102.7.0esr to 102.8.0esr +**NOTE:** It is assumed that we've already rebased and tagged `base-browser` alpha. -<details> - <summary>Explanation of Variables</summary> - -- `$(ESR_VERSION)`: the Mozilla defined ESR version, used in various places for building mullvad-browser tags, labels, etc - - **Example**: `102.8.0` -- `$(ESR_TAG)`: the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)` - - **Example**: `FIREFOX_102_8_0esr_RELEASE` -- `$(BROWSER_MAJOR)`: the browser major version - - **Example**: `12` -- `$(BROWSER_MINOR)`: the browser minor version - - **Example**: either `0` or `5`; Alpha's is always `(Stable + 5) % 10` -- `$(BASE_BROWSER_BRANCH)`: the full name of the current `base-browser` branch - - **Example**: `base-browser-102.8.0esr-12.5-1` -- `$(BASE_BROWSER_BRANCH_PREV)`: the full name of the previous `base-browser` branch - - **Example**: `base-browser-102.7.0esr-12.5-1` -- `$(BASE_BROWSER_BRANCH_TAG)`: the `base-browser` build tag used as base commit for `mullvad-browser` - - **Example**: `base-browser-102.8.0esr-12.5-1-build1` -- `$(BASE_BROWSER_BRANCH_PREV_TAG)`: the `base-browser` build tag used as base commit for the previous `mullvad-browser` - - **Example**: `base-browser-102.7.0esr-12.5-1-build1` -- `$(MULLVAD_BROWSER_BRANCH)`: the full name of the current `mullvad-browser` branch - - **Example**: `mullvad-browser-102.8.0esr-12.5-1` -- `$(MULLVAD_BROWSER_BRANCH_PREV)`: the full name of the previous `mullvad-browser` branch - - **Example**: `mullvad-browser-102.7.0esr-12.5-1` -</details> - -**NOTE:** It is assumed that we've already rebased and tagged `base-browser` alpha and that we've already rebased `mullvad-browser` stable - -### **Bookkeeping** +## **Bookkeeping** - [ ] Link this issue to the appropriate [Release Prep](https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/?s...) issue. -### **Update Branch Protection Rules** - -- [ ] In [Repository Settings](https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/settings/re...): - - [ ] Remove previous alpha `mullvad-browser` branch protection rules (this will prevent pushing new changes to the branches being rebased) - - [ ] Create new `mullvad-browser` branch protection rule: - - **Branch**: `mullvad-browser-$(ESR_VERSION)esr-$(BROWSER_MAJOR).$(BROWSER_MINOR)-1*` - - **Example**: `mullvad-browser-102.8.0esr-12.5-1*` - - **Allowed to merge**: `Maintainers` - - **Allowed to push and merge**: `Maintainers` - - **Allowed to force push**: `false` - - If you copied and pasted from old rules, double check you didn't add spaces at the end, as GitLab will not trim them! - -### **Create and Push New Branch** - -- [ ] Create new alpha `mullvad-browser` branch from this ESR's alpha `base-browser` tag - - Branch name in the form: `mullvad-browser-$(ESR_VERSION)esr-$(BROWSER_MAJOR).$(BROWSER_MINOR)-1` - - **Example**: `git branch mullvad-browser-102.8.0esr-12.5-1 base-browser-102.8.0esr-12.5-1-build1` -- [ ] Push new `mullvad-browser` branch to `upstream` -- [ ] Push `base-browser` tag to `upstream` - -### **Rebase mullvad-browser** - -- [ ] Checkout a new local branch for the `mullvad-browser` rebase - - **Example**: `git branch mullvad-browser-rebase upstream/mullvad-browser-102.8.0esr-12.5-1` -- [ ] `mullvad-browser` rebase - - [ ] Cherry-pick the previous `mullvad-browser` branch's commit range up to the last `mullvad-browser` `build1` tag - - **Example**: `git cherry-pick base-browser-102.7.0esr-12.5-1-build1..mullvad-browser-102.7.0esr-12.5-1-build1` - - [ ] Rebase and autosquash these newly cherry-picked commits - - **Example**: `git rebase --autosquash --interactive upstream/mullvad-browser-102.8.0esr-12.5-1` - - [ ] Cherry-pick remainder of patches after the last `mullvad-browser` `buildN` tag - - **Example**: `git cherry-pick mullvad-browser-102.7.0esr-12.5-1-build1..upstream/mulvad-browser-102.7.0esr-12.5-1` - - [ ] 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. - - **Example**: `git rebase --autosquash --interactive upstream/mullvad-browser-102.8.0esr-12.5-1` -- [ ] Compare patch sets to ensure nothing *weird* happened during conflict resolution: - - [ ] diff of diffs: - - 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 - - - `git diff $(BASE_BROWSER_BRANCH_PREV_TAG)..$(MULLVAD_BROWSER_BRANCH_PREV) > current_patchset.diff` - - `git diff $(BASE_BROWSER_BRANCH_TAG)..HEAD > rebased_patchset.diff` - - diff `current_patchset.diff` and `rebased_patchset.diff` - - 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) - - [ ] rangediff: `git range-diff $(BASE_BROWSER_BRANCH_PREV_TAG)..$(MULLVAD_BROWSER_BRANCH_PREV) $(BASE_BROWSER_BRANCH_TAG)..HEAD` - - **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` -- [ ] Open MR for the `mullvad-browser` rebase -- [ ] Merge - -### **Sign and Tag** - -- [ ] Sign/Tag `HEAD` of the merged `mullvad-browser` branch: - - In **mullvad-browser.git**, checkout the new alpha `mullvad-browser` branch - - In **tor-browser-build.git**, run signing script: - ```bash - ./tools/browser/sign-tag.mullvadbrowser alpha build1 - ``` - - [ ] Push tag to `upstream` - -<!-- Do not edit beneath this line <3 --> +## **Rebase** + +The step-by-step rebase process is detailed on the [Rebase Process](https://gitlab.torproject.org/tpo/applications/wiki/-/wikis/Development-Info...) wiki page. Refer to it for detailed instructions on how to perform each step. + +- Rebase Mullvad Browser + - Prepare the rebase + - [ ] Push the `base-browser-*` tag + - [ ] Freeze the current default branch + - [ ] Create the target branch (`mullvad-browser-...-1`) + - Do the rebase + - [ ] Cherry-pick commits until `mullvad-browser-...-build1` + - [ ] Squash (`git rebase --autosquash base-browser-...-build1`) + - [ ] Cherry-pick the remaining commits + - [ ] Reorder commits + - Merge + - [ ] Perform a self-review (`git range-diff` + diff of diffs) + - [ ] Run linters + - [ ] File a merge request + - [ ] Tag and update the repository + - [ ] Tag `mullvad-browser-...-build1` + - [ ] Make `mullvad-browser-...-2` the default branch --- ===================================== .gitlab/issue_templates/061 Rebase - Stable.md ===================================== @@ -1,93 +1,28 @@ # ⤵️ Rebase Stable -**NOTE:** All examples in this template reference the rebase from 102.7.0esr to 102.8.0esr -<details> - <summary>Explanation of Variables</summary> +**NOTE:** It is assumed that we've already rebased and tagged `base-browser` stable. -- `$(ESR_VERSION)`: the Mozilla defined ESR version, used in various places for building mullvad-browser tags, labels, etc - - **Example**: `102.8.0` -- `$(ESR_TAG)`: the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)` - - **Example**: `FIREFOX_102_8_0esr_RELEASE` -- `$(BROWSER_MAJOR)`: the browser major version - - **Example**: `12` -- `$(BROWSER_MINOR)`: the browser minor version - - **Example**: either `0` or `5`; Alpha's is always `(Stable + 5) % 10` -- `$(BASE_BROWSER_BRANCH)`: the full name of the current `base-browser` branch - - **Example**: `base-browser-102.8.0esr-12.0-1` -- `$(BASE_BROWSER_BRANCH_PREV)`: the full name of the previous `base-browser` branch - - **Example**: `base-browser-102.7.0esr-12.0-1` -- `$(BASE_BROWSER_BRANCH_TAG)`: the `base-browser` build tag used as base commit for `mullvad-browser` - - **Example**: `base-browser-102.8.0esr-12.0-1-build1` -- `$(BASE_BROWSER_BRANCH_PREV_TAG)`: the `base-browser` build tag used as base commit for the previous `mullvad-browser` - - **Example**: `base-browser-102.7.0esr-12.0-1-build1` -- `$(MULLVAD_BROWSER_BRANCH)`: the full name of the current `mullvad-browser` branch - - **Example**: `mullvad-browser-102.8.0esr-12.0-1` -- `$(MULLVAD_BROWSER_BRANCH_PREV)`: the full name of the previous `mullvad-browser` branch - - **Example**: `mullvad-browser-102.7.0esr-12.0-1` -</details> - -**NOTE:** It is assumed that we've already rebased and tagged `base-browser` stable - -### **Bookkeeping** +## **Bookkeeping** - [ ] Link this issue to the appropriate [Release Prep](https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/?s...) issue. -### Update Branch Protection Rules - -- [ ] In [Repository Settings](https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/settings/re...): - - [ ] Remove previous stable `mullvad-browser` branch protection rules (this will prevent pushing new changes to the branches being rebased) - - [ ] Create new `mullvad-browser` branch protection rule: - - **Branch**: `mullvad-browser-$(ESR_VERSION)esr-$(BROWSER_MAJOR).$(BROWSER_MINOR)-1*` - - **Example**: `mullvad-browser-102.8.0esr-12.0-1*` - - **Allowed to merge**: `Maintainers` - - **Allowed to push and merge**: `Maintainers` - - **Allowed to force push**: `false` - -### **Create and Push New Branch** - -- [ ] Create new stable `mullvad-browser` branch from this ESR's stable `base-browser` tag - - Branch name in the form: `mullvad-browser-$(ESR_VERSION)esr-$(BROWSER_MAJOR).$(BROWSER_MINOR)-1` - - **Example**: `git branch mullvad-browser-102.8.0esr-12.0-1 base-browser-102.8.0esr-12.0-1-build1` -- [ ] Push new `mullvad-browser` branch to `upstream` -- [ ] Push `base-browser` tag to `upstream` -- [ ] Push `$(ESR_TAG)` to `upstream` - -### **Rebase mullvad-browser** - -- [ ] Checkout a new local branch for the `mullvad-browser` rebase - - **Example**: `git branch mullvad-browser-rebase upstream/mullvad-browser-102.8.0esr-12.0-1` -- [ ] `mullvad-browser` rebase - - [ ] Cherry-pick the previous `mullvad-browser` branch's commit range up to the last `mullvad-browser` `build1` tag - - **Example**: `git cherry-pick base-browser-102.7.0esr-12.0-1-build1..mullvad-browser-102.7.0esr-12.0-1-build1` - - [ ] Rebase and autosquash these newly cherry-picked commits - - **Example**: `git rebase --autosquash --interactive upstream/mullvad-browser-102.8.0esr-12.0-1` - - [ ] Cherry-pick remainder of patches after the last `mullvad-browser` `buildN` tag - - **Example**: `git cherry-pick mullvad-browser-102.7.0esr-12.0-1-build1..upstream/mullvad-browser-102.7.0esr-12.0-1` - - [ ] 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. - - **Example**: `git rebase --autosquash --interactive upstream/mullvad-browser-102.8.0esr-12.0-1` -- [ ] Compare patch sets to ensure nothing *weird* happened during conflict resolution: - - [ ] diff of diffs: - - 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 - - - `git diff $(BASE_BROWSER_BRANCH_PREV_TAG)..$(MULLVAD_BROWSER_BRANCH_PREV) > current_patchset.diff` - - `git diff $(BASE_BROWSER_BRANCH_TAG)..HEAD > rebased_patchset.diff` - - diff `current_patchset.diff` and `rebased_patchset.diff` - - 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) - - [ ] rangediff: `git range-diff $(BASE_BROWSER_BRANCH_PREV_TAG)..$(MULLVAD_BROWSER_BRANCH_PREV) $(BASE_BROWSER_BRANCH_TAG)..HEAD` - - **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` -- [ ] Open MR for the `mullvad-browser` rebase -- [ ] Merge - -### **Sign and Tag** - -- [ ] Sign/Tag `HEAD` of the merged `mullvad-browser` branch: - - In **mullvad-browser.git**, checkout the new stable `mullvad-browser` branch - - In **tor-browser-build.git**, run signing script: - ```bash - ./tools/browser/sign-tag.mullvadbrowser stable build1 - ``` - - [ ] Push tag to `upstream` - -<!-- Do not edit beneath this line <3 --> +## **Rebase** + +The step-by-step rebase process is detailed on the [Rebase Process](https://gitlab.torproject.org/tpo/applications/wiki/-/wikis/Development-Info...) wiki page. Refer to it for detailed instructions on how to perform each step. + +- Rebase Mullvad Browser + - Prepare the rebase + - [ ] Push the `base-browser-*` tag + - Do the rebase + - [ ] Cherry-pick commits until `mullvad-browser-...-build1` + - [ ] Squash (`git rebase --autosquash base-browser-...-build1`) + - [ ] Cherry-pick the remaining commits + - [ ] Reorder commits + - Merge + - [ ] Perform a self-review (`git range-diff` + diff of diffs) + - [ ] Run linters + - Tag + - [ ] `mullvad-browser-...-build1` --- ===================================== .gitlab/issue_templates/063 Rebase - Rapid.md deleted ===================================== @@ -1,94 +0,0 @@ -# ⤵️ Rebase Rapid - -**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 - -<details> - <summary>Explanation of Variables</summary> - -- `$(NIGHTLY_VERSION)`: the Mozilla defined nightly version, used in various places for building tor-browser tags, labels, etc - - **Example**: `130.0a1` -- `$(NIGHTLY_TAG)`: the Mozilla defined hg (Mercurial) tag associated with `$(NIGHTLY_VERSION)` - - **Example**: `FIREFOX_NIGHTLY_130_END` -- `$(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) - - **Example**: `FIREFOX_NIGHTLY_129_END` -- `$(BROWSER_VERSION)`: the browser version which will first be based on the next major ESR version this *Firefox* Nightly series is leading up to - - **Example**: `15` -- `$(BASE_BROWSER_BRANCH)`: the full name of the current `base-browser` branch based off of the Firefox Nightly channel - - **Example**: `base-browser-130.0a1-15.0-2` -- `$(BASE_BROWSER_BRANCH_TAG)`: the `base-browser` build tag used as base commit for `mullvad-browser` - - **Example**: `base-browser-130.0a1-15.0-2-build1` -- `$(BASE_BROWSER_BRANCH_PREV)`: the full name of the previous `base-browser` branch based off of the Firefox Nightly channel - - **Example**: `base-browser-129.0a1-15.0-2` -- `$(BASE_BROWSER_BRANCH_PREV_TAG)`: the `base-browser` build tag used as base commit for the previous `mullvad-browser` - - **Example**: `base-browser-129.0a1-15.0-2-build1` -- `$(MULLVAD_BROWSER_BRANCH)`: the full name of the current `mullvad-browser` branch - - **Example**: `mullvad-browser-130.0a1-15.0-2` -- `$(MULLVAD_BROWSER_BRANCH_PREV)`: the full name of the previous `mullvad-browser` branch - - **Example**: `mullvad-browser-129.0a1-15.0-2` -</details> - -**NOTE**: It is presuemd the equivalent Tor Browser rapid-release rebase has been completed, as this rebase depends on a rebased `base-browser` branch - -### Update Branch Protection Rules - -- [ ] In [Repository Settings](https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/settings/re...): - - [ ] Remove previous nightly `mullvad-browser` branch protection rules (this will prevent pushing new changes to the branches being rebased) - - [ ] Create new `mullvad-browser` branch protection rule: - - **Branch**: `mullvad-browser-$(NIGHTLY_VERSION)-$(BROWSER_VERSION)-*` - - **Example**: `mullvad-browser-130.0a1-15.0-*` - - **Allowed to merge**: `Maintainers` - - **Allowed to push and merge**: `Maintainers` - - **Allowed to force push**: `false` - - ⚠️ **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! - -### **Create and Push New Branch** - -- [ ] Create new alpha `mullvad-browser` branch from this ESR's rapid `base-browser` tag - - Branch name in the form: `mullvad-browser-$(ESR_VERSION)esr-$(BROWSER_MAJOR).$(BROWSER_MINOR)-1` - - **Example**: `git branch mullvad-browser-130.0a1-15.0-2 base-browser-130.0a1-15.0-2-build1` -- [ ] Push new `mullvad-browser` branch to `upstream` -- [ ] Push the `base-browser` tag to `upstream` - -### **Rebase mullvad-browser** - -- [ ] Checkout a new local branch for the `mullvad-browser` rebase - - **Example**: `git branch mullvad-browser-rebase upstream/mullvad-browser-130.0a1-15.0-2` -- [ ] `mullvad-browser` rebase - - [ ] Cherry-pick the previous `mullvad-browser` rapid branch's commit range - - **Example**: `git cherry-pick base-browser-129.0a1-15.0-2-build1..mullvad-browser-129.0a1-15.0-2` - - [ ] Rebase and autosquash these newly cherry-picked commits - - **Example**: `git rebase --autosquash --interactive upstream/mullvad-browser-130.0a1-15.0-2` - - [ ] 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): - - **Example** `git cherry-pick mullvad-browser-128.1.0esr-14.5-1-build1..upstream/mullvad-browser-128.1.0esr-14.5-1` - - [ ] 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. - - **Example**: `git rebase --autosquash --interactive upstream/mullvad-browser-130.0a1-15.0-2` -- [ ] Compare patch sets to ensure nothing *weird* happened during conflict resolution: - - [ ] diff of diffs: - - 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 - - - `git diff $(BASE_BROWSER_BRANCH_PREV_TAG)..$(MULLVAD_BROWSER_BRANCH_PREV) > current_patchset.diff` - - `git diff $(BASE_BROWSER_BRANCH_TAG)..HEAD > rebased_patchset.diff` - - diff `current_patchset.diff` and `rebased_patchset.diff` - - 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) - - [ ] rangediff: `git range-diff $(BASE_BROWSER_BRANCH_PREV_TAG)..$(MULLVAD_BROWSER_BRANCH_PREV) $(BASE_BROWSER_BRANCH_TAG)..HEAD` - - **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` -- [ ] Open MR for the `mullvad-browser` rebase -- [ ] Merge - -### **Sign and Tag** - -- [ ] Sign/Tag `HEAD` of the merged `mullvad-browser` branch: - - In **mullvad-browser.git**, checkout the new rapid `mullvad-browser` branch - - In **tor-browser-build.git**, run signing script: - ```bash - ./tools/browser/sign-tag.mullvadbrowser rapid build1 - ``` - - [ ] Push tag to `upstream` - -<!-- Do not edit beneath this line <3 --> - ---- - -/label ~"Apps::Product::MullvadBrowser" -/label ~"Apps::Type::Rebase" -/label ~"Apps::Impact::High" -/label ~"Priority::High" ===================================== .gitlab/issue_templates/Default.md ===================================== @@ -16,7 +16,6 @@ Please select the appropriate issue template from the **Description** drop-down. - 🕰️ **Time-Gated Feature** - implement a new feature which must be enabled for a particular window in time - ⬅️ **Backport** - cherry-pick change to other release channels - ❌ **Revert** - revert a change -- ⤵️ **Rebase - Alpha** - rebase alpha to latest Firefox ESR version +- ⤵️ **Rebase - Alpha** - rebase alpha to latest Firefox Nightly version - ⤵️ **Rebase - Stable** - rebase stable to latest Firefox ESR version -- ⤵️ **Rebase - Rapid** - rebase rapid to latest Firefox Nightly version - 🚨 **Emergency Security Issue** - manage fixing and publishing a critical security fix View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/6954... -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/6954... You're receiving this email because of your account on gitlab.torproject.org.
participants (1)
-
morgan (@morgan)