multiarch-build.sh 791 B

123456789101112131415161718192021222324252627282930
  1. #!/bin/bash
  2. # Needs https://github.com/tonistiigi/binfmt to work
  3. SRCDIR="`pwd`"
  4. BUILDDIR="$SRCDIR/multiarch-build"
  5. SRC_DOCKERFILE="$SRCDIR/Dockerfile"
  6. GIT_HASH=`git rev-parse --short HEAD`
  7. GIT_TAG=`git tag --contains $GIT_HASH`
  8. if [[ -z "$GIT_TAG" ]]; then
  9. PRINTABLE_VERSION=$GIT_HASH
  10. else
  11. PRINTABLE_VERSION=$GIT_TAG
  12. fi
  13. DOCKER_ID="gdr1/tuntox"
  14. if [ ! -d "$BUILDDIR" ]; then mkdir -p "$BUILDDIR"; fi
  15. cp -R "$SRCDIR/scripts" "$BUILDDIR/"
  16. for PLATFORM in arm32v6 arm32v7 arm64v8 amd64 arm32v5 ppc64le s390x mips64le riscv64 i386; do
  17. cd "$BUILDDIR"
  18. echo $PLATFORM;
  19. sed -e "s#alpine#$PLATFORM/alpine#g" <"$SRC_DOCKERFILE" >Dockerfile
  20. docker build -t $DOCKER_ID:$PLATFORM .
  21. docker run --rm -it $DOCKER_ID:$PLATFORM cat /usr/bin/tuntox >tuntox-$PRINTABLE_VERSION-linux-$PLATFORM
  22. done