diff --git a/build-scripts/addons/create_all.sh b/build-scripts/addons/create_all.sh deleted file mode 100755 index 681db43..0000000 --- a/build-scripts/addons/create_all.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -set -e - -for arch in "armhf" "aarch64" "i386" "amd64" -do - ./create_hassio_addon.sh -a $arch "$@" & -done -wait diff --git a/build-scripts/addons/create_hassio_addon.sh b/build-scripts/addons/create_hassio_addon.sh deleted file mode 100755 index fb41bce..0000000 --- a/build-scripts/addons/create_hassio_addon.sh +++ /dev/null @@ -1,169 +0,0 @@ -#!/bin/bash -set -e - -BUILD_CONTAINER_NAME=hassio-addons-$$ -DOCKER_PUSH="true" -DOCKER_CACHE="true" -DOCKER_WITH_LATEST="true" -BRANCH=master -REPOSITORY=https://github.com/home-assistant/hassio-addons - -cleanup() { - echo "[INFO] Cleanup." - - # Stop docker container - echo "[INFO] Cleaning up hassio-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 - -help () { - cat << EOF -Script for hassio addon docker build -create_hassio_addon [options] - -Options: - -h, --help - Display this help and exit. - - -r, --repository https://.../addons - Set git repository to load addon from. - -b, --branch branch_name - Set git branch to load addon from. - -l, --local /path/to/repository - Load addon from a local folder - -s, --slug addon_slug - Name of folder/slug - - -a, --arch armhf|aarch64|i386|amd64 - Arch for addon build. - -t, --test - Don't upload the build to docker hub. - -n, --no-cache - Disable build from cache -EOF -} - -# Parse arguments -while [[ $# -gt 0 ]]; do - key=$1 - case $key in - -h|--help) - help - exit 0 - ;; - -r|--repository) - REPOSITORY=$2 - shift - ;; - -b|--branch) - BRANCH=$2 - shift - ;; - -l|--local) - LOCAL_REPOSITORY=$2 - shift - ;; - -s|--slug) - SLUG=$2 - shift - ;; - -a|--arch) - ARCH=$2 - shift - ;; - -t|--test) - DOCKER_PUSH="false" - ;; - -n|--no-cache) - DOCKER_CACHE="false" - ;; - *) - echo "[WARNING] $0 : Argument '$1' unknown. Ignoring." - ;; - esac - shift -done - -# Sanity checks -if [ "$ARCH" != 'armhf' ] && [ "$ARCH" != 'aarch64' ] && [ "$ARCH" != 'i386' ] && [ "$ARCH" != 'amd64' ]; then - echo "Error: $ARCH is not a supported platform for hassio-supervisor!" - help - exit 1 -fi -if [ -z "$SLUG" ]; then - echo "[ERROR] please set a slug!" - help - exit 1 -fi - -# Get the absolute script location -pushd "$(dirname "$0")" > /dev/null 2>&1 -SCRIPTPATH=$(pwd) -popd > /dev/null 2>&1 - -BASE_IMAGE="homeassistant\/$ARCH-base:latest" -BUILD_DIR=${BUILD_DIR:=$SCRIPTPATH} -WORKSPACE=${BUILD_DIR:=$SCRIPTPATH}/hassio-supervisor-$ARCH -ADDON_WORKSPACE=$WORKSPACE/$SLUG - -# setup docker -echo "[INFO] Setup docker for addon" -mkdir -p "$BUILD_DIR" -mkdir -p "$WORKSPACE" - -if [ -z "$LOCAL_REPOSITORY" ]; then - git clone "$REPOSITORY" "$WORKSPACE" - cd "$WORKSPACE"; git checkout "$BRANCH" - - if [ ! -d "$ADDON_WORKSPACE" ]; then - echo "Error: $ADDON not found inside Repo!" - exit 1 - fi -else - cp -r "$LOCAL_REPOSITORY/$SLUG" "$ADDON_WORKSPACE" -fi - -# Init docker -echo "[INFO] Setup dockerfile" - -sed -i "s/{arch}/${ARCH}/g" "$ADDON_WORKSPACE/config.json" -DOCKER_TAG=$(jq --raw-output ".version" "$ADDON_WORKSPACE/config.json") - -# If set custom image in file -DOCKER_IMAGE=$(jq --raw-output ".image // empty" "$ADDON_WORKSPACE/config.json") - -# Replace hass.io vars -sed -i "s/%%BASE_IMAGE%%/${BASE_IMAGE}/g" "$ADDON_WORKSPACE/Dockerfile" -sed -i "s/#${ARCH}:FROM/FROM/g" "$ADDON_WORKSPACE/Dockerfile" -sed -i "s/%%ARCH%%/${ARCH}/g" "$ADDON_WORKSPACE/Dockerfile" -echo "LABEL io.hass.version=\"$DOCKER_TAG\" io.hass.arch=\"$ARCH\" io.hass.type=\"addon\"" >> "$ADDON_WORKSPACE/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 "$ADDON_WORKSPACE":/docker \ - -v ~/.docker:/root/.docker \ - -e DOCKER_PUSH=$DOCKER_PUSH \ - -e DOCKER_CACHE=$DOCKER_CACHE \ - -e DOCKER_WITH_LATEST=$DOCKER_WITH_LATEST \ - -e DOCKER_IMAGE="$DOCKER_IMAGE" \ - -e DOCKER_TAG="$DOCKER_TAG" \ - --name $BUILD_CONTAINER_NAME \ - --privileged \ - homeassistant/docker-build-env \ - /run-docker.sh - -echo "[INFO] cleanup WORKSPACE" -cd "$BUILD_DIR" -rm -rf "$WORKSPACE" - -cleanup "okay" -exit 0