|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
VER=$1
|
|
|
|
PROJECT=$2
|
|
|
|
|
|
|
|
DOTCNT=$(echo $VER | grep -o "\." | wc -l)
|
|
|
|
if [ "$DOTCNT" -gt 1 ]; then
|
|
|
|
PRE="true"
|
|
|
|
else
|
|
|
|
PRE="false"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "$PROJECT" ]; then
|
|
|
|
echo "Project not specified. Exiting..."
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo Creating a new release: $VER
|
|
|
|
|
|
|
|
IFS="." read -a PARTS <<< "$VER"
|
|
|
|
MAJOR=${PARTS[0]}
|
|
|
|
MINOR=${PARTS[1]}
|
|
|
|
MINOR=$((MINOR+1))
|
|
|
|
VERN=${MAJOR}.${MINOR}
|
|
|
|
|
|
|
|
pushd $GOPATH/src/v2ray.com/core
|
|
|
|
echo "Adding a new tag: " "v$VER"
|
|
|
|
git tag -s -a "v$VER" -m "Version ${VER}"
|
|
|
|
sed -i '' "s/\(version *= *\"\).*\(\"\)/\1$VERN\2/g" core.go
|
|
|
|
echo "Committing core.go (may not necessary)"
|
|
|
|
git commit core.go -S -m "Update version"
|
|
|
|
echo "Pushing changes"
|
|
|
|
git push --follow-tags
|
|
|
|
popd
|
|
|
|
|
|
|
|
pushd $GOPATH/src/v2ray.com/ext
|
|
|
|
echo "Adding a new tag: " "v$VER" "to ext"
|
|
|
|
git tag -s -a "v$VER" -m "Version ${VER}"
|
|
|
|
echo "Pushing changes to ext"
|
|
|
|
git push --follow-tags
|
|
|
|
popd
|
|
|
|
|
|
|
|
echo "Launching build machine."
|
|
|
|
DIR="$(dirname "$0")"
|
|
|
|
RAND="$(openssl rand -hex 5)"
|
|
|
|
gcloud compute instances create "v2raycore-${RAND}" \
|
|
|
|
--machine-type=n1-highcpu-2 \
|
|
|
|
--metadata=release_tag=v${VER},prerelease=${PRE} \
|
|
|
|
--metadata-from-file=startup-script=${DIR}/release-ci.sh \
|
|
|
|
--zone=europe-west4-c \
|
|
|
|
--project ${PROJECT} \
|
|
|
|
--scopes "https://www.googleapis.com/auth/compute,https://www.googleapis.com/auth/devstorage.read_write" \
|
|
|
|
|