As the aws command line tool call is piped, its status is lost, but the
net result is an empty variable assigment. We take advantage of this to
detect errors in the aws tool.
--HG--
extra : commitid : HDjJMJ71GnE
Add new tasks for the "Linux" platform. These run on the same docker image as
the Linux64 builds, but that image has been modified to contain a bunch of
*.i686 packages required to cross-compile for i686. Due to yum's propensity
for resolving dependencies without regard to architecture, with this patch the
system-setup.sh script lists both architectures of each file explicitly.
This also leaves `gcc` installed for user convenience in installing Python
extensions, NPM modules, etc.
This also includes 'subversion' for clang builds (bug 1208029)
--HG--
extra : commitid : GfCTCchyHo6
extra : rebase_source : 8b15da0ed7adefa084b7195a98f63f73564a3d94
Previously, we had a single make target and rule for generating all test
archives. These tasks can be performed in parallel. This commit
refactors the make file to add multiple targets for each archive and
thus enables test archives to be generated concurrently.
On my MacBook Pro, this reduces `make package-tests -j8` from ~78s to
~50s, a reduction of ~28s, or ~36%. Reduction on machines without SSDs
(like many builders in automation) will likely be less. Although, the
page cache should service most file reads during archiving since these
files were just staged, so hopefully the gains are in the same ballpark.
--HG--
extra : commitid : 1PsEuE8KS7J
extra : rebase_source : b4ed9e593775d96a994b7076c6814d18ca277d8e
extra : histedit_source : f33af390df36d8ffe98df4f4329fa50a7cde6b0c
Upcoming work will introduce multiple targets for building test
archives. To prepare for this, we introduce a phony target that
tracks the staging of all test files so each target can gate on a common
prerequisite.
--HG--
extra : commitid : KcdyQv7sZqk
extra : rebase_source : a64336881990d65e11451b3f3858e4ff5c200eca
extra : histedit_source : 3cbbbd73d31f82108125dd6593c5974f2f42184c
If a Buildbot test job is scheduled through TaskCluster (The Buildbot Bridge supports this),
then the generated Buildbot Change associated to a test job does not have the installer and
test url necessary to Mozharness to run the test job.
Since we can't modify how a test job is called on Buildbot (we can't switch from
--read-builbot-config to --installer-url and --test-url), we have to detect that there is
a 'taskId' defined for the test job (this indicates that the job was scheduled through the BBB)
and based on suc 'taskID' we can determine the parent task and the artifacts it uploaded.
Changes to ScriptMixin:
* Refactor _retry_download_file() to _retry_download()
* If no file is specified when calling_retry_download() we call _urlopen() instead of _download_file()
* Add load_json_url() method to fetch the contents of a json file without writing to disk
Changes to TestingMixin:
* If the job is triggered through Buildbot we look for the Changes object, otherwise, we look
for artifacts of the parent task
* Added functions find_artifacts_from_buildbot_changes (original behaviour)
and find_artifacts_from_taskcluster (functionality via TaskClusterArtifactsFinderMixin)
* Call self.exception() instead of raising exceptions + minor fixes
New TaskClusterArtifactsFinderMixin:
* It allows any inheriting class to find the artifacts of the build job which triggers this test job
--HG--
extra : commitid : 2yJfZgUGzbb
extra : rebase_source : 12e0e2aa46f4607c5c563317df592b0e5c805746
This stops exposing ANDROID_BUILD_TOOLS and ANDROID_PLATFORM_TOOLS via
AC_SUBST. We expose most tools already, and this adds EMULATOR, and
consumes it (and ADB) where appropriate.
--HG--
extra : commitid : 9u0pibgE00
extra : rebase_source : 04e420c53d1d75ab8f055436d7dd69e148168c67
extra : histedit_source : a930a34f4dda44ee91b52caf68e02877b0502f01