]> xenbits.xensource.com Git - xen-guest-agent.git/commitdiff
ci: in merge requests, build every commit (on Linux only)
authorYann Dirson <yann.dirson@vates.fr>
Wed, 29 Nov 2023 09:43:27 +0000 (10:43 +0100)
committerYann Dirson <yann.dirson@vates.fr>
Wed, 29 Nov 2023 11:30:09 +0000 (12:30 +0100)
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
.gitlab-ci.yml

index a757c0d65e650f898e27c710510534eac7d55fad..7e948d9e7373dc81c8b5d539c9e743f591487ce9 100644 (file)
@@ -83,11 +83,29 @@ variables:
 
 ## standard jobs building with shipped Cargo.lock
 
+build-linux-everycommit:
+  rules:
+    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
+  parallel: !reference [.featurematrix,parallel]
+  extends:
+    - .debian-build-template
+  variables:
+    CARGO_FLAGS: "-v"
+  script:
+    - git rebase --rebase-merges $CI_MERGE_REQUEST_DIFF_BASE_SHA
+      --exec 'printf "\e[0Ksection_start:$(date +%s):commit-$(git rev-parse --short HEAD)[collapsed=true]\r\e[0K\e[1;33m$(git log -1 --oneline)\e[1;0m\n"'
+      --exec "cargo build ${FEATURES} ${CARGO_FLAGS}"
+      --exec 'printf "\e[0Ksection_end:$(date +%s):commit-$(git rev-parse --short HEAD)\r\e[0K\n"'
+
 build-linux:
   parallel: !reference [.featurematrix,parallel]
   extends:
     - .debian-build-template
-    - .not-scheduled
+  rules:
+    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
+      # building branch tip already included in 'everycommit'
+      when: never
+    - !reference [.not-scheduled,rules]
   variables:
     CARGO_FLAGS: "-v"