-
Notifications
You must be signed in to change notification settings - Fork 33
/
buildnow.sh
executable file
·39 lines (28 loc) · 1.13 KB
/
buildnow.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
# shellcheck disable=SC2086,SC2162,SC2153
## LOCAL BUILD SCRIPT FOR KX1T -- YOU CAN IGNORE THIS FILE
[[ "$1" != "" ]] && BRANCH="$1" || BRANCH="$(git branch --show-current)"
[[ "$BRANCH" == "main" ]] && TAG="latest" || TAG="$BRANCH"
[[ "$ARCHS" == "" ]] && ARCHS="linux/armhf,linux/arm64,linux/amd64"
BASETARGET1=ghcr.io/sdr-enthusiasts
BASETARGET2=kx1t
IMAGE1="$BASETARGET1/$(pwd | sed -n 's|.*/\(docker-.*\)|\1|p'):$TAG"
IMAGE2="$BASETARGET2/$(pwd | sed -n 's|.*/docker-\(.*\)|\1|p'):$TAG"
echo "press enter to start building $IMAGE1 and $IMAGE2 from $BRANCH"
read
git checkout $BRANCH
starttime="$(date +%s)"
# rebuild the container
set -x
# git pull -a
cp -f Dockerfile Dockerfile.tmp-backup
if [[ "$(uname -s)" == "Darwin" ]]
then
sed -i '' 's/##BRANCH##/'"$BRANCH"'/g' Dockerfile
else
sed -i 's/##BRANCH##/'"$BRANCH"'/g' Dockerfile
fi
docker buildx build -f Dockerfile --compress --push $2 --platform $ARCHS --tag "$IMAGE1" .
[[ $? ]] && docker buildx build --compress --push $2 --platform $ARCHS --tag $IMAGE2 .
mv -f Dockerfile.tmp-backup Dockerfile
echo "Total build time: $(( $(date +%s) - starttime )) seconds"