Fix rtd merge job to handle new tag uploaded
[releng/global-jjb.git] / jjb / lf-release-jobs.yaml
index c384e5d..fbef3fa 100644 (file)
 # COMMON FUNCTIONS #
 ####################
 
-- lf_releases_common: &lf_releases_common
-    name: lf-releases-common
-
-    ######################
-    # Default parameters #
-    ######################
-
-    gerrit_trigger_file_paths:
-      - compare-type: ANT
-        pattern: 'releases/*.yaml'
+- lf_release_common: &lf_release_common
+    name: lf-release-common
 
     #####################
     # Job Configuration #
     #####################
 
     project-type: freestyle
-    node: '{build-node}'
+    node: "{build-node}"
 
     properties:
       - lf-infra-properties:
           build-days-to-keep: 7
 
-    parameters:
-      - lf-infra-parameters:
-          project: '{project}'
-          branch: 'master'
-          stream: '{stream}'
-
-    wrappers:
-      - lf-infra-wrappers:
-          build-timeout: '{build-timeout}'
-          jenkins-ssh-credential: '{jenkins-ssh-credential}'
-
     publishers:
       - lf-infra-publish
 
 # RELEASE VERIFY #
 ##################
 
-- lf_releases_verify: &lf_releases_verify
-    name: lf-releases-verify
+- lf_release_verify: &lf_release_verify
+    name: lf-release-verify
 
     ######################
     # Default parameters #
     ######################
 
-    branch: master
-    stream: master
     build-days-to-keep: 7
     build-timeout: 15
     disable-job: false
-    git-url: '$GIT_URL/$PROJECT'
-    project-pattern: '**'
+    git-url: "$GIT_URL/$PROJECT"
     gerrit-skip-vote: false
+    use-release-file: true
 
     gerrit_verify_triggers:
       - patchset-created-event:
           exclude-no-code-change: false
       - draft-published-event
       - comment-added-contains-event:
-          comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
-
+          comment-contains-value: "^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$"
 
     #####################
     # Job Configuration #
     #####################
 
-    disabled: '{disable-job}'
+    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
+      - conditional-step:
+          condition-kind: regex-match
+          regex: "^.*-docker-.*"
+          label: "{build-node}"
+          steps:
+            - lf-provide-maven-settings:
+                global-settings-file: "global-settings"
+                settings-file: "{mvn-settings}"
+            - shell: !include-raw-escape: ../shell/docker-login.sh
+            - lf-provide-maven-settings-cleanup
       - config-file-provider:
           files:
             - file-id: sigul-config
               variable: SIGUL_PASSWORD
             - file-id: sigul-pki
               variable: SIGUL_PKI
+            - file-id: signing-pubkey
+              variable: SIGNING_PUBKEY
       - shell: !include-raw-escape: ../shell/sigul-configuration.sh
       - shell: !include-raw-escape: ../shell/sigul-install.sh
-      - lf-releases
+      - lf-release
 
 - job-template:
-    name: '{project-name}-releases-verify-{stream}'
-    id: gerrit-releases-verify
-    <<: *lf_releases_common
+    name: "{project-name}-release-verify"
+    id: gerrit-release-verify
+    <<: *lf_release_common
     # yamllint disable-line rule:key-duplicates
-    <<: *lf_releases_verify
+    <<: *lf_release_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: 'master'
+          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}'
+          jenkins-ssh-credential: "{jenkins-ssh-credential}"
 
     triggers:
       - gerrit:
-          server-name: '{gerrit-server-name}'
-          trigger-on: '{obj:gerrit_verify_triggers}'
+          server-name: "{gerrit-server-name}"
+          trigger-on: "{obj:gerrit_verify_triggers}"
           projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project-pattern}'
+            - project-compare-type: "ANT"
+              project-pattern: "{project}"
               branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/master'
-              file-paths: '{obj:gerrit_trigger_file_paths}'
+                - branch-compare-type: "ANT"
+                  branch-pattern: "**"
+              file-paths:
+                - compare-type: REG_EXP
+                  pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
           skip-vote:
-            successful: '{gerrit-skip-vote}'
-            failed: '{gerrit-skip-vote}'
-            unstable: '{gerrit-skip-vote}'
-            notbuilt: '{gerrit-skip-vote}'
-
+            successful: "{gerrit-skip-vote}"
+            failed: "{gerrit-skip-vote}"
+            unstable: "{gerrit-skip-vote}"
+            notbuilt: "{gerrit-skip-vote}"
 
 #################
 # RELEASE MERGE #
 #################
 
-- lf_releases_merge: &lf_releases_merge
-    name: lf-releases-merge
+- lf_release_merge: &lf_release_merge
+    name: lf-release-merge
 
     ######################
     # Default parameters #
     ######################
 
-    branch: master
-    stream: master
     build-days-to-keep: 7
     build-timeout: 15
     disable-job: false
-    git-url: '$GIT_URL/$PROJECT'
-    project-pattern: '**'
+    git-url: "$GIT_URL/$PROJECT"
+    use-release-file: true
 
     gerrit_merge_triggers:
       - change-merged-event
     # Job Configuration #
     #####################
 
-    disabled: '{disable-job}'
+    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
+      - conditional-step:
+          condition-kind: regex-match
+          regex: "^.*-docker-.*"
+          label: "{build-node}"
+          steps:
+            - lf-provide-maven-settings:
+                global-settings-file: "global-settings"
+                settings-file: "{mvn-settings}"
+            - shell: !include-raw-escape: ../shell/docker-login.sh
+            - lf-provide-maven-settings-cleanup
       - config-file-provider:
           files:
             - file-id: sigul-config
               variable: SIGUL_PASSWORD
             - file-id: sigul-pki
               variable: SIGUL_PKI
+            - file-id: signing-pubkey
+              variable: SIGNING_PUBKEY
       - shell: !include-raw-escape: ../shell/sigul-configuration.sh
       - shell: !include-raw-escape: ../shell/sigul-install.sh
-      - lf-releases
+      - lf-release
 
 - job-template:
-    name: '{project-name}-releases-merge-{stream}'
-    id: gerrit-releases-merge
-    <<: *lf_releases_common
+    name: "{project-name}-release-merge"
+    id: gerrit-release-merge
+    <<: *lf_release_common
     # yamllint disable-line rule:key-duplicates
-    <<: *lf_releases_merge
+    <<: *lf_release_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'
+          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
 
     triggers:
       - gerrit:
-          server-name: '{gerrit-server-name}'
-          trigger-on: '{obj:gerrit_merge_triggers}'
+          server-name: "{gerrit-server-name}"
+          trigger-on: "{obj:gerrit_merge_triggers}"
           projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project-pattern}'
+            - project-compare-type: "ANT"
+              project-pattern: "{project}"
               branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/master'
-              file-paths: '{obj:gerrit_trigger_file_paths}'
+                - branch-compare-type: "ANT"
+                  branch-pattern: "**"
+              file-paths:
+                - compare-type: REG_EXP
+                  pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'