From: Yolanda Robla Date: Mon, 1 Apr 2019 11:10:41 +0000 (+0200) Subject: Add new job to build kni binary X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;h=d77e64e2c55126e851b2ebede8287fbfb3e2d496;p=ci-management.git Add new job to build kni binary Change-Id: Id504c6b79b7e3e34eea9b84a26df0273a2e4a668 --- diff --git a/jjb/akraino-templates/akraino-jjb-kni.yaml b/jjb/akraino-templates/akraino-jjb-kni.yaml index 2f1e2f4..be1f9c1 100644 --- a/jjb/akraino-templates/akraino-jjb-kni.yaml +++ b/jjb/akraino-templates/akraino-jjb-kni.yaml @@ -22,6 +22,7 @@ # Default parameters # ###################### + build-node: centos7-builder-2c-1g build-days-to-keep: 30 build-timeout: 60 submodule-recursive: true @@ -87,3 +88,81 @@ publishers: - lf-infra-publish + +- job-template: + id: kni-installer-build-binary + name: '{project-name}-build-binary' + + ###################### + # Default parameters # + ###################### + + build-days-to-keep: 30 + build-timeout: 60 + build-node: centos7-builder-8c-8g + submodule-recursive: true + + ##################### + # Job Configuration # + ##################### + + project-type: freestyle + node: '{build-node}' + + properties: + - lf-infra-properties: + build-days-to-keep: '{build-days-to-keep}' + + parameters: + - lf-infra-parameters: + project: '{project}' + branch: '{branch}' + stream: '{stream}' + lftools-version: '{lftools-version}' + + wrappers: + - lf-infra-wrappers: + build-timeout: '{build-timeout}' + jenkins-ssh-credential: '{jenkins-ssh-credential}' + + gerrit_merge_triggers: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: remerge$ + + gerrit_trigger_file_paths: + - compare-type: REG_EXP + pattern: 'Makefile' + - compare-type: REG_EXP + pattern: 'cmd/binary.go' + + 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}' + choosing-strategy: default + + 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 + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + + builders: + - lf-infra-pre-build + - shell: !include-raw-escape: + - ../shell/install_go.sh + - shell: !include-raw-escape: + - ../shell/build_kni_binary.sh diff --git a/jjb/kni/kni_installer.yaml b/jjb/kni/kni_installer.yaml index edb7a82..6b4ee34 100644 --- a/jjb/kni/kni_installer.yaml +++ b/jjb/kni/kni_installer.yaml @@ -3,8 +3,8 @@ name: kni-installer project: 'kni/installer' project-name: kni-installer - build-node: centos7-builder-2c-1g stream: master branch: master jobs: - kni-installer-build-installer + - kni-installer-build-binary diff --git a/jjb/shell/build_kni_binary.sh b/jjb/shell/build_kni_binary.sh new file mode 100644 index 0000000..36e78b3 --- /dev/null +++ b/jjb/shell/build_kni_binary.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# +# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +export PATH=$PATH:/usr/local/go/bin +KNI_PATH='go/src/gerrit.akraino.org/kni/' + +set -e -u -x -o pipefail + +echo '---> Starting kni installer generation' + +mkdir -p $HOME/${KNI_PATH}/installer +export GOPATH=$HOME/go + +# move clone to gopath +cp -R ${WORKSPACE}/* $HOME/${KNI_PATH}/installer/ + +# first build kni installer +pushd $HOME/${KNI_PATH}/installer +make build + +# then build the binary +make binary +STATUS=$? +popd + +exit $STATUS