Update lf-release-jobs gerrit trigger
[releng/global-jjb.git] / jjb / lf-release-jobs.yaml
index c838482..3df511d 100644 (file)
                   branch-pattern: "**"
               file-paths:
                 - compare-type: REG_EXP
-                  pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
+                  pattern: '(releases\/maven.*\.yaml|\.releases\/maven.*\.yaml)'
           skip-vote:
             successful: "{gerrit-skip-vote}"
             failed: "{gerrit-skip-vote}"
                   branch-pattern: "**"
               file-paths:
                 - compare-type: REG_EXP
-                  pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
+                  pattern: '(releases\/maven.*\.yaml|\.releases\/maven.*\.yaml)'
 
 ################
 # PyPI RELEASE #
     # define once and use twice; jobs MUST NOT override
     gerrit_release_trigger_file_paths:
       - compare-type: REG_EXP
-        pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
+        pattern: '(releases\/pypi.*\.yaml|\.releases\/pypi.*\.yaml)'
 
     # yamllint disable-line rule:line-length
     # github_release_included_regions MUST match gerrit_release_trigger_file_paths
     github_release_included_regions:
-      - 'releases\/.*\.yaml'
-      - '.releases\/.*\.yaml'
+      - 'releases\/pypi.*\.yaml'
+      - '.releases\/pypi.*\.yaml'
 
     parameters:
       - lf-infra-parameters:
               variable: SIGUL_PKI
             - file-id: signing-pubkey
               variable: SIGNING_PUBKEY
+            - file-id: pypirc
+              target: "$HOME/.pypirc"
       - shell: !include-raw-escape: ../shell/sigul-configuration.sh
       - shell: !include-raw-escape: ../shell/sigul-install.sh
       - inject:
           white-list-target-branches:
             - "{branch}"
           included-regions: "{obj:github_release_included_regions}"
+
+###############################
+# PackageCloud RELEASE VERIFY #
+###############################
+
+- lf_packagecloud_verify: &lf_packagecloud_verify
+    name: lf-packagecloud-verify
+
+    ######################
+    # Default parameters #
+    ######################
+
+    build-days-to-keep: 7
+    build-timeout: 15
+    disable-job: false
+    git-url: "$GIT_URL/$PROJECT"
+    gerrit-skip-vote: false
+    use-release-file: true
+
+    gerrit_verify_triggers:
+      - patchset-created-event:
+          exclude-drafts: true
+          exclude-trivial-rebase: false
+          exclude-no-code-change: false
+      - draft-published-event
+      - comment-added-contains-event:
+          # yamllint disable-line rule:line-length
+          comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
+
+    #####################
+    # Job Configuration #
+    #####################
+
+    disabled: "{disable-job}"
+
+    parameters:
+      - lf-infra-parameters:
+          project: "{project}"
+          branch: "$GERRIT_BRANCH"
+          stream: "$GERRIT_BRANCH"
+      - lf-build-with-parameters-maven-release:
+          use-release-file: "{use-release-file}"
+
+    builders:
+      - lf-infra-pre-build
+      - config-file-provider:
+          files:
+            - file-id: "packagecloud_api"
+              target: "$HOME/packagecloud_api"
+      - lf-release
+
+- job-template:
+    name: "{project-name}-packagecloud-release-verify"
+    id: gerrit-packagecloud-release-verify
+    <<: *lf_release_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *lf_packagecloud_verify
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: "{build-timeout}"
+          jenkins-ssh-credential: "{jenkins-ssh-credential}"
+
+    scm:
+      - lf-infra-gerrit-scm:
+          git-url: "{git-url}"
+          refspec: "$GERRIT_REFSPEC"
+          branch: "$GERRIT_BRANCH"
+          submodule-disable: true
+          submodule-recursive: false
+          submodule-timeout: 10
+          choosing-strategy: gerrit
+          jenkins-ssh-credential: "{jenkins-ssh-credential}"
+
+    triggers:
+      - gerrit:
+          server-name: "{gerrit-server-name}"
+          trigger-on: "{obj:gerrit_verify_triggers}"
+          projects:
+            - project-compare-type: "ANT"
+              project-pattern: "{project}"
+              branches:
+                - branch-compare-type: "ANT"
+                  branch-pattern: "**"
+              file-paths:
+                - compare-type: REG_EXP
+                  pattern: '(releases\/packagecloud.*\.yaml|\.releases\
+                    /packagecloud.*\.yaml)'
+          skip-vote:
+            successful: "{gerrit-skip-vote}"
+            failed: "{gerrit-skip-vote}"
+            unstable: "{gerrit-skip-vote}"
+            notbuilt: "{gerrit-skip-vote}"
+
+##############################
+# PackageCloud RELEASE MERGE #
+##############################
+
+- lf_packagecloud_merge: &lf_packagecloud_merge
+    name: lf-packagecloud-merge
+
+    ######################
+    # Default parameters #
+    ######################
+
+    build-days-to-keep: 7
+    build-timeout: 15
+    disable-job: false
+    git-url: "$GIT_URL/$PROJECT"
+    use-release-file: true
+
+    gerrit_merge_triggers:
+      - change-merged-event
+      - comment-added-contains-event:
+          comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
+
+    #####################
+    # Job Configuration #
+    #####################
+
+    disabled: "{disable-job}"
+
+    parameters:
+      - lf-infra-parameters:
+          project: "{project}"
+          branch: "$GERRIT_BRANCH"
+          stream: "$GERRIT_BRANCH"
+      - lf-build-with-parameters-maven-release:
+          use-release-file: "{use-release-file}"
+      - bool:
+          name: DRY_RUN
+          default: false
+          description: |
+            If DRY_RUN is enabled artifacts are not published.
+
+    builders:
+      - lf-infra-pre-build
+      - config-file-provider:
+          files:
+            - file-id: "packagecloud_api"
+              target: "$HOME/packagecloud_api"
+      - lf-release
+
+- job-template:
+    name: "{project-name}-packagecloud-release-merge"
+    id: gerrit-packagecloud-release-merge
+    <<: *lf_release_common
+    # yamllint disable-line rule:key-duplicates
+    <<: *lf_packagecloud_merge
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: "{build-timeout}"
+          jenkins-ssh-credential: "{jenkins-ssh-release-credential}"
+
+    scm:
+      - lf-infra-gerrit-scm:
+          jenkins-ssh-credential: "{jenkins-ssh-credential}"
+          git-url: "{git-url}"
+          refspec: "$GERRIT_REFSPEC"
+          branch: "$GERRIT_BRANCH"
+          submodule-disable: true
+          submodule-recursive: false
+          submodule-timeout: 10
+          choosing-strategy: default
+
+    triggers:
+      - gerrit:
+          server-name: "{gerrit-server-name}"
+          trigger-on: "{obj:gerrit_merge_triggers}"
+          projects:
+            - project-compare-type: "ANT"
+              project-pattern: "{project}"
+              branches:
+                - branch-compare-type: "ANT"
+                  branch-pattern: "**"
+              file-paths:
+                - compare-type: REG_EXP
+                  pattern: '(releases\/packagecloud.*\.yaml|\.releases\
+                    /packagecloud.*\.yaml)'