1*387f9dfdSAndroid Build Coastguard Worker#!/bin/bash 2*387f9dfdSAndroid Build Coastguard Workerset -e 3*387f9dfdSAndroid Build Coastguard Worker# Builds debian packages using docker wrapper 4*387f9dfdSAndroid Build Coastguard Worker 5*387f9dfdSAndroid Build Coastguard Workerfunction help() { 6*387f9dfdSAndroid Build Coastguard Worker message=$1 7*387f9dfdSAndroid Build Coastguard Worker echo "USAGE: build.sh DOCKER_REPO DOCKER_TAG OS_TAG [DISTRO]" 8*387f9dfdSAndroid Build Coastguard Worker echo "hint: ${message}" 9*387f9dfdSAndroid Build Coastguard Worker} 10*387f9dfdSAndroid Build Coastguard Worker 11*387f9dfdSAndroid Build Coastguard Workerdocker_repo=$1 12*387f9dfdSAndroid Build Coastguard Workerdocker_tag=$2 13*387f9dfdSAndroid Build Coastguard Workeros_tag=$3 14*387f9dfdSAndroid Build Coastguard Workerdistro=${4:-ubuntu} 15*387f9dfdSAndroid Build Coastguard Worker 16*387f9dfdSAndroid Build Coastguard Worker[ -z "${docker_repo}" ] && help "You must specify repo, eg: quay.io/iovisoc/bcc" && exit 1 17*387f9dfdSAndroid Build Coastguard Worker[ -z "${docker_tag}" ] && help "You must specify tag, eg: bionic-release-master, latest, SHA, git tag, etc " && exit 1 18*387f9dfdSAndroid Build Coastguard Worker[ -z "${os_tag}" ] && help "You must specify os tag, eg: 18.04, bionic, etc " && exit 1 19*387f9dfdSAndroid Build Coastguard Worker 20*387f9dfdSAndroid Build Coastguard Worker 21*387f9dfdSAndroid Build Coastguard Worker# The main docker image build, 22*387f9dfdSAndroid Build Coastguard Workerecho "Building ${distro} ${os_tag} release docker image for ${docker_repo}:${docker_tag}" 23*387f9dfdSAndroid Build Coastguard Workerdocker build -t ${docker_repo}:${docker_tag} --build-arg OS_TAG=${os_tag} -f docker/Dockerfile.${distro} . 24*387f9dfdSAndroid Build Coastguard Worker 25*387f9dfdSAndroid Build Coastguard Workerecho "Copying build artifacts to $(pwd)/output" 26*387f9dfdSAndroid Build Coastguard Workermkdir -p output 27*387f9dfdSAndroid Build Coastguard Workerdocker run -v $(pwd)/output:/output ${docker_repo}:${docker_tag} /bin/bash -c "cp /root/bcc/* /output" 28