From a475ab1de583b1fa9a265016d11773ea6cc43d86 Mon Sep 17 00:00:00 2001
From: Tamas Gal <tgal@km3net.de>
Date: Sun, 1 Mar 2020 14:05:57 +0100
Subject: [PATCH] Ci upgrade

---
 .gitlab-ci.yml    |  2 +-
 publish_images.py | 23 ++++++++++++++---------
 2 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0a3103c..91337ac 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,7 +17,7 @@ before_script:
 test:
     stage: test
     script:
-        - git diff-tree --no-commit-id --name-only -r HEAD
+        - git --no-pager diff --name-only origin/master
         - python publish_images.py -q
     tags:
         - docker
diff --git a/publish_images.py b/publish_images.py
index bf8d27c..95e93b2 100755
--- a/publish_images.py
+++ b/publish_images.py
@@ -5,12 +5,15 @@ import sys
 import time
 
 REGISTRY_URL = 'docker.km3net.de'
-SKIP_PUSH = '-q' in sys.argv
+IS_TEST_BRANCH = '-t' in sys.argv
 
 
-def get_changed_dockerfiles():
+def get_changed_dockerfiles(vs_master=False):
     """Checks the last Git commit and returns a list of changed Dockefiles"""
-    diff_cmd = "git diff-tree --no-commit-id --name-only -r HEAD"
+    if vs_master:
+        diff_cmd = "git --no-pager diff --name-only master"
+    else:
+        diff_cmd = "git diff-tree --no-commit-id --name-only -r HEAD"
     child = sp.Popen(diff_cmd, shell=True, stdout=sp.PIPE, stderr=sp.PIPE)
     out, _ = child.communicate()
 
@@ -20,7 +23,7 @@ def get_changed_dockerfiles():
 
 
 def main():
-    changed_dockerfiles = get_changed_dockerfiles()
+    changed_dockerfiles = get_changed_dockerfiles(vs_master=IS_TEST_BRANCH)
     n_files = len(changed_dockerfiles)
 
     if n_files == 0:
@@ -35,9 +38,9 @@ def main():
         steps = [("Building",
                   "docker build --pull -t {0}/{1} -f {1} . ".format(
                       REGISTRY_URL, fname))]
-        if not SKIP_PUSH:
-            steps.append(("Pushing", "docker push {0}/{1}".format(REGISTRY_URL,
-                                                                  fname)))
+        if not IS_TEST_BRANCH:
+            steps.append(
+                ("Pushing", "docker push {0}/{1}".format(REGISTRY_URL, fname)))
         else:
             print("Skiping push...")
 
@@ -45,8 +48,10 @@ def main():
 
         for step, cmd in steps:
             print("{} {} '{}'".format(progress, step, fname))
-            child = sp.Popen(
-                cmd, shell=True, stdout=sys.stdout, stderr=sys.stderr)
+            child = sp.Popen(cmd,
+                             shell=True,
+                             stdout=sys.stdout,
+                             stderr=sys.stderr)
             child.communicate()
 
 
-- 
GitLab