make-release.sh 966 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. VER=$1
  3. PRE=$2
  4. PROJECT=$3
  5. if [ -z "$PRE" ]; then
  6. PRE="true"
  7. fi
  8. if [ -z "$PROJECT" ]; then
  9. echo "Project not specified. Exiting..."
  10. exit 0
  11. fi
  12. echo Creating a new release: $VER: $MSG
  13. IFS="." read -a PARTS <<< "$VER"
  14. MAJOR=${PARTS[0]}
  15. MINOR=${PARTS[1]}
  16. MINOR=$((MINOR+1))
  17. VERN=${MAJOR}.${MINOR}
  18. pushd $GOPATH/src/v2ray.com/core
  19. echo "Adding a new tag: " "v$VER"
  20. git tag -s -a "v$VER" -m "Version ${VER}"
  21. sed -i '' "s/\(version *= *\"\).*\(\"\)/\1$VERN\2/g" core.go
  22. echo "Commiting core.go (may not necessary)"
  23. git commit core.go -S -m "Update version"
  24. echo "Pushing changes"
  25. git push --follow-tags
  26. popd
  27. echo "Launching build machine."
  28. DIR="$(dirname "$0")"
  29. RAND="$(openssl rand -hex 5)"
  30. gcloud compute instances create "v2raycore-${RAND}" \
  31. --machine-type=n1-highcpu-2 \
  32. --metadata=release_tag=v${VER},prerelease=${PRE} \
  33. --metadata-from-file=startup-script=${DIR}/release-ci.sh \
  34. --zone=us-central1-c \
  35. --project ${PROJECT}