Add signing to Akraino deploy templates
[ci-management.git] / jjb / akraino-templates / akraino-jjb-templates.yaml
index 55c6b58..01210ac 100644 (file)
@@ -16,7 +16,7 @@
 #
 - job-template:
     id: akraino-project-stream-release-config
-    name: '{project}-{stream}-release-config'
+    name: '{project-name}-{stream}-release-config'
 
     ######################
     # Default parameters #
@@ -96,7 +96,8 @@
           refspec: '{refspec}'
           branch: '{branch}'
           submodule-recursive: '{submodule-recursive}'
-          submodule-timeoute: '{submodule-timeout}'
+          submodule-timeout: '{submodule-timeout}'
+          submodule-disable: false
           choosing-strategy: default
 
     triggers:
 
     builders:
       - lf-infra-pre-build
+      - config-file-provider:
+          files:
+            - file-id: lftoolsini
+              target: "$HOME/.config/lftools/lftools.ini"
+            - 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
+      - shell: !include-raw-escape: ../global-jjb/shell/sigul-configuration.sh
+      - shell: !include-raw-escape: ../global-jjb/shell/sigul-install.sh
       - lf-maven-install:
           mvn-version: '{mvn-version}'
       - lf-update-java-alternatives:
 
 - job-template:
     id: akraino-project-stream-stage-config
-    name: '{project}-{stream}-stage-config'
+    name: '{project-name}-{stream}-stage-config'
 
     ######################
     # Default parameters #
           refspec: '$GERRIT_REFSPEC'
           branch: '$GERRIT_BRANCH'
           submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
+          submodule-disable: false
           choosing-strategy: default
 
     triggers:
 
     builders:
       - lf-infra-pre-build
+      - config-file-provider:
+          files:
+            - file-id: lftoolsini
+              target: "$HOME/.config/lftools/lftools.ini"
+            - 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
+      - shell: !include-raw-escape: ../global-jjb/shell/sigul-configuration.sh
+      - shell: !include-raw-escape: ../global-jjb/shell/sigul-install.sh
       - lf-jacoco-nojava-workaround
       - lf-maven-install:
           mvn-version: '{mvn-version}'
       - lf-sigul-sign-dir:
           sign-artifacts: '{sign-artifacts}'
           sign-dir: '$WORKSPACE/m2repo'
+          sign-mode: serial
       - lf-maven-stage
       - lf-provide-maven-settings-cleanup
 
     publishers:
       - lf-infra-publish
+
+- job-template:
+    id: akraino-project-stream-verify
+    name: '{project-name}-{stream}-verify'
+    archive-artifacts: >
+      **/*.log
+    build-days-to-keep: 30
+    build-timeout: 60
+    stream: master
+    project-type: freestyle
+    submodule-recursive: true
+    node: '{build-node}'
+
+    properties:
+      - lf-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - lf-infra-parameters:
+          project: '{project}'
+          stream: '{stream}'
+          branch: '{branch}'
+          lftools-version: '{lftools-version}'
+
+      - string:
+          name: ARCHIVE_ARTIFACTS
+          default: '{archive-artifacts}'
+          description: Artifacts to archive to the logs server.
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: '{build-timeout}'
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+    scm:
+      - lf-infra-gerrit-scm:
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+          git-url: '{git-url}/{project}.git'
+          refspec: '$GERRIT_REFSPEC'
+          branch: '$GERRIT_BRANCH'
+          submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
+          submodule-disable: false
+          choosing-strategy: 'gerrit'
+
+    triggers:
+      - gerrit:
+          server-name: '{gerrit-server-name}'
+          trigger-on:
+            - patchset-created-event:
+                exclude-drafts: 'false'
+                exclude-trivial-rebase: 'false'
+                exclude-no-code-change: 'false'
+            - change-merged-event
+            - draft-published-event
+            - comment-added-contains-event:
+                comment-contains-value: 'recheck'
+            - comment-added-contains-event:
+                comment-contains-value: 'reverify'
+          projects:
+            - project-compare-type: 'ANT'
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: 'ANT'
+                  branch-pattern: '**/{branch}'
+              file-paths:
+                - compare-type: ANT
+                  pattern: '**/*'
+              disable-strict-forbidden-file-verification: 'true'
+              forbidden-file-paths:
+                - compare-type: ANT
+                  pattern: 'docs/**'
+          readable-message: true
+
+    builders:
+      - shell: !include-raw-escape:
+          - ../shell/verify.sh
+
+    publishers:
+      - lf-infra-publish
+
+- job-template:
+    id: akraino-project-build-node-init
+    name: '{project-name}-{build-node}-init'
+    disabled: '{obj:disabled}'
+    concurrent: true
+
+    parameters:
+      - lf-infra-parameters:
+          project: '{project}'
+          stream: '{stream}'
+          branch: '{branch}'
+      - label:
+          name: '{build-node}'
+          default: '{build-node}'
+          node-eligibility: 'all'
+          all-nodes: true
+
+    gerrit_merge_triggers:
+      - change-merged-event
+      - comment-added-contains-event:
+          comment-contains-value: remerge$
+
+    gerrit_trigger_file_paths:
+      - compare-type: REG_EXP
+        pattern: 'global-jjb'
+
+    scm:
+      - lf-infra-gerrit-scm:
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+          git-url: '{git-url}/{project}.git'
+          refspec: '$GERRIT_REFSPEC'
+          branch: '$GERRIT_BRANCH'
+          submodule-recursive: true
+          submodule-timeout: '{submodule-timeout}'
+          submodule-disable: false
+          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: '**/{branch}'
+              file-paths: '{obj:gerrit_trigger_file_paths}'
+
+    builders:
+      - description-setter:
+          description: "POD: $NODE_NAME"
+      - shell: |
+          #!/bin/bash -ex
+          export SWAP_SIZE=0
+          sudo -E ./global-jjb/jenkins-init-scripts/init.sh
+          sudo chown jenkins:jenkins -R archives