go-multiarch-wrapper 923 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/bash -e
  2. DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  3. . "$DIR/.common.sh"
  4. export GOOS=linux
  5. # Determine the correct binary file for the architecture given
  6. case ${TARGETPLATFORM:-} in
  7. linux/arm64)
  8. export GOARCH=arm64
  9. ;;
  10. linux/arm/v7)
  11. export GOARCH=arm
  12. ;;
  13. linux/amd64)
  14. export GOARCH=amd64
  15. ;;
  16. esac
  17. echo -e "${BLUE}❯ ${CYAN}Building binaries for ${YELLOW}${GOARCH} (${TARGETPLATFORM:-})${RESET}"
  18. # server
  19. go build \
  20. -tags 'json1' \
  21. -buildvcs=false \
  22. -ldflags "-w -s -X main.commit=${BUILD_COMMIT:-notset} -X main.version=${BUILD_VERSION}" \
  23. -o "${1:-/dist/server}" \
  24. ./cmd/server
  25. # ipranges
  26. go build \
  27. -buildvcs=false \
  28. -ldflags "-w -s -X main.commit=${BUILD_COMMIT:-notset} -X main.version=${BUILD_VERSION}" \
  29. -o "${2:-/dist/ipranges}" \
  30. ./cmd/ipranges
  31. # test binaries
  32. /dist/server --version
  33. /dist/ipranges --version
  34. echo -e "${BLUE}❯ ${CYAN}Build binaries complete${RESET}"