Bug 1525218 - Use minidump_stackwalk toolchain artifacts instead of tooltool packages. r=froydnj

Differential Revision: https://phabricator.services.mozilla.com/D59936

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Mike Hommey 2020-01-15 14:20:30 +00:00
Родитель fb0c82e9ab
Коммит 5378c2e839
30 изменённых файлов: 21 добавлений и 191 удалений

Просмотреть файл

@ -21,12 +21,5 @@
"unpack": true,
"digest": "196ac6a567c85559957dfe511c3d8654d23c94d5603259e19ccafe9d71e0e4ccee63ccc9a778f2699654b786cda54266108b7d4db543d01bb0b42545b4e6ec75",
"size": 297118
},
{
"size": 1701376,
"visibility": "public",
"digest": "2bc729f9cedfba59b5c7a088f00d00fc078af3bd08e88ee41bbb1ea092038466f46589cef036e0d928249f6037fb22828f62e6d82a32d018f66ca92a834393c8",
"algorithm": "sha512",
"filename": "win32-minidump_stackwalk.exe"
}
]

Просмотреть файл

@ -22,12 +22,5 @@
"unpack": true,
"digest": "196ac6a567c85559957dfe511c3d8654d23c94d5603259e19ccafe9d71e0e4ccee63ccc9a778f2699654b786cda54266108b7d4db543d01bb0b42545b4e6ec75",
"size": 297118
},
{
"size": 1701376,
"visibility": "public",
"digest": "2bc729f9cedfba59b5c7a088f00d00fc078af3bd08e88ee41bbb1ea092038466f46589cef036e0d928249f6037fb22828f62e6d82a32d018f66ca92a834393c8",
"algorithm": "sha512",
"filename": "win32-minidump_stackwalk.exe"
}
]

Просмотреть файл

@ -21,12 +21,5 @@
"unpack": true,
"digest": "196ac6a567c85559957dfe511c3d8654d23c94d5603259e19ccafe9d71e0e4ccee63ccc9a778f2699654b786cda54266108b7d4db543d01bb0b42545b4e6ec75",
"size": 297118
},
{
"size": 1701376,
"visibility": "public",
"digest": "2bc729f9cedfba59b5c7a088f00d00fc078af3bd08e88ee41bbb1ea092038466f46589cef036e0d928249f6037fb22828f62e6d82a32d018f66ca92a834393c8",
"algorithm": "sha512",
"filename": "win32-minidump_stackwalk.exe"
}
]

Просмотреть файл

@ -9,7 +9,6 @@ path:browser/config/version.txt
# Result from `grep -hr %include taskcluster/docker | grep -v " taskcluster/" | sort -u`
path:python/mozbuild/mozbuild/action/tooltool.py
path:testing/config/tooltool-manifests/linux64/releng.manifest
path:testing/mozharness/external_tools/performance-artifact-schema.json
path:testing/mozharness/external_tools/robustcheckout.py
path:tools/lint/spell/codespell_requirements.txt

Просмотреть файл

@ -56,3 +56,12 @@ job-defaults:
.*-devedition/.*: false
default: true
default: false
fetches:
toolchain:
by-test-platform:
win.*:
- win32-minidump-stackwalk
macosx.*:
- macosx64-minidump-stackwalk
default:
- linux64-minidump-stackwalk

Просмотреть файл

@ -1,9 +0,0 @@
[
{
"size": 866276,
"visibility": "public",
"digest": "a063a151555ef78f8d5795f558632dd7d3f511ad6276915f3c8cfec44146ba1e82c0a3db063a3e30921171563880d4d7794da1a036b00fab03d95988d491dc6b",
"algorithm": "sha512",
"filename": "linux32-minidump_stackwalk"
}
]

Просмотреть файл

@ -1,9 +0,0 @@
[
{
"size": 6519680,
"visibility": "public",
"digest": "15f8ae94bd1ab6baa6a853c47fcc2f7ffb1fc1004f6316b81b9b1f22a705d017ef28b8a397575965223c7f4d68becad5ba981ae2647963588fc771accca61795",
"algorithm": "sha512",
"filename": "linux64-minidump_stackwalk"
}
]

Просмотреть файл

@ -1,9 +0,0 @@
[
{
"size": 843008,
"visibility": "public",
"digest": "2105e384ffbf3459d91701207e879a676ab8e49ca1dc2b7bf1e7d695fb6245ba719285c9841429bbc6605ae4e710107621f788a7204ed681148115ccf64ac087",
"algorithm": "sha512",
"filename": "macosx64-minidump_stackwalk"
}
]

Просмотреть файл

@ -1,9 +0,0 @@
[
{
"size": 1701376,
"visibility": "public",
"digest": "2bc729f9cedfba59b5c7a088f00d00fc078af3bd08e88ee41bbb1ea092038466f46589cef036e0d928249f6037fb22828f62e6d82a32d018f66ca92a834393c8",
"algorithm": "sha512",
"filename": "win32-minidump_stackwalk.exe"
}
]

Просмотреть файл

@ -48,7 +48,6 @@ config = {
# "log_format": "%(levelname)8s - %(message)s",
"log_tbpl_level": "info",
"log_raw_level": "info",
"minidump_stackwalk_path": "linux64-minidump_stackwalk",
# To take device screenshots at timed intervals (each time in seconds, relative
# to the start of the run-tests step) specify screenshot_times. For example, to
# take 4 screenshots at one minute intervals you could specify:

Просмотреть файл

@ -21,7 +21,5 @@ config = {
"tooltool_cache": "/builds/tooltool_cache",
# from android_common.py
"download_tooltool": True,
"minidump_stackwalk_path": "linux64-minidump_stackwalk",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/linux64/releng.manifest",
"xpcshell_extra": "--remoteTestRoot=/data/local/tests",
}

Просмотреть файл

@ -1,14 +1,7 @@
import os
import platform
PYTHON = "/usr/bin/env python"
VENV_PATH = '%s/build/venv' % os.getcwd()
if platform.architecture()[0] == '64bit':
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux64/releng.manifest"
MINIDUMP_STACKWALK_PATH = "linux64-minidump_stackwalk"
else:
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux32/releng.manifest"
MINIDUMP_STACKWALK_PATH = "linux32-minidump_stackwalk"
ABS_WORK_DIR = os.path.join(os.getcwd(), "build")
BINARY_PATH = os.path.join(ABS_WORK_DIR, "application", "firefox", "firefox-bin")
INSTALLER_PATH = os.path.join(ABS_WORK_DIR, "installer.tar.bz2")
@ -30,7 +23,5 @@ config = {
"install",
"run-tests",
],
"minidump_stackwalk_path": MINIDUMP_STACKWALK_PATH,
"minidump_tooltool_manifest_path": TOOLTOOL_MANIFEST_PATH,
"tooltool_cache": os.path.join(os.getcwd(), "tooltool_cache"),
}

Просмотреть файл

@ -2,8 +2,6 @@ import os
PYTHON = "/usr/bin/env python"
VENV_PATH = '%s/build/venv' % os.getcwd()
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/macosx64/releng.manifest"
MINIDUMP_STACKWALK_PATH = "macosx64-minidump_stackwalk"
ABS_WORK_DIR = os.path.join(os.getcwd(), "build")
INSTALLER_PATH = os.path.join(ABS_WORK_DIR, "installer.dmg")
@ -23,7 +21,5 @@ config = {
"install",
"run-tests",
],
"minidump_stackwalk_path": MINIDUMP_STACKWALK_PATH,
"minidump_tooltool_manifest_path": TOOLTOOL_MANIFEST_PATH,
"tooltool_cache": os.path.join(os.getcwd(), "tooltool_cache"),
}

Просмотреть файл

@ -14,8 +14,6 @@ config = {
],
"tooltool_cache": "/builds/tooltool_cache",
"download_tooltool": True,
"minidump_stackwalk_path": "linux64-minidump_stackwalk",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/linux64/releng.manifest",
"hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest",
}

Просмотреть файл

@ -4,9 +4,6 @@ import sys
PYTHON = sys.executable
VENV_PATH = '%s/build/venv' % os.getcwd()
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux64/releng.manifest"
MINIDUMP_STACKWALK_PATH = "linux64-minidump_stackwalk"
exes = {
'python': PYTHON,
}
@ -27,7 +24,5 @@ config = {
"install",
"run-tests",
],
"minidump_stackwalk_path": MINIDUMP_STACKWALK_PATH,
"minidump_tooltool_manifest_path": TOOLTOOL_MANIFEST_PATH,
"tooltool_cache": "/builds/worker/tooltool-cache",
}

Просмотреть файл

@ -1,13 +1,6 @@
import os
import platform
VENV_PATH = '%s/build/venv' % os.getcwd()
if platform.architecture()[0] == '64bit':
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux64/releng.manifest"
MINIDUMP_STACKWALK_PATH = "linux64-minidump_stackwalk"
else:
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux32/releng.manifest"
MINIDUMP_STACKWALK_PATH = "linux32-minidump_stackwalk"
config = {
"log_name": "raptor",
@ -23,7 +16,5 @@ config = {
"install",
"run-tests",
],
"minidump_stackwalk_path": MINIDUMP_STACKWALK_PATH,
"minidump_tooltool_manifest_path": TOOLTOOL_MANIFEST_PATH,
"tooltool_cache": "/builds/tooltool_cache",
}

Просмотреть файл

@ -19,7 +19,5 @@ config = {
"run_cmd_checks_enabled": True,
"preflight_run_cmd_suites": [],
"postflight_run_cmd_suites": [],
"minidump_stackwalk_path": "macosx64-minidump_stackwalk",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/macosx64/releng.manifest",
"tooltool_cache": "/builds/tooltool_cache",
}

Просмотреть файл

@ -31,8 +31,6 @@ config = {
"run-tests",
],
"tooltool_cache": os.path.join('c:\\', 'build', 'tooltool_cache'),
"minidump_stackwalk_path": "win32-minidump_stackwalk.exe",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/win32/releng.manifest",
"python3_manifest": {
"win32": "python3.manifest",
"win64": "python3_x64.manifest",

Просмотреть файл

@ -30,8 +30,6 @@ config = {
"run-tests",
],
"tooltool_cache": os.path.join('c:\\', 'build', 'tooltool_cache'),
"minidump_stackwalk_path": "win32-minidump_stackwalk.exe",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/win32/releng.manifest",
"python3_manifest": {
"win32": "python3.manifest",
"win64": "python3_x64.manifest",

Просмотреть файл

@ -1,17 +1,9 @@
import os
import platform
import sys
PYTHON = sys.executable
VENV_PATH = '%s/build/venv' % os.getcwd()
if platform.architecture()[0] == '64bit':
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux64/releng.manifest"
MINIDUMP_STACKWALK_PATH = "linux64-minidump_stackwalk"
else:
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux32/releng.manifest"
MINIDUMP_STACKWALK_PATH = "linux32-minidump_stackwalk"
exes = {
'python': PYTHON,
}
@ -32,7 +24,5 @@ config = {
"install",
"run-tests",
],
"minidump_stackwalk_path": MINIDUMP_STACKWALK_PATH,
"minidump_tooltool_manifest_path": TOOLTOOL_MANIFEST_PATH,
"tooltool_cache": "/builds/worker/tooltool-cache",
}

Просмотреть файл

@ -1,13 +1,6 @@
import os
import platform
VENV_PATH = '%s/build/venv' % os.getcwd()
if platform.architecture()[0] == '64bit':
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux64/releng.manifest"
MINIDUMP_STACKWALK_PATH = "linux64-minidump_stackwalk"
else:
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux32/releng.manifest"
MINIDUMP_STACKWALK_PATH = "linux32-minidump_stackwalk"
config = {
"log_name": "talos",
@ -22,7 +15,5 @@ config = {
"install",
"run-tests",
],
"minidump_stackwalk_path": MINIDUMP_STACKWALK_PATH,
"minidump_tooltool_manifest_path": TOOLTOOL_MANIFEST_PATH,
"tooltool_cache": "/builds/tooltool_cache",
}

Просмотреть файл

@ -18,7 +18,5 @@ config = {
"run_cmd_checks_enabled": True,
"preflight_run_cmd_suites": [],
"postflight_run_cmd_suites": [],
"minidump_stackwalk_path": "macosx64-minidump_stackwalk",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/macosx64/releng.manifest",
"tooltool_cache": "/builds/tooltool_cache",
}

Просмотреть файл

@ -25,6 +25,4 @@ config = {
"run-tests",
],
"tooltool_cache": os.path.join('c:\\', 'build', 'tooltool_cache'),
"minidump_stackwalk_path": "win32-minidump_stackwalk.exe",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/win32/releng.manifest"
}

Просмотреть файл

@ -22,6 +22,4 @@ config = {
"run-tests",
],
"tooltool_cache": os.path.join('Y:\\', 'tooltool-cache'),
"minidump_stackwalk_path": "win32-minidump_stackwalk.exe",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/win32/releng.manifest"
}

Просмотреть файл

@ -24,6 +24,4 @@ config = {
"run-tests",
],
"tooltool_cache": os.path.join('c:\\', 'build', 'tooltool_cache'),
"minidump_stackwalk_path": "win32-minidump_stackwalk.exe",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/win32/releng.manifest"
}

Просмотреть файл

@ -22,13 +22,9 @@ VALGRIND_SUPP_CROSS_ARCH = os.path.join(VALGRIND_SUPP_DIR,
VALGRIND_SUPP_ARCH = None
if platform.architecture()[0] == "64bit":
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux64/releng.manifest"
MINIDUMP_STACKWALK_PATH = "linux64-minidump_stackwalk"
VALGRIND_SUPP_ARCH = os.path.join(VALGRIND_SUPP_DIR,
"x86_64-pc-linux-gnu.sup")
else:
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux32/releng.manifest"
MINIDUMP_STACKWALK_PATH = "linux32-minidump_stackwalk"
VALGRIND_SUPP_ARCH = os.path.join(VALGRIND_SUPP_DIR,
"i386-pc-linux-gnu.sup")
NODEJS_TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux32/nodejs.manifest"
@ -246,8 +242,6 @@ config = {
"cppunittest": [],
"jittest": [],
},
"minidump_stackwalk_path": MINIDUMP_STACKWALK_PATH,
"minidump_tooltool_manifest_path": TOOLTOOL_MANIFEST_PATH,
"tooltool_cache": "/builds/worker/tooltool-cache",
"nodejs_path": NODEJS_PATH,
# "log_format": "%(levelname)8s - %(message)s",

Просмотреть файл

@ -199,8 +199,6 @@ config = {
"cppunittest": [],
"jittest": [],
},
"minidump_stackwalk_path": "macosx64-minidump_stackwalk",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/macosx64/releng.manifest",
"tooltool_cache": "/builds/tooltool_cache",
"nodejs_path": NODEJS_PATH,
}

Просмотреть файл

@ -274,7 +274,5 @@ config = {
"cppunittest": [],
"jittest": [],
},
"minidump_stackwalk_path": "win32-minidump_stackwalk.exe",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/win32/releng.manifest",
"nodejs_path": NODEJS_PATH,
}

Просмотреть файл

@ -22,7 +22,6 @@ config = {
"hostutils_manifest_path": "testing/config/tooltool-manifests/linux64/hostutils.manifest",
"log_tbpl_level": "info",
"log_raw_level": "info",
"minidump_stackwalk_path": "linux64-minidump_stackwalk",
"per_test_category": "web-platform",
"tooltool_cache": os.environ.get("TOOLTOOL_CACHE"),
}

Просмотреть файл

@ -540,73 +540,28 @@ Did you run with --create-virtualenv? Is mozinstall in virtualenv_modules?""")
def uninstall(self):
self.uninstall_app()
def query_minidump_tooltool_manifest(self):
if self.config.get('minidump_tooltool_manifest_path'):
return self.config['minidump_tooltool_manifest_path']
self.info('Minidump tooltool manifest unknown. Determining based upon '
'platform and architecture.')
platform_name = self.platform_name()
if platform_name:
tooltool_path = "config/tooltool-manifests/%s/releng.manifest" % \
TOOLTOOL_PLATFORM_DIR[platform_name]
return tooltool_path
else:
self.fatal('We could not determine the minidump\'s filename.')
def query_minidump_filename(self):
if self.config.get('minidump_stackwalk_path'):
return self.config['minidump_stackwalk_path']
self.info('Minidump filename unknown. Determining based upon platform '
'and architecture.')
platform_name = self.platform_name()
if platform_name:
minidump_filename = '%s-minidump_stackwalk' % TOOLTOOL_PLATFORM_DIR[platform_name]
if platform_name in ('win32', 'win64'):
minidump_filename += '.exe'
return minidump_filename
else:
self.fatal('We could not determine the minidump\'s filename.')
def query_minidump_stackwalk(self, manifest=None):
if self.minidump_stackwalk_path:
return self.minidump_stackwalk_path
c = self.config
dirs = self.query_abs_dirs()
minidump_stackwalk_path = None
# This is the path where we either download to or is already on the host
minidump_stackwalk_path = self.query_minidump_filename()
if 'MOZ_FETCHES_DIR' in os.environ:
minidump_stackwalk_path = os.path.join(
os.environ['MOZ_FETCHES_DIR'],
'minidump_stackwalk',
'minidump_stackwalk')
if not manifest:
tooltool_manifest_path = self.query_minidump_tooltool_manifest()
manifest = os.path.join(dirs.get('abs_test_install_dir',
os.path.join(dirs['abs_work_dir'], 'tests')),
tooltool_manifest_path)
if self.platform_name() in ('win32', 'win64'):
minidump_stackwalk_path += '.exe'
self.info('grabbing minidump binary from tooltool')
try:
self.tooltool_fetch(
manifest=manifest,
output_dir=dirs['abs_work_dir'],
cache=c.get('tooltool_cache')
)
except KeyError:
self.error('missing a required key.')
abs_minidump_path = os.path.join(dirs['abs_work_dir'],
minidump_stackwalk_path)
if os.path.exists(abs_minidump_path):
self.chmod(abs_minidump_path, 0o755)
self.minidump_stackwalk_path = abs_minidump_path
else:
self.warning("minidump stackwalk path was given but couldn't be found. "
"Tried looking in '%s'" % abs_minidump_path)
if not minidump_stackwalk_path or not os.path.isfile(minidump_stackwalk_path):
self.error("minidump_stackwalk path was not fetched?")
# don't burn the job but we should at least turn them orange so it is caught
self.record_status(TBPL_WARNING, WARNING)
return None
self.minidump_stackwalk_path = minidump_stackwalk_path
return self.minidump_stackwalk_path
def query_options(self, *args, **kwargs):