From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- testing/docker/upload-symbols/Dockerfile | 21 ++++++++++++++++ testing/docker/upload-symbols/README.md | 28 ++++++++++++++++++++++ .../docker/upload-symbols/bin/checkout-script.sh | 16 +++++++++++++ testing/docker/upload-symbols/bin/upload.sh | 21 ++++++++++++++++ testing/docker/upload-symbols/test_exports.sh | 6 +++++ 5 files changed, 92 insertions(+) create mode 100644 testing/docker/upload-symbols/Dockerfile create mode 100644 testing/docker/upload-symbols/README.md create mode 100755 testing/docker/upload-symbols/bin/checkout-script.sh create mode 100755 testing/docker/upload-symbols/bin/upload.sh create mode 100755 testing/docker/upload-symbols/test_exports.sh (limited to 'testing/docker/upload-symbols') 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 + +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 -- cgit v1.2.3