build.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/bin/bash
  2. set -euo pipefail
  3. IFS=$'\n\t'
  4. ZT_NAME="$1" ; shift
  5. DISTRO="$1" ; shift
  6. ZT_ISA="$1" ; shift
  7. VERSION="$1" ; shift
  8. BUILD_EVENT="$1" ; shift
  9. source "$(dirname $0)/lib.sh"
  10. if [ -f "ci/Dockerfile-build.${ZT_NAME}" ]; then
  11. DOCKERFILE="ci/Dockerfile-build.${ZT_NAME}"
  12. else
  13. DOCKERFILE="ci/Dockerfile-build.${PKGFMT}"
  14. fi
  15. echo "#~~~~~~~~~~~~~~~~~~~~"
  16. echo "$0 variables:"
  17. echo "nproc: $(nproc)"
  18. echo "ZT_NAME: ${ZT_NAME}"
  19. echo "DISTRO: ${DISTRO}"
  20. echo "ZT_ISA: ${ZT_ISA}"
  21. echo "VERSION: ${VERSION}"
  22. echo "BUILD_EVENT: ${BUILD_EVENT}"
  23. echo "DOCKER_ARCH: ${DOCKER_ARCH}"
  24. echo "DNF_ARCH: ${DNF_ARCH}"
  25. echo "RUST_TRIPLET: ${RUST_TRIPLET}"
  26. echo "PKGFMT: ${PKGFMT}"
  27. echo "PWD: ${PWD}"
  28. echo "DOCKERFILE: ${DOCKERFILE}"
  29. echo "#~~~~~~~~~~~~~~~~~~~~"
  30. make munge_rpm zerotier-one.spec VERSION=${VERSION}
  31. make munge_deb debian/changelog VERSION=${VERSION}
  32. docker buildx build \
  33. --no-cache=true \
  34. --build-arg ZT_NAME="${ZT_NAME}" \
  35. --build-arg RUST_TRIPLET="${RUST_TRIPLET}" \
  36. --build-arg DOCKER_ARCH="${DOCKER_ARCH}" \
  37. --build-arg DNF_ARCH="${DNF_ARCH}" \
  38. --platform linux/${DOCKER_ARCH} \
  39. -f ${DOCKERFILE} \
  40. -t build \
  41. . \
  42. --output type=local,dest=. \
  43. --target export