mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-07-14 20:56:30 +00:00
Merge branch 'master' of https://github.com/pvizeli/hassio
This commit is contained in:
commit
69162bd979
87
build-scripts/resinhup-build/create_resinhup.sh
Normal file
87
build-scripts/resinhup-build/create_resinhup.sh
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
BUILD_CONTAINER_NAME=resinhup-build-$$
|
||||||
|
DOCKER_REPO=pvizeli
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
echo "[INFO] Cleanup."
|
||||||
|
|
||||||
|
# Stop docker container
|
||||||
|
echo "[INFO] Cleaning up homeassistant-build container."
|
||||||
|
docker stop $BUILD_CONTAINER_NAME 2> /dev/null || true
|
||||||
|
docker rm --volumes $BUILD_CONTAINER_NAME 2> /dev/null || true
|
||||||
|
|
||||||
|
if [ "$1" == "fail" ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
trap 'cleanup fail' SIGINT SIGTERM
|
||||||
|
|
||||||
|
# Sanity checks
|
||||||
|
if [ "$#" -ne 2 ]; then
|
||||||
|
echo "Usage: create_resinhup.sh <VERS> <MACHINE>"
|
||||||
|
echo "Optional environment: BUILD_DIR"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get the absolute script location
|
||||||
|
pushd `dirname $0` > /dev/null 2>&1
|
||||||
|
SCRIPTPATH=`pwd`
|
||||||
|
popd > /dev/null 2>&1
|
||||||
|
|
||||||
|
MACHINE=$2
|
||||||
|
BASE_IMAGE="resin\/${MACHINE}-python:3.6"
|
||||||
|
DOCKER_TAG=$1
|
||||||
|
DOCKER_IMAGE=resinhup-${MACHINE}
|
||||||
|
BUILD_DIR=${BUILD_DIR:=$SCRIPTPATH}
|
||||||
|
WORKSPACE=${BUILD_DIR:=$SCRIPTPATH}/resinhup
|
||||||
|
|
||||||
|
# evaluate git repo and arch
|
||||||
|
case $MACHINE in
|
||||||
|
"raspberrypi3")
|
||||||
|
DOCKER_FILE_NAME="Dockerfile.raspberrypi3"
|
||||||
|
;;
|
||||||
|
"raspberrypi2")
|
||||||
|
DOCKER_FILE_NAME="Dockerfile.raspberryp-i2"
|
||||||
|
;;
|
||||||
|
"raspberrypi")
|
||||||
|
DOCKER_FILE_NAME="Dockerfile.raspberry-pi"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "[ERROR] ${MACHINE} unknown!"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# setup docker
|
||||||
|
echo "[INFO] Setup workspace"
|
||||||
|
mkdir -p $BUILD_DIR
|
||||||
|
|
||||||
|
git clone https://github.com/resin-os/resinhup $WORKSPACE
|
||||||
|
cd $WORKSPACE && git checkout $DOCKER_TAG
|
||||||
|
|
||||||
|
cp $DOCKER_FILE_NAME Dockerfile
|
||||||
|
|
||||||
|
# Run build
|
||||||
|
echo "[INFO] start docker build"
|
||||||
|
docker stop $BUILD_CONTAINER_NAME 2> /dev/null || true
|
||||||
|
docker rm --volumes $BUILD_CONTAINER_NAME 2> /dev/null || true
|
||||||
|
docker run --rm \
|
||||||
|
-v $WORKSPACE:/docker \
|
||||||
|
-v ~/.docker:/root/.docker \
|
||||||
|
-e DOCKER_REPO=$DOCKER_REPO \
|
||||||
|
-e DOCKER_IMAGE=$DOCKER_IMAGE \
|
||||||
|
-e DOCKER_TAG=$DOCKER_TAG \
|
||||||
|
--name $BUILD_CONTAINER_NAME \
|
||||||
|
--privileged \
|
||||||
|
pvizeli/docker-build-env \
|
||||||
|
/run-docker.sh
|
||||||
|
|
||||||
|
echo "[INFO] cleanup WORKSPACE"
|
||||||
|
cd $BUILD_DIR
|
||||||
|
rm -rf $WORKSPACE
|
||||||
|
|
||||||
|
cleanup
|
||||||
|
exit 0
|
Loading…
x
Reference in New Issue
Block a user