Browse code

hack: no need to git fetch in CI

CIs are assumed to do a git fetch and git merge before running tests.
Therefore, no need for a git fetch inside our validate scripts in CI.

If VALIDATE_ORIGIN_BRANCH is set, then git fetch is skipped and
VALIDATE_ORIGIN_BRANCH is used in validate scripts.

Otherwise, behavior is unchanged.

Signed-off-by: Tibor Vass <tibor@docker.com>

Tibor Vass authored on 2019/02/05 04:05:10
Showing 2 changed files
... ...
@@ -15,6 +15,7 @@ export DOCKER_GITCOMMIT
15 15
 # against these are used in hack/validate/.validate to check what changed in the PR.
16 16
 export VALIDATE_REPO
17 17
 export VALIDATE_BRANCH
18
+export VALIDATE_ORIGIN_BRANCH
18 19
 
19 20
 # env vars passed through directly to Docker's build scripts
20 21
 # to allow things like `make KEEPBUNDLE=1 binary` easily
... ...
@@ -54,6 +55,7 @@ DOCKER_ENVS := \
54 54
 	-e TIMEOUT \
55 55
 	-e VALIDATE_REPO \
56 56
 	-e VALIDATE_BRANCH \
57
+	-e VALIDATE_ORIGIN_BRANCH \
57 58
 	-e HTTP_PROXY \
58 59
 	-e HTTPS_PROXY \
59 60
 	-e NO_PROXY \
... ...
@@ -11,8 +11,11 @@ if [ -z "$VALIDATE_UPSTREAM" ]; then
11 11
 
12 12
 	VALIDATE_HEAD="$(git rev-parse --verify HEAD)"
13 13
 
14
-	git fetch -q "$VALIDATE_REPO" "refs/heads/$VALIDATE_BRANCH"
15
-	VALIDATE_UPSTREAM="$(git rev-parse --verify FETCH_HEAD)"
14
+	if [ -z "$VALIDATE_ORIGIN_BRANCH" ]; then
15
+		git fetch -q "$VALIDATE_REPO" "refs/heads/$VALIDATE_BRANCH"
16
+		VALIDATE_ORIGIN_BRANCH=FETCH_HEAD
17
+	fi
18
+	VALIDATE_UPSTREAM="$(git rev-parse --verify $VALIDATE_ORIGIN_BRANCH)"
16 19
 
17 20
 	VALIDATE_COMMIT_LOG="$VALIDATE_UPSTREAM..$VALIDATE_HEAD"
18 21
 	VALIDATE_COMMIT_DIFF="$VALIDATE_UPSTREAM...$VALIDATE_HEAD"