From bea663873a193b0b0d8deedd8ea579339598a5be Mon Sep 17 00:00:00 2001 From: Martin Klozik Date: Thu, 7 Jun 2018 09:27:54 +0200 Subject: ci: CI helper script Skeleton of CI helper script. This script implements the body of AUTO CI jobs. It is executed from AUTO job definitions used by the OPNFV Jenkins. Change-Id: I17984293b795a0fe90bff8f9e06a8a82176c1612 Signed-off-by: Martin Klozik --- ci/build-auto.sh | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100755 ci/build-auto.sh diff --git a/ci/build-auto.sh b/ci/build-auto.sh new file mode 100755 index 0000000..611d83a --- /dev/null +++ b/ci/build-auto.sh @@ -0,0 +1,129 @@ +#!/bin/bash +# +# Copyright 2015-2018 Intel Corporation., Tieto +# +# 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. + +# CI helper script for execution of AUTO project jenkins jobs. +# This script is based on the file ci/build-vsperf.sh from OPNFV vswitchperf +# project. + +# Usage: +# build-auto.sh job_type +# where job_type is one of "verify", "merge", "daily" +# +# Example: +# ./ci/build-auto.sh daily + +# +# exit codes +# +EXIT=0 +EXIT_UNKNOWN_JOB_TYPE=1 + +# +# configuration +# +AUTOENV_DIR="$HOME/autoenv" + +# +# main +# +echo + +# enter workspace dir +cd $WORKSPACE + +# create virtualenv if needed +if [ ! -e $AUTOENV_DIR ] ; then + echo "Create AUTO environment" + echo "=======================" + virtualenv "$AUTOENV_DIR" + echo +fi + +# activate and update virtualenv +echo "Update AUTO environment" +echo "=======================" +source "$AUTOENV_DIR"/bin/activate +pip install -r ./requirements.txt +echo + +# execute job based on passed parameter +case $1 in + "verify") + echo "===============" + echo "AUTO verify job" + echo "===============" + + # Example of verify job body. Functions can call + # external scripts, etc. + + #execute_auto_pylint_check + #execute_auto_doc_check + #install_opnfv MCP + #install_onap + #execute_sanity_check + #execute_tests $1 + + # Everything went well, so report SUCCESS to Jenkins + exit $EXIT + ;; + "merge") + echo "==============" + echo "AUTO merge job" + echo "==============" + + # Example of merge job body. Functions can call + # external scripts, etc. + + #execute_auto_pylint_check + #execute_auto_doc_check + #install_opnfv MCP + #install_onap + #execute_sanity_check + #execute_tests $1 + + # Everything went well, so report SUCCESS to Jenkins + exit $EXIT + ;; + "daily") + echo "==============" + echo "AUTO daily job" + echo "==============" + + # Example of daily job body. Functions can call + # external scripts, etc. + + #install_opnfv MCP + #install_onap + #execute_sanity_check + #execute_tests $1 + #push_results_and_logs_to_artifactory + + # Everything went well, so report SUCCESS to Jenkins + exit $EXIT + ;; + *) + echo + echo "ERRROR: Unknown job type \"$1\"" + echo + exit $EXIT_UNKNOWN_JOB_TYPE + ;; +esac + +exit $EXIT_UNKNOWN_JOB_TYPE + +# +# end +# -- cgit 1.2.3-korg