Python merge use git choosing strategy default
[releng/global-jjb.git] / jjb / lf-release-jobs.yaml
index a854c9f..398a53e 100644 (file)
           submodule-disable: true
           submodule-recursive: false
           submodule-timeout: 10
-          choosing-strategy: default
+          # release merge jobs build from commit not tip
+          choosing-strategy: gerrit
 
     triggers:
       - gerrit:
     # 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:
           name: LOG_DIR
           default: ""
           description: "The partial path of logs from the PyPI merge job."
+      - string:
+          name: GIT_TAG
+          default: ""
+          description: "Tag to push to git repo; optional, defaults to VERSION."
       - string:
           name: PYPI_PROJECT
           default: ""
           submodule-recursive: "{submodule-recursive}"
           submodule-timeout: "{submodule-timeout}"
           submodule-disable: "{submodule-disable}"
+          # release merge jobs build from commit not tip
           choosing-strategy: gerrit
 
     triggers:
             - "{branch}"
           included-regions: "{obj:github_release_included_regions}"
 
-###############################
-# PackageCloud RELEASE VERIFY #
-###############################
+########################
+# PackageCloud RELEASE #
+########################
 
-- lf_packagecloud_verify: &lf_packagecloud_verify
-    name: lf-packagecloud-verify
+- lf_packagecloud_release_common: &lf_packagecloud_release_common
+    name: lf-packagecloud-release-common
 
     ######################
     # Default parameters #
     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*$'
+    account-name: "{account-name}"
+    source-repo: "{source-repo}"
 
     #####################
     # Job Configuration #
           project: "{project}"
           branch: "$GERRIT_BRANCH"
           stream: "$GERRIT_BRANCH"
-      - lf-build-with-parameters-maven-release:
-          use-release-file: "{use-release-file}"
+      - string:
+          name: DISTRIBUTION_TYPE
+          default: "packagecloud"
+          description: "The Jenkins release job distribution type."
+      - bool:
+          name: DRY_RUN
+          default: false
+          description: |
+            If DRY_RUN is enabled artifacts are not promoted.
+      - bool:
+          name: USE_RELEASE_FILE
+          default: "{use-release-file}"
+          description: "Set to False for job built with parameters"
 
     builders:
       - lf-infra-pre-build
       - config-file-provider:
           files:
+            - file-id: sigul-config
+              variable: SIGUL_CONFIG
+            - file-id: sigul-password
+              variable: SIGUL_PASSWORD
+            - file-id: sigul-pki
+              variable: SIGUL_PKI
+            - file-id: signing-pubkey
+              variable: SIGNING_PUBKEY
             - file-id: "packagecloud_api"
               target: "$HOME/packagecloud_api"
+            - file-id: packagecloud-account
+              variable: ACCOUNT_NAME_FILE
+      - shell: !include-raw-escape: ../shell/sigul-configuration.sh
+      - shell: !include-raw-escape: ../shell/sigul-install.sh
       - 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
+    <<: *lf_packagecloud_release_common
 
     wrappers:
       - lf-infra-wrappers:
     triggers:
       - gerrit:
           server-name: "{gerrit-server-name}"
-          trigger-on: "{obj:gerrit_verify_triggers}"
+          trigger-on:
+            - 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*$'
           projects:
             - project-compare-type: "ANT"
               project-pattern: "{project}"
                   branch-pattern: "**"
               file-paths:
                 - compare-type: REG_EXP
-                  pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
+                  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
+    <<: *lf_packagecloud_release_common
 
     wrappers:
       - lf-infra-wrappers:
           submodule-disable: true
           submodule-recursive: false
           submodule-timeout: 10
-          choosing-strategy: default
+          # release merge jobs build from commit not tip
+          choosing-strategy: gerrit
 
     triggers:
       - gerrit:
           server-name: "{gerrit-server-name}"
-          trigger-on: "{obj:gerrit_merge_triggers}"
+          trigger-on:
+            - change-merged-event
+            - comment-added-contains-event:
+                comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
           projects:
             - project-compare-type: "ANT"
               project-pattern: "{project}"
                   branch-pattern: "**"
               file-paths:
                 - compare-type: REG_EXP
-                  pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
+                  pattern: '(releases\/packagecloud.*\.yaml|\.releases\/packagecloud.*\.yaml)'