Update rules for release-2021.
authorM. Eric Irrgang <ericirrgang@gmail.com>
Fri, 27 Nov 2020 16:16:54 +0000 (19:16 +0300)
committerMark Abraham <mark.j.abraham@gmail.com>
Fri, 4 Dec 2020 10:34:45 +0000 (10:34 +0000)
Add .rules:merge-requests:release-2021.

Update gmxapi 0.2 MR pipeline jobs not to trigger for `master`.

admin/gitlab-ci/python-gmxapi02.gitlab-ci.yml
admin/gitlab-ci/rules.gitlab-ci.yml

index c4c66b4e4d886d6e6e151f5a742429ccb9538a42..8f0588cdb6ac220337345e214ed16c22dd8fbc2b 100644 (file)
@@ -39,7 +39,7 @@
 gmxapi-0.2:gcc-7:gmx2021:py-3.6.10:
   extends:
     - .gmxapi-0.2:gcc-7:gmx2021
-    - .rules:merge-requests:master
+    - .rules:merge-requests:release-2021
   variables:
     VENVPATH: "/root/venv/py3.6"
     PY_VER: "3.6.10"
@@ -47,7 +47,7 @@ gmxapi-0.2:gcc-7:gmx2021:py-3.6.10:
 gmxapi-0.2:gcc-7:gmx2021:py-3.7.7:
   extends:
     - .gmxapi-0.2:gcc-7:gmx2021
-    - .rules:merge-requests:master
+    - .rules:merge-requests:release-2021
   variables:
     VENVPATH: "/root/venv/py3.7"
     PY_VER: "3.7.7"
@@ -55,7 +55,7 @@ gmxapi-0.2:gcc-7:gmx2021:py-3.7.7:
 gmxapi-0.2:gcc-7:gmx2021:py-3.8.2:
   extends:
     - .gmxapi-0.2:gcc-7:gmx2021
-    - .rules:merge-requests:master
+    - .rules:merge-requests:release-2021
   variables:
     VENVPATH: "/root/venv/py3.8"
     PY_VER: "3.8.2"
index 7bf1648b47f83a2508677c5ea10e9a723e99854d..a872fecc42e01d9d6c0ef8522e5b667f3c8b3bfb 100644 (file)
     - *if-schedule-then-always
     - *if-mr-then-always
 
+# Jobs that run for merge requests and schedules for branch `release-2021`,
+# but not when GROMACS_RELEASE is set.
+# Excludes non-gromacs projects.
+.rules:merge-requests:release-2021:
+  rules:
+    - *if-not-gromacs-then-never
+    - *if-release-then-never
+    - *if-post-merge-acceptance-then-never
+    # This next rule catches "push" and other events in branches other than `release-2021`
+    # but allows merge_request_events for merge requests targeting `release-2021`.
+    # This rule is before "web" so the web interface won't include jobs that can't succeed
+    # (and would not ordinarily be run). Such jobs are hard to identify in a way that is
+    # sufficiently general for a global rules definition.
+    # If extra coverage is needed through a web-triggered job in merge request branches,
+    # we could provide an additional short-circuiting rule based on an environment variable
+    # to be provided through the web interface.
+    - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "release-2021" && $CI_COMMIT_REF_NAME != "release-2021"'
+      when: never
+    - *if-web-then-always
+    - *if-schedule-then-always
+    - *if-mr-then-always
+
 # Jobs that run for merge requests and schedules for branch `release-2020`,
 # but not when GROMACS_RELEASE is set.
 # Excludes non-gromacs projects.