blob: f7ada68a35ebc54fa7598703fefa7c87af86248e [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 Marchetti6930bc02017-05-31 16:33:02 -040033if [ "$1" = "--build-container" ]; then
34 shift
35 [ $# -lt 1 ] && FATAL "missing container name with option --build-container"
36 export OSM_BUILD_CONTAINER=$1
37 shift
38fi
39
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040040if ! container_exists $OSM_BUILD_CONTAINER; then
garciadeblasee04b452016-09-19 18:07:40 +020041 CONTAINER_OPTS=""
42 [[ "$OSM_BUILD_CONTAINER_PRIVILEGED" == yes ]] && CONTAINER_OPTS="$CONTAINER_OPTS -c security.privileged=true"
43 [[ "$OSM_BUILD_CONTAINER_ALLOW_NESTED" == yes ]] && CONTAINER_OPTS="$CONTAINER_OPTS -c security.nesting=true"
Mike Marchetti6acd4dc2017-05-25 10:48:11 -040044 [[ "$OSM_BUILD_CONTAINER_ALLOW_DOCKER" == yes ]] && CONTAINER_OPTS="$CONTAINER_OPTS -p docker -p default"
garciadeblasee04b452016-09-19 18:07:40 +020045 create_container $OSM_BASE_IMAGE $OSM_BUILD_CONTAINER $CONTAINER_OPTS
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040046 wait_container_up $OSM_BUILD_CONTAINER
47 RE="fedora|fc[0-9]"
48 if [[ $OSM_BASE_IMAGE =~ $RE ]]; then
Jeremy Mordkoff158d1d32016-09-13 10:40:15 -040049 container_exec $OSM_BUILD_CONTAINER yum -y install git tar make sudo
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040050 else
garciadeblas7a2b4b72017-08-31 13:14:45 +020051 container_exec $OSM_BUILD_CONTAINER apt-get -y install git realpath make sudo
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040052 fi
garciadeblasdb26f3c2016-09-20 16:46:16 +020053 if [ ${OSM_USE_LOCAL_DEVOPS:-false} ]; then
54 container_push_devops $OSM_BUILD_CONTAINER
55 else
56 container_exec $OSM_BUILD_CONTAINER git clone ${OSM_GIT_URL}/devops
57 fi
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040058else
garciadeblasdb26f3c2016-09-20 16:46:16 +020059 if [ ${OSM_USE_LOCAL_DEVOPS:-false} ]; then
60 container_push_devops $OSM_BUILD_CONTAINER
61 else
62 container_exec $OSM_BUILD_CONTAINER git -C devops pull
63 fi
Jeremy Mordkoff50c2e862016-06-24 15:26:41 -040064fi
65
garciadeblasa8cbb912016-08-31 14:47:41 +020066container_exec $OSM_BUILD_CONTAINER ./devops/jenkins/$OSM_MDG/start_build $*
Jeremy Mordkoff19215382016-07-06 18:17:46 -040067RC=$?
68INFO "$OSM_MDG build complete. Return code was $RC"
69exit $RC
garciadeblasf937a8b2016-07-21 14:53:32 +020070