From eb1c798a98d5ad8a29ed09175594761fdc8ebd88 Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Tue, 18 Sep 2018 15:58:36 +0200 Subject: [PATCH] Only fetch the relevant git ref --- .taskcluster.yml | 14 ++++++++------ decisionlib.py | 20 ++++++++++---------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/.taskcluster.yml b/.taskcluster.yml index 7d7020c5737..f5914de360f 100644 --- a/.taskcluster.yml +++ b/.taskcluster.yml @@ -34,16 +34,18 @@ tasks: features: taskclusterProxy: true env: - GITHUB_EVENT_OWNER: ${event.pusher.name}@users.noreply.github.com - GITHUB_EVENT_SOURCE: ${event.compare} - GITHUB_EVENT_CLONE_URL: ${event.repository.clone_url} - GITHUB_EVENT_COMMIT_SHA: ${event.after} + GIT_URL: ${event.repository.clone_url} + GIT_REF: ${event.ref} + GIT_SHA: ${event.after} + TASK_OWNER: ${event.pusher.name}@users.noreply.github.com + TASK_SOURCE: ${event.compare} command: - /bin/bash - '--login' - '-c' - >- - git clone --depth 1 $GITHUB_EVENT_CLONE_URL repo && + git init repo && cd repo && - git checkout $GITHUB_EVENT_COMMIT_SHA && + git fetch --depth 1 "$GIT_URL" "$GIT_REF" && + git reset --hard "$GIT_SHA" && python3 decision-task.py diff --git a/decisionlib.py b/decisionlib.py index 4899a6de895..a746a552713 100644 --- a/decisionlib.py +++ b/decisionlib.py @@ -110,21 +110,21 @@ class DecisionTask: routes=None, extra=None, features=None, with_repo=True): # Set in .taskcluster.yml - commit_sha = os.environ["GITHUB_EVENT_COMMIT_SHA"] - clone_url = os.environ["GITHUB_EVENT_CLONE_URL"] - source = os.environ["GITHUB_EVENT_SOURCE"] - owner = os.environ["GITHUB_EVENT_OWNER"] + task_owner = os.environ["TASK_OWNER"] + task_source = os.environ["TASK_SOURCE"] env = env or {} if with_repo: - env["GITHUB_EVENT_COMMIT_SHA"] = commit_sha - env["GITHUB_EVENT_CLONE_URL"] = clone_url + # Set in .taskcluster.yml + for k in ["GIT_URL", "GIT_REF", "GIT_SHA"]: + env[k] = os.environ[k] command = """ - git clone --depth 1 $GITHUB_EVENT_CLONE_URL repo + git init repo cd repo - git checkout $GITHUB_EVENT_COMMIT_SHA + git fetch --depth 1 "$GIT_URL" "$GIT_REF" + git reset --hard "$GIT_SHA" """ + command # https://docs.taskcluster.net/docs/reference/workers/docker-worker/docs/environment @@ -142,8 +142,8 @@ class DecisionTask: "metadata": { "name": "%s: %s" % (self.project_name, task_name), "description": "", - "owner": owner, - "source": source, + "owner": task_owner, + "source": task_source, }, "scopes": scopes or [], "routes": routes or [],