diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /testing/docker/upload-symbols | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/docker/upload-symbols')
-rw-r--r-- | testing/docker/upload-symbols/Dockerfile | 21 | ||||
-rw-r--r-- | testing/docker/upload-symbols/README.md | 28 | ||||
-rwxr-xr-x | testing/docker/upload-symbols/bin/checkout-script.sh | 16 | ||||
-rwxr-xr-x | testing/docker/upload-symbols/bin/upload.sh | 21 | ||||
-rwxr-xr-x | testing/docker/upload-symbols/test_exports.sh | 6 |
5 files changed, 92 insertions, 0 deletions
diff --git a/testing/docker/upload-symbols/Dockerfile b/testing/docker/upload-symbols/Dockerfile new file mode 100644 index 000000000..281995271 --- /dev/null +++ b/testing/docker/upload-symbols/Dockerfile @@ -0,0 +1,21 @@ +FROM ubuntu:14.04 +MAINTAINER Anthony Miyaguchi <amiyaguchi@mozilla.com> + +WORKDIR /tmp + +# Add the upload script +ADD bin /tmp/bin +RUN chmod +x /tmp/bin/* + +# Define the environmental variables for the scripts +COPY socorro_token /tmp/ +ENV SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE /tmp/socorro_token +ENV SCRIPT_PATH toolkit/crashreporter/tools/upload_symbols.py + +# Install dependencies for the script +RUN apt-get update +RUN apt-get install -y python python-pip wget +RUN pip install redo requests + +# Default command +CMD ["/bin/bash", "--login"] diff --git a/testing/docker/upload-symbols/README.md b/testing/docker/upload-symbols/README.md new file mode 100644 index 000000000..20e29fb3f --- /dev/null +++ b/testing/docker/upload-symbols/README.md @@ -0,0 +1,28 @@ +# Upload Symbols +Docker worker to upload crashreporter symbols as a separate taskcluster task. + +## Building +`$ docker build -t upload_symbols .` + +`$ docker run -i -t upload_symbols` + +Then from inside the container, run: + +`$ ./bin/upload.sh` + +In order to run the `upload_symbols.py` script properly, the Dockerfile expects a text file `socorro_token` embedded with the api token at the root directory before. + +The following environmental variables must be set for a sucessful run. +- `ARTIFACT_TASKID` : TaskId of the parent build task +- `GECKO_HEAD_REPOSITORY` : The head repository to download the checkout script +- `GECKO_HEAD_REV` : Revision of the head repository to look for + +## Example +The container can be run similar to its production environment with the following command: +``` +docker run -ti \ +-e ARTIFACT_TASKID=Hh5vLCaTRRO8Ql9X6XBdxg \ +-e GECKO_HEAD_REV=beed30cce69bc9783d417d3d29ce2c44989961ed \ +-e GECKO_HEAD_REPOSITORY=https://hg.mozilla.org/try/ \ +upload_symbols /bin/bash bin/upload.sh +``` diff --git a/testing/docker/upload-symbols/bin/checkout-script.sh b/testing/docker/upload-symbols/bin/checkout-script.sh new file mode 100755 index 000000000..c39778937 --- /dev/null +++ b/testing/docker/upload-symbols/bin/checkout-script.sh @@ -0,0 +1,16 @@ +#! /bin/bash -vex + +set -x -e + +# Inputs, with defaults + +: GECKO_HEAD_REPOSITORY ${GECKO_HEAD_REPOSITORY:=https://hg.mozilla.org/mozilla-central} +: GECKO_HEAD_REV ${GECKO_HEAD_REV:=default} + +: SCRIPT_DOWNLOAD_PATH ${SCRIPT_DOWNLOAD_PATH:=$PWD} +: SCRIPT_PATH ${SCRIPT_PATH:?"script path must be set"} +set -v + +# download script from the gecko repository +url=${GECKO_HEAD_REPOSITORY}/raw-file/${GECKO_HEAD_REV}/${SCRIPT_PATH} +wget --directory-prefix=${SCRIPT_DOWNLOAD_PATH} $url diff --git a/testing/docker/upload-symbols/bin/upload.sh b/testing/docker/upload-symbols/bin/upload.sh new file mode 100755 index 000000000..a0cc15c5b --- /dev/null +++ b/testing/docker/upload-symbols/bin/upload.sh @@ -0,0 +1,21 @@ +#! /bin/bash + +set -e + +# checkout the script +source $(dirname $0)/checkout-script.sh + +# Check that we have a taskid to checkout +if [ -z ${ARTIFACT_TASKID} ]; then + echo "Please set ARTIFACT_TASKID. Exiting" + exit 0 +fi + +# grab the symbols from an arbitrary task +symbol_url=https://queue.taskcluster.net/v1/task/${ARTIFACT_TASKID}/artifacts/public/build/target.crashreporter-symbols-full.zip +wget ${symbol_url} + +# run +symbol_zip=$(basename ${symbol_url}) +script_name=$(basename ${SCRIPT_PATH}) +python -u ${script_name} ${symbol_zip} diff --git a/testing/docker/upload-symbols/test_exports.sh b/testing/docker/upload-symbols/test_exports.sh new file mode 100755 index 000000000..acc0eb536 --- /dev/null +++ b/testing/docker/upload-symbols/test_exports.sh @@ -0,0 +1,6 @@ +#! /bin/bash +export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE=./socorro_token +export ARTIFACT_TASKID=Hh5vLCaTRRO8Ql9X6XBdxg +export GECKO_HEAD_REV=beed30cce69bc9783d417d3d29ce2c44989961ed +export GECKO_HEAD_REPOSITORY=https://hg.mozilla.org/try/ +export SCRIPT_PATH=toolkit/crashreporter/tools/upload_symbols.py |