blob: ecb8ee56a263ba14cb9e5ed5ab111dd77ac23852 [file] [log] [blame]
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -04001#!/bin/bash
2# Copyright 2016 RIFT.IO Inc
garciadeblasee04b452016-09-19 18:07:40 +02003# Copyright 2016 Telefónica Investigación y Desarrollo S.A.U.
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -04004#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17# start-build is run on a host to start a MDG build
18#
19# 24 June 2016 -- Jeremy Mordkoff -- Genesis
garciadeblasee04b452016-09-19 18:07:40 +020020# -- Gerardo Garcia
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040021
22
23HERE=$(realpath $(dirname $0))
24OSM_JENKINS=$(dirname $HERE)
25. $OSM_JENKINS/common/all_funcs
26
garciadeblas89173102016-08-31 15:05:33 +020027[ $# -lt 1 ] && FATAL "arg is MDG name"
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040028
29export OSM_MDG=$1
garciadeblasa8cbb912016-08-31 14:47:41 +020030shift
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040031OSM_load_config
32
Mike Marchetti03fcdf42017-05-30 13:13:56 -040033if [ "$1" = "--build-container" ]; then
34 shift
35 [ $# -lt 1 ] && FATAL "missing container name with option --build-container"
36 export OSM_BUILD_CONTAINER=$1
37fi
38
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040039if ! container_exists $OSM_BUILD_CONTAINER; then
garciadeblasee04b452016-09-19 18:07:40 +020040 CONTAINER_OPTS=""
41 [[ "$OSM_BUILD_CONTAINER_PRIVILEGED" == yes ]] && CONTAINER_OPTS="$CONTAINER_OPTS -c security.privileged=true"
42 [[ "$OSM_BUILD_CONTAINER_ALLOW_NESTED" == yes ]] && CONTAINER_OPTS="$CONTAINER_OPTS -c security.nesting=true"
Mike Marchetti6acd4dc2017-05-25 10:48:11 -040043 [[ "$OSM_BUILD_CONTAINER_ALLOW_DOCKER" == yes ]] && CONTAINER_OPTS="$CONTAINER_OPTS -p docker -p default"
garciadeblasee04b452016-09-19 18:07:40 +020044 create_container $OSM_BASE_IMAGE $OSM_BUILD_CONTAINER $CONTAINER_OPTS
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040045 wait_container_up $OSM_BUILD_CONTAINER
46 RE="fedora|fc[0-9]"
47 if [[ $OSM_BASE_IMAGE =~ $RE ]]; then
Jeremy Mordkoff158d1d32016-09-13 10:40:15 -040048 container_exec $OSM_BUILD_CONTAINER yum -y install git tar make sudo
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040049 else
Jeremy Mordkoff158d1d32016-09-13 10:40:15 -040050 container_exec $OSM_BUILD_CONTAINER apt -y install git realpath make sudo
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040051 fi
garciadeblasdb26f3c2016-09-20 16:46:16 +020052 if [ ${OSM_USE_LOCAL_DEVOPS:-false} ]; then
53 container_push_devops $OSM_BUILD_CONTAINER
54 else
55 container_exec $OSM_BUILD_CONTAINER git clone ${OSM_GIT_URL}/devops
56 fi
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040057else
garciadeblasdb26f3c2016-09-20 16:46:16 +020058 if [ ${OSM_USE_LOCAL_DEVOPS:-false} ]; then
59 container_push_devops $OSM_BUILD_CONTAINER
60 else
61 container_exec $OSM_BUILD_CONTAINER git -C devops pull
62 fi
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040063fi
64
garciadeblasa8cbb912016-08-31 14:47:41 +020065container_exec $OSM_BUILD_CONTAINER ./devops/jenkins/$OSM_MDG/start_build $*
Jeremy Mordkoff19215382016-07-06 18:17:46 -040066RC=$?
67INFO "$OSM_MDG build complete. Return code was $RC"
68exit $RC
garciadeblasf937a8b2016-07-21 14:53:32 +020069