diff --git a/scripts/docker-run-command.sh b/scripts/docker-run-command.sh deleted file mode 100755 index 68dc15d0..00000000 --- a/scripts/docker-run-command.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash - -### -# Copyright 2016 resin.io -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -### - -set -u -set -e - -function usage() { - echo "Usage: $0" - echo "" - echo "Options" - echo "" - echo " -d " - echo " -s " - echo " -c " - exit 1 -} - -ARGV_DOCKERFILE="" -ARGV_SOURCE_CODE_DIRECTORY="" -ARGV_COMMAND="" - -while getopts ":d:s:c:" option; do - case $option in - d) ARGV_DOCKERFILE=$OPTARG ;; - s) ARGV_SOURCE_CODE_DIRECTORY=$OPTARG ;; - c) ARGV_COMMAND=$OPTARG ;; - *) usage ;; - esac -done - -if [ -z "$ARGV_DOCKERFILE" ] \ - || [ -z "$ARGV_SOURCE_CODE_DIRECTORY" ] \ - || [ -z "$ARGV_COMMAND" ] -then - usage -fi - -IMAGE_ID="etcher-build-$(basename "$ARGV_DOCKERFILE")" -docker build -f "$ARGV_DOCKERFILE" -t "$IMAGE_ID" "$ARGV_SOURCE_CODE_DIRECTORY" - -# Docker complains with: ". includes invalid characters for a local -# volume name, only [a-zA-Z0-9][a-zA-Z0-9_.-] are allowed" otherwise -if [ "$ARGV_SOURCE_CODE_DIRECTORY" == "." ] || - [ "$ARGV_SOURCE_CODE_DIRECTORY" == "./" ] -then - ARGV_SOURCE_CODE_DIRECTORY="$PWD" -fi - -# Fairly ugly code that only passes environment variables into Docker when they're actually set -# see http://stackoverflow.com/a/13864829 -# and http://mywiki.wooledge.org/BashFAQ/050 -# and http://stackoverflow.com/a/7577209 -DOCKER_ENVVARS=() -for COPYVAR in AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY ANALYTICS_SENTRY_TOKEN ANALYTICS_MIXPANEL_TOKEN CI; do - eval "if [ ! -z \${$COPYVAR+x} ]; then DOCKER_ENVVARS+=(\"--env\" \"$COPYVAR=\$$COPYVAR\"); fi" -done - -# The SYS_ADMIN capability and FUSE host device declarations -# are needed to be able to build an AppImage -# The `-t` and TERM setup is needed to display coloured output. -docker run -t \ - --env "TERM=xterm-256color" \ - ${DOCKER_ENVVARS[@]+"${DOCKER_ENVVARS[@]}"} \ - --privileged \ - --cap-add SYS_ADMIN \ - --device /dev/fuse:/dev/fuse:mrw \ - --volume "$ARGV_SOURCE_CODE_DIRECTORY:/etcher" \ - "$IMAGE_ID" /bin/bash -c "cd /etcher && $ARGV_COMMAND"