Bug 43243 - Implement nightly startup test for desktop platforms
Merge Info
Issues
Resolves
Merging
Target Branches
-
tor-browser
-!fixups
totor-browser
-specific commits, new features, security backports -
base-browser
andmullvad-browser
-!fixups
tobase-browser
-specific commits, new features to be shared withmullvad-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:
- Download the latest nightly executable for a given platform
- Run it for 30s
- 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.