Merge "Set up CICD for QP Driver"
[ci-management.git] / jjb / oran-jjb / oran-shell-jobs.yaml
index 3b68853..f4a236c 100644 (file)
     archive-artifacts: >
       **/*.log
     branch: master
-    build-days-to-keep: 7
+    build-days-to-keep: 30
     build-timeout: 15
     cron: ''
     concurrent: false
     disable-job: false
     gerrit-skip-vote: false
     git-url: '$GIT_URL/$GERRIT_PROJECT'
+    mvn-global-settings: global-settings
     stream: master
     submodule-disable: false
     submodule-recursive: true
           jenkins-ssh-credential: '{jenkins-ssh-credential}'
 
     builders:
+      - lf-infra-pre-build
+      - lf-provide-maven-settings:
+          global-settings-file: "{mvn-global-settings}"
+          settings-file: "{mvn-settings}"
+      - lf-infra-create-netrc:
+          server-id: "{mvn-site-id}"
       - shell: '{script}'
+      - lf-provide-maven-settings-cleanup
 
     publishers:
       - lf-infra-publish
                 - branch-compare-type: ANT
                   branch-pattern: '**/{branch}'
               file-paths: '{obj:gerrit_trigger_file_paths}'
+
+# Build and publish artifact from gerrit by shell script.
+# Triggered automatically by merging specific release file;
+# can be run on any branch.
+#
+# Required parameters:
+#   build-node:     label (flavor) of jenkins build minion
+#   project:        git repository
+#   project-name:   Jenkins job name prefix
+#   script:         shell script to execute
+# Optional parameters:
+#   branch:         git branch pattern, defaults to master
+#   stream:         friendly stream name (often same as branch), defaults to master
+#   gerrit_release_file_paths: Pathname pattern of the release file to trigger this job
+- job-template:
+    name: '{project-name}-shell-release-{stream}'
+    id: oran-shell-release
+    <<: *oran_shell_common
+
+    gerrit_release_file_paths:
+      - compare-type: REG_EXP
+        pattern: 'releases\/oran-shell-release.*\.yaml'
+
+    scm:
+      - lf-infra-gerrit-scm:
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+          git-url: '{git-url}'
+          refspec: '$GERRIT_REFSPEC'
+          branch: '$GERRIT_BRANCH'
+          submodule-recursive: '{submodule-recursive}'
+          submodule-timeout: '{submodule-timeout}'
+          submodule-disable: '{submodule-disable}'
+          choosing-strategy: default
+
+    triggers:
+      - gerrit:
+          server-name: '{gerrit-server-name}'
+          trigger-on:
+            - change-merged-event
+          projects:
+            - project-compare-type: ANT
+              project-pattern: '{project}'
+              branches:
+                - branch-compare-type: ANT
+                  branch-pattern: '**/{branch}'
+              file-paths: '{obj:gerrit_release_file_paths}'
+