Currently, build tasks produce a zip file artifact containing the
content of testing/mozharness. This zip file is downloaded and applied
by any test using mozharness (which is most of them).
Now that some tests have a source checkout, we don't need to download
a mozharness zip because we can just use the source checkout.
This commit teaches test-ubuntu.sh to accept a custom path to
mozharness files. If that path is defined, we skip downloading the
mozharness zip.
The taskgraph has been updated to pass the path of mozharness in the
checkout to test-ubuntu.sh when a source checkout is available.
MozReview-Commit-ID: 2P17Wx1oytI
--HG--
extra : rebase_source : a631a87737b253aece3bbc550ce58168212ae87c
extra : source : 21fdf73bbb17e34cfe00e372695c4f21e4ba3e6a
Same deal as the last commit except for config paths.
MozReview-Commit-ID: 3AXwc3i3Iqu
--HG--
extra : rebase_source : 588020b22853f669d9b9ec1b368d82f4b6f14a97
extra : source : dda84d1fb12b3416c81aab675c58b95ecb9f37cd
Mozharness scripts all live in "mozharness/scripts." So, we don't need
to redundantly define this path. Let's define the script as the relative
path within "mozharness/scripts" instead.
IMO this cosmetic improvement can stand on its own. However, the real
reason for this change is to pave the way for running mozharness from
a source checkout instead of downloading a zip archive of it.
MozReview-Commit-ID: FUnMiLlCcGK
--HG--
extra : rebase_source : 8e11f98dc2f63fa7d7fbd893d68e3c6d475a5759
extra : source : 11ffdc56f5becfeb2ee03423f67749f4baf1f3a7
The only difference in these files was the order that pulseaudio is
started and whether compiz is started. We rename test-ubuntu1604.sh
to test-ubuntu.sh, add some distro release detection, and add
some conditional branches so it works on both Ubuntu 12.04 and 16.04.
MozReview-Commit-ID: CaSfuDxss3d
--HG--
rename : taskcluster/scripts/tester/test-ubuntu1604.sh => taskcluster/scripts/tester/test-ubuntu.sh
extra : rebase_source : 29040c1cf7baedda0aaeff4bd788d5d400c127f1
extra : source : f227ea4d52fed84e3e682de0aa4cb8869539d645
Currently, build tasks produce a zip file artifact containing the
content of testing/mozharness. This zip file is downloaded and applied
by any test using mozharness (which is most of them).
Now that some tests have a source checkout, we don't need to download
a mozharness zip because we can just use the source checkout.
This commit teaches test-ubuntu.sh to accept a custom path to
mozharness files. If that path is defined, we skip downloading the
mozharness zip.
The taskgraph has been updated to pass the path of mozharness in the
checkout to test-ubuntu.sh when a source checkout is available.
MozReview-Commit-ID: 2P17Wx1oytI
--HG--
extra : rebase_source : 5d97079f054f3cd236a1c2a3039c3894207377f9
Same deal as the last commit except for config paths.
MozReview-Commit-ID: 3AXwc3i3Iqu
--HG--
extra : rebase_source : c249f77289e24aceaae73dbca0c994b949215814
Mozharness scripts all live in "mozharness/scripts." So, we don't need
to redundantly define this path. Let's define the script as the relative
path within "mozharness/scripts" instead.
IMO this cosmetic improvement can stand on its own. However, the real
reason for this change is to pave the way for running mozharness from
a source checkout instead of downloading a zip archive of it.
MozReview-Commit-ID: FUnMiLlCcGK
--HG--
extra : rebase_source : 3a0093f1995120264fed89dc4af94eea3554bfe5
The only difference in these files was the order that pulseaudio is
started and whether compiz is started. We rename test-ubuntu1604.sh
to test-ubuntu.sh, add some distro release detection, and add
some conditional branches so it works on both Ubuntu 12.04 and 16.04.
MozReview-Commit-ID: CaSfuDxss3d
--HG--
rename : taskcluster/scripts/tester/test-ubuntu1604.sh => taskcluster/scripts/tester/test-ubuntu.sh
extra : rebase_source : 2153d24fbf8208851a6df8728b8a820166278751
Robust checkout is the preferred method to clone a mercurial repository. This should
speed up the cloning process a bit and reduce storage size.
MozReview-Commit-ID: 92rcwMwRLYN
--HG--
extra : rebase_source : 33a2349d636a07ad1643798bf798bdb175c4f1ca
Sometimes xvfb will not start up with the current retry/delay settings. This will
attempt to retry more and delay for longer to ensure xvfb has started up. Common
pieces of this have been factored out into a recipe that all docker images can schare
that need this functionality.
MozReview-Commit-ID: BTXkJkBWLZX
--HG--
extra : rebase_source : 7554d7784768a65deb2c9ccb89586e5f77550e9f
Sometimes xvfb will not start up with the current retry/delay settings. This will
attempt to retry more and delay for longer to ensure xvfb has started up. Common
pieces of this have been factored out into a recipe that all docker images can schare
that need this functionality.
MozReview-Commit-ID: 2ww0eT3cIt6
--HG--
extra : rebase_source : f343f8a2bf8370657b63afdd9d739988bbb6261c
Before, test.sh (duplicated between the desktop-test and
desktop1604-test images) was dropping permissions, creating a workspace,
and executing test-linux.sh. This is functionality now provided by
run-task.
So, convert the test tasks to use run-task.
One thing run-task isn't doing is created the workspace. So this
functionality has been moved into test-ubuntu1204.sh and
test-ubuntu1604.sh.
Since the test.sh files are no longer used after this change, they have
been deleted. The desktop-test image no longer has any files in the
bin/ directory, so the Dockerfile entry to copy those files has been
removed.
MozReview-Commit-ID: 1BiskrMs6xW
--HG--
extra : rebase_source : 264efc9b30e62927dece848b9b1eab7542cf2cba
extra : source : 8335aa40265b1d17421d06d9e9a180eb8419fe47
extra : histedit_source : a5ae54a810718d446ded8bab510e6cd605562737
Before, test.sh (duplicated between the desktop-test and
desktop1604-test images) was dropping permissions, creating a workspace,
and executing test-linux.sh. This is functionality now provided by
run-task.
So, convert the test tasks to use run-task.
One thing run-task isn't doing is created the workspace. So this
functionality has been moved into test-ubuntu1204.sh and
test-ubuntu1604.sh.
Since the test.sh files are no longer used after this change, they have
been deleted. The desktop-test image no longer has any files in the
bin/ directory, so the Dockerfile entry to copy those files has been
removed.
MozReview-Commit-ID: 1BiskrMs6xW
--HG--
extra : rebase_source : 75a937321d1850caebbb1eeaab42d04638ef75d9
extra : source : 8335aa40265b1d17421d06d9e9a180eb8419fe47
There are some packages like 'requests' that are bundled in the mozharness venv, but not in the test
package. It would be easy to manually add these to sys.path in the mach bootstrap script, but it's
much nicer to simply activate this virtualenv in the first place.
MozReview-Commit-ID: 8xeJEIgUbLj
--HG--
extra : rebase_source : b87e5ef46041d9d5a89d419e97fe3a316de6c8c2
Normally we start Xvfb as a background task, then run the tests from the
same script. However, in interactive mode we were starting Xvfb, the script
would exit, and then we would potentially run tests later on from another
script. Unforunately this meant that Xvfb was dying with the first script
and tests would fail.
This patch runs Xvfb in a screen session so that it will still be available
later on when running an interactive shell.
MozReview-Commit-ID: EduVyglo2BG
--HG--
extra : rebase_source : 6e2c40ee16f80792f038fd581168e181a2c4bf51
This fixes a race condition between the 'test-linux.sh' process and the 'taskcluster-interactive-shell'
process in interactive tasks.
MozReview-Commit-ID: GhqKpq5pAtj
--HG--
extra : rebase_source : 67b756d0373432404a4f7cc928bac09fc3f82e8a
When running an interactive worker (aka one-click loaner), developers have the option of setting
up the mozharness environment without running tests. When they do this, we should automatically
symlink the mach binary found in the tests.zip to their path. This way developers don't need to
go searching for $HOME/workspace/build/tests/mach to run their tests.
MozReview-Commit-ID: 1JKPYSsYKlN
--HG--
extra : rebase_source : 1b9bd2a201641fee168778268c3612020d7ee868
The run-wizard binary (used by interactive workers) will likely need to
change relatively frequently. Therefore, it should be baked directly into
the docker image. This patch instead downloads it from the appropriate
commit on hg.mozilla.org, only when needed.
MozReview-Commit-ID: 70hlloywCSj
--HG--
rename : testing/docker/desktop-test/bin/run-wizard => taskcluster/scripts/tester/run-wizard
extra : rebase_source : 871c24b2eec26962e88c852b5ec85a09382f21a1
Historically, a mozinfo for js standalone build has not been necessary,
but with the move towards a) having things work with mach and b)
buildconfig using the MozbuildObject.from_environment in next patch,
mozinfo becomes necessary (it's required for
MozbuildObject.from_environment to find the directory is an objdir).
Interestingly, hazard builds do both a js standalone build and a desktop
Firefox build at the same time, both of which are done with MOZCONFIG
set in the environment... with the Firefox mozconfig. The result of now
writing a mozinfo for js standalone builds is that in that case, they
end up with a reference to the mozconfig, which the build system then
reads, and finds a MOZ_OBJDIR, which then doesn't match the js
standalone build objdir. So for those builds, reset MOZCONFIG.