]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
CI: publish coverage only for master branch (on web)
authorPetr Špaček <petr.spacek@nic.cz>
Wed, 3 Jan 2018 16:56:39 +0000 (17:56 +0100)
committerPetr Špaček <petr.spacek@nic.cz>
Wed, 3 Jan 2018 16:56:39 +0000 (17:56 +0100)
Non-master branches must not overwrite results from master branch.
From now only master branch publishes results on Gitlab Pages.
Results for other branches can be downloaded from artifacts.

.gitlab-ci.yml

index 7ba99d20f65965e716830603b4d8188deb1ea802..b84f933d28a4e6622c469ff0e4fba3a458491b87 100644 (file)
@@ -6,6 +6,12 @@ variables:
   GIT_SUBMODULE_STRATEGY: recursive
   COVERAGE: '1'
 
+stages:
+  - build
+  - test
+  - coverage
+  - deploy
+
 build:linux:amd64:
   stage: build
   script:
@@ -196,11 +202,15 @@ respdiff:iter:tls:linux:amd64:
     - linux
     - amd64
 
-pages:
-  stage: deploy
+# compute coverage for all runs
+coverage:
+  stage: coverage
   script:
     - PREFIX=$(pwd)/.local make coverage
-    - mv coverage/ public/
+  artifacts:
+    expire_in: '1 week'
+    paths:
+      - coverage
   coverage: '/lines\.+:\s(\d+.\d+\%)/'
   dependencies:
     - build:linux:amd64
@@ -210,15 +220,25 @@ pages:
     - respdiff:iter:udp:linux:amd64
     - respdiff:iter:tcp:linux:amd64
     - respdiff:iter:tls:linux:amd64
-  artifacts:
-    expire_in: 30 days
-    paths:
-      - public
   tags:
     - docker
     - linux
     - amd64
 
+# publish coverage only for master branch
+pages:
+  stage: deploy
+  only:
+    - master
+  dependencies:
+    - coverage
+  script:
+    - mv coverage/ public/
+  artifacts:
+    expire_in: '30 days'
+    paths:
+      - public
+
 #arm_build:
 #  image: cznic/armhf-ubuntu:16.04
 #  stage: build