#!/bin/bash # # This file is part of clr-boot-manager. # # Copyright © 2017-2018 Intel Corporation # # clr-boot-manager is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public License as # published by the Free Software Foundation; either version 2.1 # of the License, or (at your option) any later version. # DIRN="$(basename $(pwd))" PROJ_NAME="clr-boot-manager" PROJ_CI_NAME="docker-ci-${PROJ_NAME}" FORCE_BUILD=${FORCE_BUILD:-"false"} # Check docker is available if ! type docker &>/dev/null; then echo "Please ensure docker is installed first" exit 1 fi # Check docker is running if ! docker version &>/dev/null; then echo "Docker is not running" exit 1 fi # Check we're in the right directory if [[ "${DIRN}" != "${PROJ_NAME}" ]]; then echo "Please run from the root ${PROJ_NAME} directory" exit 1 fi # Check that docker-ci image is installed if ! docker inspect "${PROJ_CI_NAME}" || "$FORCE_BUILD" = "true" &>/dev/null; then echo "${PROJ_CI_NAME} not installed, building docker image.." echo "....Please wait, this may take some time." docker build -t "${PROJ_CI_NAME}" docker/ || exit 1 fi # Build the current tree through bind mount within the docker image echo "Beginning build of ${PROJ_NAME}..." exec docker run -ti -v $(pwd):/source:ro --rm "${PROJ_CI_NAME}"