Bug 1289249 - Remove legacy scripts for running tasks in desktop-build draft
authorGregory Szorc <gps@mozilla.com>
Wed, 28 Sep 2016 21:06:54 -0700
changeset 419242 16100aa452c4b05701d84ccb16c1e1318eb6c662
parent 419241 f25976a1dfac0a4868e481585b34a14064ab8b76
child 532539 9dfd1f7194cad8b33a5c743ca861a8fba2688df5
push id30892
push userbmo:gps@mozilla.com
push dateFri, 30 Sep 2016 01:51:48 +0000
bugs1289249, 1179893
milestone52.0a1
Bug 1289249 - Remove legacy scripts for running tasks in desktop-build run-task replaces build.sh. So build.sh has been removed. checkout-sources.sh was only used by build.sh and since build.sh is no more, checkout-sources.sh has been removed. checkout-script.sh was added in bug 1179893 as a way to easily run ad-hoc tasks from random files in a repository. Now that we have run-task and it can get a gecko checkout efficiently, I think run-task now satisfies this use case sufficiently. So let's kill checkout-script.sh and recommend people use run-task. If people really want the functionality to obtain a single file without a full checkout, we can re-add this script or add the functionality to run-task. We also remove old VCS foo from the TC transform. MozReview-Commit-ID: ERlEiuD0YU2
testing/docker/desktop-build/Dockerfile
testing/docker/desktop-build/bin/build.sh
testing/docker/desktop-build/bin/checkout-script.sh
testing/docker/desktop-build/bin/checkout-sources.sh
--- a/testing/docker/desktop-build/Dockerfile
+++ b/testing/docker/desktop-build/Dockerfile
@@ -2,21 +2,16 @@
 FROM          taskcluster/centos6-build-upd:0.1.6.20160329195300
 MAINTAINER    Dustin J. Mitchell <dustin@mozilla.com>
 
 # TODO remove when base image is updated
 VOLUME /home/worker/workspace
 VOLUME /home/worker/tooltool-cache
 VOLUME /home/worker/hg-shared
 
-# Add build scripts; these are the entry points from the taskcluster worker, and
-# operate on environment variables
-ADD             bin /home/worker/bin
-RUN             chmod +x /home/worker/bin/*
-
 # %include testing/docker/recipes/tooltool.py
 ADD topsrcdir/testing/docker/recipes/tooltool.py /builds/tooltool.py
 ADD topsrcdir/testing/docker/recipes/tooltool.py /setup/tooltool.py
 
 # %include testing/mozharness/external_tools/robustcheckout.py
 ADD topsrcdir/testing/mozharness/external_tools/robustcheckout.py /usr/local/mercurial/robustcheckout.py
 
 # %include testing/docker/recipes/common.sh
deleted file mode 100644
--- a/testing/docker/desktop-build/bin/build.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /bin/bash -vex
-
-set -x -e -v
-
-# Relative path to in-tree script
-: JOB_SCRIPT                ${JOB_SCRIPT:=taskcluster/scripts/builder/build-linux.sh}
-
-script_args="${@}"
-
-# TODO: when bug 1093833 is solved and tasks can run as non-root, reduce this
-# to a simple fail-if-root check
-if [ $(id -u) = 0 ]; then
-    # each of the caches we have mounted are owned by root, so update that ownership
-    # to 'worker'
-    for cache in /home/worker/.tc-vcs /home/worker/workspace /home/worker/tooltool-cache; do
-        if [ -d $cache ]; then
-            # -R probably isn't necessary forever, but it fixes some poisoned
-            # caches for now
-            chown -R worker:worker $cache
-        fi
-    done
-
-    # ..then drop privileges by re-running this script
-    exec su worker -c "/home/worker/bin/build.sh $script_args"
-fi
-
-####
-# The default build works for any fx_desktop_build based mozharness job:
-# via build-linux.sh
-####
-
-. $HOME/bin/checkout-sources.sh
-
-script=$WORKSPACE/build/src/$JOB_SCRIPT
-chmod +x $script
-exec $script $script_args
deleted file mode 100644
--- a/testing/docker/desktop-build/bin/checkout-script.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /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
-chmod +x `basename ${SCRIPT_PATH}`
deleted file mode 100644
--- a/testing/docker/desktop-build/bin/checkout-sources.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#! /bin/bash -vex
-
-set -x -e
-
-# Inputs, with defaults
-
-# mozharness builds use two repositories: gecko (source)
-# and build-tools (miscellaneous) for each, specify *_REPOSITORY.  If the
-# revision is not in the standard repo for the codebase, specify *_BASE_REPO as
-# the canonical repo to clone and *_HEAD_REPO as the repo containing the
-# desired revision.  For Mercurial clones, only *_HEAD_REV is required; for Git
-# clones, specify the branch name to fetch as *_HEAD_REF and the desired sha1
-# as *_HEAD_REV.
-
-: GECKO_REPOSITORY              ${GECKO_REPOSITORY:=https://hg.mozilla.org/mozilla-central}
-: GECKO_BASE_REPOSITORY         ${GECKO_BASE_REPOSITORY:=${GECKO_REPOSITORY}}
-: GECKO_HEAD_REPOSITORY         ${GECKO_HEAD_REPOSITORY:=${GECKO_REPOSITORY}}
-: GECKO_HEAD_REV                ${GECKO_HEAD_REV:=default}
-: GECKO_HEAD_REF                ${GECKO_HEAD_REF:=${GECKO_HEAD_REV}}
-
-: TOOLS_REPOSITORY              ${TOOLS_REPOSITORY:=https://hg.mozilla.org/build/tools}
-: TOOLS_BASE_REPOSITORY         ${TOOLS_BASE_REPOSITORY:=${TOOLS_REPOSITORY}}
-: TOOLS_HEAD_REPOSITORY         ${TOOLS_HEAD_REPOSITORY:=${TOOLS_REPOSITORY}}
-: TOOLS_HEAD_REV                ${TOOLS_HEAD_REV:=default}
-: TOOLS_HEAD_REF                ${TOOLS_HEAD_REF:=${TOOLS_HEAD_REV}}
-: TOOLS_DISABLE                 ${TOOLS_DISABLE:=false}
-
-: WORKSPACE                     ${WORKSPACE:=/home/worker/workspace}
-
-set -v
-
-# check out tools where mozharness expects it to be ($PWD/build/tools and $WORKSPACE/build/tools)
-if [ ! "$TOOLS_DISABLE" = true ]
-then
-    tc-vcs checkout $WORKSPACE/build/tools $TOOLS_BASE_REPOSITORY $TOOLS_HEAD_REPOSITORY $TOOLS_HEAD_REV $TOOLS_HEAD_REF
-
-    if [ ! -d build ]; then
-        mkdir -p build
-        ln -s $WORKSPACE/build/tools build/tools
-    fi
-fi
-
-# TODO - include tools repository in EXTRA_CHECKOUT_REPOSITORIES list
-for extra_repo in $EXTRA_CHECKOUT_REPOSITORIES; do
-    BASE_REPO="${extra_repo}_BASE_REPOSITORY"
-    HEAD_REPO="${extra_repo}_HEAD_REPOSITORY"
-    HEAD_REV="${extra_repo}_HEAD_REV"
-    HEAD_REF="${extra_repo}_HEAD_REF"
-    DEST_DIR="${extra_repo}_DEST_DIR"
-
-    tc-vcs checkout ${!DEST_DIR} ${!BASE_REPO} ${!HEAD_REPO} ${!HEAD_REV} ${!HEAD_REF}
-done
-
-export GECKO_DIR=$WORKSPACE/build/src
-tc-vcs checkout $GECKO_DIR $GECKO_BASE_REPOSITORY $GECKO_HEAD_REPOSITORY $GECKO_HEAD_REV $GECKO_HEAD_REF