зеркало из https://github.com/mozilla/gecko-dev.git
bug 1135700 - make uploadsymbols use Socorro symbol upload API. r=gps
--HG-- extra : rebase_source : 2f177f3e2dbae3e658da9c034dfd9e4b29c03015
This commit is contained in:
Родитель
be5d687375
Коммит
1097d4012f
|
@ -249,6 +249,9 @@ endif # MOZ_CRASHREPORTER
|
|||
|
||||
uploadsymbols:
|
||||
ifdef MOZ_CRASHREPORTER
|
||||
ifdef SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE
|
||||
$(PYTHON) $(topsrcdir)/toolkit/crashreporter/tools/upload_symbols.py '$(DIST)/$(PKG_PATH)$(SYMBOL_FULL_ARCHIVE_BASENAME).zip'
|
||||
endif
|
||||
$(SHELL) $(topsrcdir)/toolkit/crashreporter/tools/upload_symbols.sh $(SYMBOL_INDEX_NAME) '$(DIST)/$(PKG_PATH)$(SYMBOL_FULL_ARCHIVE_BASENAME).zip'
|
||||
endif
|
||||
|
||||
|
|
|
@ -8892,6 +8892,7 @@ AC_SUBST(LIBJPEG_TURBO_MIPS_ASM)
|
|||
|
||||
AC_SUBST(MOZ_PACKAGE_JSSHELL)
|
||||
AC_SUBST(MOZ_FOLD_LIBS)
|
||||
AC_SUBST(SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE)
|
||||
|
||||
AC_SUBST(MOZ_ENABLE_SZIP)
|
||||
AC_SUBST(MOZ_SZIP_FLAGS)
|
||||
|
|
|
@ -0,0 +1,78 @@
|
|||
#!/usr/bin/env python
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# This script uploads a symbol zip file passed on the commandline
|
||||
# to the Socorro symbol upload API hosted on crash-stats.mozilla.org.
|
||||
#
|
||||
# Using this script requires you to have generated an authentication
|
||||
# token in the crash-stats web interface. You must put the token in a file
|
||||
# and set SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE to the path to the file in
|
||||
# the mozconfig you're using.
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import os
|
||||
import requests
|
||||
import sys
|
||||
|
||||
from buildconfig import substs
|
||||
|
||||
# This is the staging server
|
||||
url = 'https://crash-stats.allizom.org/symbols/upload'
|
||||
# This is the production server, we'll switch this
|
||||
# once we're comfortable this works.
|
||||
#url = 'https://crash-stats.mozilla.com/symbols/upload'
|
||||
|
||||
def main():
|
||||
if len(sys.argv) != 2:
|
||||
print('Usage: uploadsymbols.py <zip file>', file=sys.stderr)
|
||||
return 1
|
||||
|
||||
if not os.path.isfile(sys.argv[1]):
|
||||
print('Error: zip file "{0}" does not exist!'.format(sys.argv[1]),
|
||||
file=sys.stderr)
|
||||
return 1
|
||||
symbols_zip = sys.argv[1]
|
||||
|
||||
if 'SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE' not in substs:
|
||||
print('Error: you must set SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE in your mozconfig!', file=sys.stderr)
|
||||
return 1
|
||||
token_file = substs['SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE']
|
||||
|
||||
if not os.path.isfile(token_file):
|
||||
print('Error: SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE "{0}" does not exist!'.format(token_file), file=sys.stderr)
|
||||
return 1
|
||||
auth_token = open(token_file, 'r').read().strip()
|
||||
|
||||
print('Uploading symbol file "{0}" to "{1}"...'.format(sys.argv[1], url))
|
||||
|
||||
try:
|
||||
r = requests.post(
|
||||
url,
|
||||
files={'symbols.zip': open(sys.argv[1], 'rb')},
|
||||
headers={'Auth-Token': auth_token},
|
||||
allow_redirects=False,
|
||||
timeout=60,
|
||||
)
|
||||
except requests.exceptions.RequestException as e:
|
||||
print('Error: {0}'.format(e))
|
||||
return 1
|
||||
|
||||
if r.status_code >= 200 and r.status_code < 300:
|
||||
print('Uploaded successfully!')
|
||||
elif r.status_code < 400:
|
||||
print('Error: bad auth token? ({0})'.format(r.status_code),
|
||||
file=sys.stderr)
|
||||
return 1
|
||||
else:
|
||||
print('Error: got HTTP response {0}'.format(r.status_code),
|
||||
file=sys.stderr)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
||||
|
Загрузка…
Ссылка в новой задаче