Make gerrit-branch-lock work for all proj/branches 47/62547/3
authorEric Ball <eball@linuxfoundation.org>
Fri, 6 Dec 2019 04:04:19 +0000 (20:04 -0800)
committerEric Ball <eball@linuxfoundation.org>
Tue, 10 Dec 2019 17:31:21 +0000 (09:31 -0800)
Add gerrit-branch-lock to gerrit ci-jobs, and make it so that it can
be triggered from any change, for any branch.

Issue: RELENG-1236
Change-Id: I757f76c940bdbed10e3c1bc8a422ef94f1495dee
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
.jjb-test/lf-ci-jobs.yaml
docs/jjb/lf-ci-jobs.rst
jjb/lf-ci-job-groups.yaml
jjb/lf-ci-jobs.yaml
releasenotes/notes/branch-lock-any-80d1391da7431c02.yaml [new file with mode: 0644]
shell/gerrit-branch-lock.sh

index baeced5..65a4fab 100644 (file)
@@ -3,7 +3,6 @@
     name: gerrit-ci-jobs
     jobs:
       - "{project-name}-ci-jobs"
-      - gerrit-branch-lock
 
     project-name: gerrit-ciman
 
index 3cd6e72..0fa7081 100644 (file)
@@ -107,10 +107,13 @@ Job Templates
 Gerrit Branch Lock
 ------------------
 
-Job submits a patch to lock or unlock a project's branch.
+Job submits a patch to lock or unlock a project's branch. This should only be
+loaded once, as "ci-management-gerrit-branch-lock" (or "ci-management"
+equivalent). That job will process lock/unlock requests for all projects and
+all branches.
 
 :Template Names:
-    - {project-name}-gerrit-branch-lock-{stream}
+    - {project-name}-gerrit-branch-lock
     - gerrit-branch-lock
 
 :Comment Trigger:
@@ -126,14 +129,9 @@ Job submits a patch to lock or unlock a project's branch.
 
 :Optional parameters:
 
-    :branch: Git branch to build against. (default: master)
     :git-url: URL to clone project from. (default: $GIT_URL/$GERRIT_PROJECT)
-    :stream: Keyword that can be used to represent a release code-name.
-        Often the same as the branch. (default: master)
     :submodule-timeout: Timeout (in minutes) for checkout operation.
         (default: 10)
-    :submodule-disable: Disable submodule checkout operation.
-        (default: false)
     :gerrit_merge_triggers: Override Gerrit Triggers.
 
 .. _lf-global-jjb-jenkins-cfg-merge:
index 81e6b0b..945079c 100644 (file)
@@ -9,6 +9,7 @@
       - gerrit-jjb-deploy-job
       - gerrit-jjb-merge
       - gerrit-jjb-verify
+      - gerrit-branch-lock
 
 - job-group:
     name: "{project-name}-github-ci-jobs"
index 3ec2b49..3106d8b 100644 (file)
 ######################
 
 - job-template:
-    name: "{project-name}-gerrit-branch-lock-{stream}"
+    name: "{project-name}-gerrit-branch-lock"
     id: gerrit-branch-lock
 
     ######################
     # Default parameters #
     ######################
 
-    branch: master
+    branch: "**"
     disable-job: false
     git-url: "$GIT_URL/$GERRIT_PROJECT"
-    stream: master
     submodule-timeout: 10
-    submodule-disable: false
+    submodule-disable: true
     gerrit_merge_triggers:
       - comment-added-contains-event:
           comment-contains-value: (un)?lock branch$
     parameters:
       - lf-infra-parameters:
           project: "{project}"
-          stream: "{stream}"
+          stream: ""
           branch: "{branch}"
 
     wrappers:
       - lf-infra-gerrit-scm:
           git-url: "{git-url}"
           refspec: ""
-          branch: "{branch}"
+          branch: "$GERRIT_BRANCH"
           submodule-recursive: false
           submodule-timeout: "{submodule-timeout}"
           submodule-disable: "{submodule-disable}"
           trigger-on: "{obj:gerrit_merge_triggers}"
           projects:
             - project-compare-type: ANT
-              project-pattern: "{project}"
+              project-pattern: "**"
               branches:
                 - branch-compare-type: ANT
                   branch-pattern: "**/{branch}"
diff --git a/releasenotes/notes/branch-lock-any-80d1391da7431c02.yaml b/releasenotes/notes/branch-lock-any-80d1391da7431c02.yaml
new file mode 100644 (file)
index 0000000..daee4e7
--- /dev/null
@@ -0,0 +1,5 @@
+---
+features:
+  - |
+    Add gerrit-branch-lock to gerrit ci-jobs, and make it so that it can be
+    triggered from any change, for any branch.
index 8cfbe4a..60f28fe 100644 (file)
@@ -39,6 +39,7 @@ install_gerrit_hook
 # Groups must be mapped in the groups file before they can be used
 if ! grep 'Registered Users'; then
     echo -e "global:Registered-Users\tRegistered Users" >> groups
+    git add groups
 fi
 
 mode=$(echo "$GERRIT_EVENT_COMMENT_TEXT" | grep branch | awk '{print $1}')