Skip to content

Bug 43243 - Implement nightly startup test for desktop platforms

Merge Info

Issues

Resolves

Merging

Target Branches

  • tor-browser - !fixups to tor-browser-specific commits, new features, security backports
  • base-browser and mullvad-browser - !fixups to base-browser-specific commits, new features to be shared with mullvad-browser, and security backports

Target Channels

  • Alpha: esr128-14.5
  • Stable: esr128-14.0
  • Legacy: esr115-13.5

Backporting

Timeline

  • No Backport (preferred): patchset for the next major stable
  • Immediate: patchset needed as soon as possible
  • Next Minor Stable Release: patchset that needs to be verified in nightly before backport
  • Eventually: patchset that needs to be verified in alpha before backport

Change Description

This merge request implements a startup test for each desktop platforms.

The test will:

  1. Download the latest nightly executable for a given platform
  2. Run it for 30s
  3. Exit successfully if the application did not crash

The test will be setup to run periodically once a day at a slow hour e.g. 00:00UTC -- if there was no nightly build for the previous day it will just fail early. ping @pierov or @morgan, because I don't have permissions to set scheduled pipelines after this gets merged.

The job as implemented will run for both Mullvad and Tor browser nightlies. Another option would be to separate it and have the Tor browser part run in this repository and have a separate commit to have the Mullvad part run on the MB repository, not doing that seemed easier git-wise.

For now we will only be able to enable the x86 Linux test, because that is the only OS/architecture pair we have available on CI. Work is being done to change that in tpo/tpa/team#41829. For now, I left the MacOS and Windows tests commented out -- Android startup tests are being developed separately.

Other than that, there is also some folder structure shuffling in this MR. I suggest reviewing commits separately if the reshuffling makes reviewing the actual new code harder.

How Tested

The test can be executed locally by running the startup-test.py command with the appropriate arguments for the tester's platform. Not sure it's strictly necessary for reviewers to do that though, instead see a test run with my local runner in https://gitlab.torproject.org/brizental/tor-browser/-/pipelines/225680.

Merge request reports

Loading