release.sh 822 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env bash
  2. #
  3. # Build all release binaries and images to directory ./release.
  4. # Run from repository root.
  5. #
  6. set -e
  7. ARCH=$(go env GOARCH)
  8. VERSION=$1
  9. if [ -z "${VERSION}" ]; then
  10. echo "Usage: ${0} VERSION" >> /dev/stderr
  11. exit 255
  12. fi
  13. if ! command -v acbuild >/dev/null; then
  14. echo "cannot find acbuild"
  15. exit 1
  16. fi
  17. if ! command -v docker >/dev/null; then
  18. echo "cannot find docker"
  19. exit 1
  20. fi
  21. ETCD_ROOT=$(dirname "${BASH_SOURCE}")/..
  22. pushd ${ETCD_ROOT} >/dev/null
  23. echo Building etcd binary...
  24. ./scripts/build-binary ${VERSION}
  25. echo Building aci image...
  26. BINARYDIR=release/etcd-${VERSION}-linux-amd64 BUILDDIR=release ./scripts/build-aci ${VERSION}
  27. echo Building docker image...
  28. BINARYDIR=release/etcd-${VERSION}-linux-${ARCH} BUILDDIR=release ./scripts/build-docker ${VERSION}
  29. popd >/dev/null