TB 43243 - Run daily startup tests for Android nightlies

Merge Info

Issues

Related

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
    • ⚠️ IMPORTANT: Please list the base-browser-specific commits which need to be cherry-picked to the base-browser and mullvad-browser branches here

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

Review

Change Description

There are two main changes here:

  1. I implemented a simple startup test for Android;
  2. I added a new CI job, to be executed on the same schedule as the desktop startup tests. The job will download yesterday's nightly and run the launch test. One nice thing about how this is implemented, different from the desktop startup tests, the code here can be reused for general Android integration tests.

There is a third minor change to remove an exit call from FenixApplication.kt. This was discussed on IRC with @clairehurst and is an ok change. Without it all test processes crash on exit, which is why it is part of this MR.

@pierov We will need to add the browserstack credentials as environment variables for our CI. We can do it after this is merged.

How Tested

I have temporarily changed the new job trigger to run on merge requests. Check the pipelines for this MR and if they have run we are good. Note that the pipeline will fail, because the LaunchTest class it expects to exist doesn't -- it is also being added by this MR. Regardless, the main point is that the pipeline runs and reports the correct status over here. To see actual passing tests, see my other tests using local files e.g. https://app-automate.browserstack.com/dashboard/v2/builds/b84a08a75fd3d79d1ad96b91939a95c3024e22f5.

UPDATE: There was a bit of a struggle 😁 but here is a pipeline run that was executed as expected: https://gitlab.torproject.org/brizental/tor-browser/-/jobs/807945/

Edited by brizental

Merge request reports

Loading