Release job for ONOS Yang Tools
Change-Id: I8dd74884d8866489581d2fa45f27e70a11002b4e
diff --git a/jjb/onos/onos-verify.yaml b/jjb/onos/onos-verify.yaml
index b60be92..66d498a 100644
--- a/jjb/onos/onos-verify.yaml
+++ b/jjb/onos/onos-verify.yaml
@@ -264,6 +264,68 @@
#put shell scripts in file then make sure shell check is installed on verify vms
- shell: !include-raw-escape: onos-yang-tools-verify.sh
+- job-template:
+ #default name is global
+ name: 'onos-yang-tools-release-build'
+
+ # Job template for ONOS Yang tools release jobs
+ #
+
+ <<: *job_boiler_plate
+ # yamllint disable-line rule:key-duplicates
+ parameters:
+ - lf-infra-parameters:
+ project: '{project}'
+ branch: '{stream}'
+ stream: '{stream}'
+ lftools-version: '{lftools-version}'
+
+ - string:
+ name: YANGTOOLS_VERSION
+ default: '2.4.2'
+ description: 'Version tag of ONOS Yang tools to build'
+
+ - string:
+ name: YANGTOOLS_NEXT_VERSION
+ default: '2.5-SNAPSHOT'
+ description: 'Version of ONOS Yang tools to reset tree to afterwards'
+
+ scm:
+ - lf-infra-gerrit-scm:
+ git-url: '{git-url}'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$GERRIT_BRANCH'
+ submodule-recursive: '{submodule-recursive}'
+ choosing-strategy: gerrit
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ builders:
+ - lf-provide-maven-settings:
+ settings-file: 'release-build-maven-settings'
+ global-settings-file: 'release-build-maven-settings'
+ - config-file-provider:
+ files:
+ - file-id: 'onos-build-credentials'
+ target: 'onos-build-credentials'
+ variable: 'CREDENTIALS_FILE'
+ - file-id: 'buck-config-local'
+ target: '.buckconfig.local'
+ variable: 'BUCK_CONFIG_FILE'
+ - file-id: 'gpg-key'
+ target: 'jenkins.key'
+ variable: 'GPG_KEY_FILE'
+ - file-id: 'release-build-maven-settings'
+ target: 'settings.xml'
+ variable: 'MAVEN_SETTINGS'
+ - file-id: 'api-onosproject-ssh-key'
+ target: 'id_rsa.pub'
+ variable: 'API_ONOSPROJECT_SSH_KEY'
+
+ #put shell scripts in file then make sure shell check is installed on verify vms
+ - shell: !include-raw-escape: onos-yang-tools-release-build.sh
+ # JJB 1.6.2 does not support parameter expansion on filename?
+ #- shell: !include-raw-escape: {project-name}-verify.sh
+
+
# workaround for lack of parameter expansion support in shell: (see above)
- job-template:
#default name is global
diff --git a/jjb/onos/onos-yang-tools-release-build.sh b/jjb/onos/onos-yang-tools-release-build.sh
new file mode 100644
index 0000000..1036e65
--- /dev/null
+++ b/jjb/onos/onos-yang-tools-release-build.sh
@@ -0,0 +1,28 @@
+#!/bin/bash -ex
+
+# exit on errors
+set -eu -o pipefail
+
+# import GPG key
+gpg --import jenkins.key
+
+# set up release build credentials
+. onos-build-credentials
+
+# configure git settings
+git config user.email "jenkins@onlab.us"
+git config user.name "ONOS Jenkins User"
+
+# stage the maven settings
+mkdir -p ~/.m2
+mv settings.xml ~/.m2/settings.xml
+
+# stage and add the build SSH key
+chmod 600 id_rsa.pub
+ssh-add id_rsa.pub
+
+# get the sources
+git checkout $GERRIT_BRANCH
+
+# run the release process
+tools/onos-yang-tools-build-release ${YANGTOOLS_VERSION} ${YANGTOOLS_NEXT_VERSION} ${GERRIT_BRANCH}