Only fetch the relevant git ref

This commit is contained in:
Simon Sapin 2018-09-18 15:58:36 +02:00
parent 7f3b5c86d1
commit eb1c798a98
2 changed files with 18 additions and 16 deletions

View file

@ -34,16 +34,18 @@ tasks:
features: features:
taskclusterProxy: true taskclusterProxy: true
env: env:
GITHUB_EVENT_OWNER: ${event.pusher.name}@users.noreply.github.com GIT_URL: ${event.repository.clone_url}
GITHUB_EVENT_SOURCE: ${event.compare} GIT_REF: ${event.ref}
GITHUB_EVENT_CLONE_URL: ${event.repository.clone_url} GIT_SHA: ${event.after}
GITHUB_EVENT_COMMIT_SHA: ${event.after} TASK_OWNER: ${event.pusher.name}@users.noreply.github.com
TASK_SOURCE: ${event.compare}
command: command:
- /bin/bash - /bin/bash
- '--login' - '--login'
- '-c' - '-c'
- >- - >-
git clone --depth 1 $GITHUB_EVENT_CLONE_URL repo && git init repo &&
cd 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 python3 decision-task.py

View file

@ -110,21 +110,21 @@ class DecisionTask:
routes=None, extra=None, features=None, routes=None, extra=None, features=None,
with_repo=True): with_repo=True):
# Set in .taskcluster.yml # Set in .taskcluster.yml
commit_sha = os.environ["GITHUB_EVENT_COMMIT_SHA"] task_owner = os.environ["TASK_OWNER"]
clone_url = os.environ["GITHUB_EVENT_CLONE_URL"] task_source = os.environ["TASK_SOURCE"]
source = os.environ["GITHUB_EVENT_SOURCE"]
owner = os.environ["GITHUB_EVENT_OWNER"]
env = env or {} env = env or {}
if with_repo: if with_repo:
env["GITHUB_EVENT_COMMIT_SHA"] = commit_sha # Set in .taskcluster.yml
env["GITHUB_EVENT_CLONE_URL"] = clone_url for k in ["GIT_URL", "GIT_REF", "GIT_SHA"]:
env[k] = os.environ[k]
command = """ command = """
git clone --depth 1 $GITHUB_EVENT_CLONE_URL repo git init repo
cd repo cd repo
git checkout $GITHUB_EVENT_COMMIT_SHA git fetch --depth 1 "$GIT_URL" "$GIT_REF"
git reset --hard "$GIT_SHA"
""" + command """ + command
# https://docs.taskcluster.net/docs/reference/workers/docker-worker/docs/environment # https://docs.taskcluster.net/docs/reference/workers/docker-worker/docs/environment
@ -142,8 +142,8 @@ class DecisionTask:
"metadata": { "metadata": {
"name": "%s: %s" % (self.project_name, task_name), "name": "%s: %s" % (self.project_name, task_name),
"description": "", "description": "",
"owner": owner, "owner": task_owner,
"source": source, "source": task_source,
}, },
"scopes": scopes or [], "scopes": scopes or [],
"routes": routes or [], "routes": routes or [],