Mesa (master): ci: Add jobs running ci-fairy checks

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Oct 21 16:32:45 UTC 2020


Module: Mesa
Branch: master
Commit: 4c41d1900e58cb09501cbf113568645e70634aff
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c41d1900e58cb09501cbf113568645e70634aff

Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Thu Aug  6 17:37:33 2020 +0200

ci: Add jobs running ci-fairy checks

These can catch various common issues in MR settings and Git commit
logs.

The "check mr" job only exists in pre-merge pipelines for MRs, and runs
automatically.

The "check commits" job only exists in pre-merge pipelines for MRs and
in pipelines for forked branches. It runs automatically in the former
case and can be manually triggered in the latter.

v2:
* Use git_archive docker image (Daniel Stone)
* Use a single sanity stage for both jobs (Tomeu Vizoso)

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6209>

---

 .gitlab-ci.yml | 54 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 47 insertions(+), 7 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4ad29d71117..45204d1f4cb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -18,6 +18,7 @@ include:
 stages:
   - container
   - container-2
+  - sanity
   - git-archive
   - deploy
   - meson-x86_64
@@ -462,6 +463,11 @@ git_archive:
   rules:
     - if: *is-scheduled-pipeline
       when: always
+    - if: *is-pre-merge
+      when: on_success
+    - if: *is-forked-branch
+      when: manual
+    # Other cases default to never
   variables:
     FDO_REPO_SUFFIX: &git-archive-suffix "alpine/git_archive"
     FDO_DISTRIBUTION_EXEC: 'pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366'
@@ -470,24 +476,26 @@ git_archive:
     FDO_DISTRIBUTION_TAG: &git-archive-tag "2020-07-07"
     FDO_DISTRIBUTION_PACKAGES: git py3-pip
 
+.use-git_archive:
+  extends: .fdo.suffixed-image at alpine
+  variables:
+    FDO_DISTRIBUTION_TAG: *git-archive-tag
+    FDO_REPO_SUFFIX: *git-archive-suffix
+  needs:
+    - git_archive
+
 
 # Git archive
 
 make git archive:
+  extends: .use-git_archive
   stage: git-archive
-  extends: .fdo.suffixed-image at alpine
   rules:
     - if: *is-scheduled-pipeline
       when: on_success
   # ensure we are running on packet
   tags:
     - packet.net
-  variables:
-    FDO_DISTRIBUTION_TAG: *git-archive-tag
-    FDO_REPO_SUFFIX: *git-archive-suffix
-  needs:
-    - git_archive
-
   script:
     # compress the current folder
     - tar -cvzf ../$CI_PROJECT_NAME.tar.gz .
@@ -497,6 +505,38 @@ make git archive:
     - ci-fairy minio cp ../$CI_PROJECT_NAME.tar.gz minio://minio-packet.freedesktop.org/git-cache/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_PROJECT_NAME.tar.gz
 
 
+# Sanity checks of MR settings and commit logs
+.sanity-check:
+  extends: .use-git_archive
+  stage: sanity
+  artifacts:
+    when: on_failure
+    reports:
+      junit: check-*.xml
+
+check mr:
+  extends: .sanity-check
+  rules:
+    - if: *is-pre-merge
+      when: on_success
+    # Other cases default to never
+  variables:
+    GIT_STRATEGY: none
+  script:
+    - ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request.xml
+
+check commits:
+  extends: .sanity-check
+  rules:
+    - if: *is-pre-merge
+      when: on_success
+    - if: *is-forked-branch
+      when: manual
+    # Other cases default to never
+  script:
+    - ci-fairy check-commits --junit-xml=check-commits.xml
+
+
 # BUILD
 
 # Shared between windows and Linux



More information about the mesa-commit mailing list