2 # Self-service job to lock/unlock a branch for release work or code-freeze
3 # The job also can enable/disable supercommitter rights for any given branch.
5 name: "{project-name}-gerrit-branch-lock-{stream}"
13 git-url: "$GIT_URL/$GERRIT_PROJECT"
15 submodule-disable: true
16 gerrit_merge_triggers: ""
22 project-type: freestyle
24 disabled: "{disable-job}"
27 - lf-infra-properties:
32 - lf-infra-parameters:
37 name: GERRIT_BRANCH_NEXT
40 Gerrit parameter to identify a new Gerrit branch for branch cutting.
41 ex: stable/sulfur, stable/chlorine
46 If DRY_RUN is enabled the permission changes are not pushed to Gerrit.
48 name: GERRIT_ACCESS_MODE
56 If BRANCH_CUT is selected then the GERRIT_BRANCH and master is locked for registered users.
57 If CODE_FREEZE is selected then the GERRIT_BRANCH is locked for registered users.
58 If RELEASE_PREP is selected then the GERRIT_BRANCH is locked for registered users and unlocked for RELENG.
59 If SUPERCOMMITTERS is selected then supercommitters rights are granted on the GERRIT_BRANCH.
60 If UNLOCK is selected then the GERRIT_BRANCH is unlocked, anything under the section is removed.
65 jenkins-ssh-credential: "{jenkins-ssh-credential}"
68 - lf-infra-gerrit-scm:
71 branch: "$GERRIT_BRANCH"
72 submodule-recursive: false
73 submodule-timeout: "{submodule-timeout}"
74 submodule-disable: "{submodule-disable}"
75 choosing-strategy: default
76 jenkins-ssh-credential: "{jenkins-ssh-credential}"
79 - shell: !include-raw-escape: autorelease-gerrit-branch-lock.sh
85 name: autorelease-branch-lock
86 project: releng/autorelease
87 project-name: autorelease
89 - "{project-name}-gerrit-branch-lock-{stream}"
94 branch: "stable/sulfur"
96 branch: "stable/phosphorus"