forked from cerc-io/ipld-eth-server
* Add vendor dir so builds dont require dep * Pin specific version go-eth version
This commit is contained in:
+74
@@ -0,0 +1,74 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
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
|
||||
=iic8
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
- Each release note is preceded by a dash
|
||||
- Each release note must not exceed 74 characters per line
|
||||
- Release notes that require a longer explanation than will fit on a
|
||||
single line should be wrapped with the text indented as in this line
|
||||
- No periods at the end of each release note
|
||||
- Other minor cleanup and bug fixes
|
||||
+205
@@ -0,0 +1,205 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2013 Conformal Systems LLC <info@conformal.com>
|
||||
#
|
||||
# Permission to use, copy, modify, and distribute this software for any
|
||||
# purpose with or without fee is hereby granted, provided that the above
|
||||
# copyright notice and this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
#
|
||||
# Prepares for a release:
|
||||
# - Bumps version according to specified level (major, minor, or patch)
|
||||
# - Updates all version files and package control files with new version
|
||||
# - Performs some basic validation on specified release notes
|
||||
# - Updates project changes file with release notes
|
||||
#
|
||||
|
||||
PROJECT=btcd
|
||||
PROJECT_UC=$(echo $PROJECT | tr '[:lower:]' '[:upper:]')
|
||||
SCRIPT=$(basename $0)
|
||||
VERFILE=../version.go
|
||||
VERFILES="$VERFILE ../cmd/btcctl/version.go"
|
||||
PROJ_CHANGES=../CHANGES
|
||||
|
||||
# verify params
|
||||
if [ $# -lt 2 ]; then
|
||||
echo "usage: $SCRIPT {major | minor | patch} release-notes-file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CUR_DIR=$(pwd)
|
||||
cd "$(dirname $0)"
|
||||
|
||||
# verify version files exist
|
||||
for verfile in $VERFILES; do
|
||||
if [ ! -f "$verfile" ]; then
|
||||
echo "$SCRIPT: error: $verfile does not exist" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# verify changes file exists
|
||||
if [ ! -f "$PROJ_CHANGES" ]; then
|
||||
echo "$SCRIPT: error: $PROJ_CHANGES does not exist" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
RTYPE="$1"
|
||||
RELEASE_NOTES="$2"
|
||||
if [ $(echo $RELEASE_NOTES | cut -c1) != "/" ]; then
|
||||
RELEASE_NOTES="$CUR_DIR/$RELEASE_NOTES"
|
||||
fi
|
||||
|
||||
# verify valid release type
|
||||
if [ "$RTYPE" != "major" -a "$RTYPE" != "minor" -a "$RTYPE" != "patch" ]; then
|
||||
echo "$SCRIPT: error: release type must be major, minor, or patch"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# verify release notes
|
||||
if [ ! -e "$RELEASE_NOTES" ]; then
|
||||
echo "$SCRIPT: error: specified release notes file does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -s "$RELEASE_NOTES" ]; then
|
||||
echo "$SCRIPT: error: specified release notes file is empty"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# verify release notes format
|
||||
while IFS='' read line; do
|
||||
if [ -z "$line" ]; then
|
||||
echo "$SCRIPT: error: release notes must not have blank lines"
|
||||
exit 1
|
||||
fi
|
||||
if [ ${#line} -gt 74 ]; then
|
||||
echo -n "$SCRIPT: error: release notes must not contain lines "
|
||||
echo "with more than 74 characters"
|
||||
exit 1
|
||||
fi
|
||||
if expr "$line" : ".*\.$" >/dev/null 2>&1 ; then
|
||||
echo -n "$SCRIPT: error: release notes must not contain lines "
|
||||
echo "that end in a period"
|
||||
exit 1
|
||||
fi
|
||||
if ! expr "$line" : "\-" >/dev/null 2>&1; then
|
||||
if ! expr "$line" : " " >/dev/null 2>&1; then
|
||||
echo -n "$SCRIPT: error: release notes must not contain lines "
|
||||
echo "that do not begin with a dash and are not indented"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done <"$RELEASE_NOTES"
|
||||
|
||||
# verify git is available
|
||||
if ! type git >/dev/null 2>&1; then
|
||||
echo -n "$SCRIPT: error: Unable to find 'git' in the system path."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# verify the git repository is on the master branch
|
||||
BRANCH=$(git branch | grep '\*' | cut -c3-)
|
||||
if [ "$BRANCH" != "master" ]; then
|
||||
echo "$SCRIPT: error: git repository must be on the master branch."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# verify there are no uncommitted modifications prior to release modifications
|
||||
NUM_MODIFIED=$(git diff 2>/dev/null | wc -l | sed 's/^[ \t]*//')
|
||||
NUM_STAGED=$(git diff --cached 2>/dev/null | wc -l | sed 's/^[ \t]*//')
|
||||
if [ "$NUM_MODIFIED" != "0" -o "$NUM_STAGED" != "0" ]; then
|
||||
echo -n "$SCRIPT: error: the working directory contains uncommitted "
|
||||
echo "modifications"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# get version
|
||||
PAT_PREFIX="(^[[:space:]]+app"
|
||||
PAT_SUFFIX='[[:space:]]+uint[[:space:]]+=[[:space:]]+)[0-9]+$'
|
||||
MAJOR=$(egrep "${PAT_PREFIX}Major${PAT_SUFFIX}" $VERFILE | awk '{print $4}')
|
||||
MINOR=$(egrep "${PAT_PREFIX}Minor${PAT_SUFFIX}" $VERFILE | awk '{print $4}')
|
||||
PATCH=$(egrep "${PAT_PREFIX}Patch${PAT_SUFFIX}" $VERFILE | awk '{print $4}')
|
||||
if [ -z "$MAJOR" -o -z "$MINOR" -o -z "$PATCH" ]; then
|
||||
echo "$SCRIPT: error: unable to get version from $VERFILE" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# bump version according to level
|
||||
if [ "$RTYPE" = "major" ]; then
|
||||
MAJOR=$(expr $MAJOR + 1)
|
||||
MINOR=0
|
||||
PATCH=0
|
||||
elif [ "$RTYPE" = "minor" ]; then
|
||||
MINOR=$(expr $MINOR + 1)
|
||||
PATCH=0
|
||||
elif [ "$RTYPE" = "patch" ]; then
|
||||
PATCH=$(expr $PATCH + 1)
|
||||
fi
|
||||
PROJ_VER="$MAJOR.$MINOR.$PATCH"
|
||||
|
||||
# update project changes with release notes
|
||||
DATE=$(date "+%a %b %d %Y")
|
||||
awk -v D="$DATE" -v VER="$PROJ_VER" '
|
||||
/=======/ && first_line==0 {
|
||||
first_line=1
|
||||
print $0
|
||||
next
|
||||
}
|
||||
/=======/ && first_line==1 {
|
||||
print $0
|
||||
print ""
|
||||
print "Changes in "VER" ("D")"
|
||||
exit
|
||||
}
|
||||
{ print $0 }
|
||||
' <"$PROJ_CHANGES" >"${PROJ_CHANGES}.tmp"
|
||||
cat "$RELEASE_NOTES" | sed 's/^/ /' >>"${PROJ_CHANGES}.tmp"
|
||||
awk '
|
||||
/=======/ && first_line==0 {
|
||||
first_line=1
|
||||
next
|
||||
}
|
||||
/=======/ && first_line==1 {
|
||||
second_line=1
|
||||
next
|
||||
}
|
||||
second_line==1 { print $0 }
|
||||
' <"$PROJ_CHANGES" >>"${PROJ_CHANGES}.tmp"
|
||||
|
||||
# update version filef with new version
|
||||
for verfile in $VERFILES; do
|
||||
sed -E "
|
||||
s/${PAT_PREFIX}Major${PAT_SUFFIX}/\1${MAJOR}/;
|
||||
s/${PAT_PREFIX}Minor${PAT_SUFFIX}/\1${MINOR}/;
|
||||
s/${PAT_PREFIX}Patch${PAT_SUFFIX}/\1${PATCH}/;
|
||||
" <"$verfile" >"${verfile}.tmp"
|
||||
done
|
||||
|
||||
|
||||
# Apply changes
|
||||
mv "${PROJ_CHANGES}.tmp" "$PROJ_CHANGES"
|
||||
for verfile in $VERFILES; do
|
||||
mv "${verfile}.tmp" "$verfile"
|
||||
done
|
||||
|
||||
echo "All files have been prepared for release."
|
||||
echo "Use the following commands to review the changes for accuracy:"
|
||||
echo " git status"
|
||||
echo " git diff"
|
||||
echo ""
|
||||
echo "If everything is accurate, use the following commands to commit, tag,"
|
||||
echo "and push the changes"
|
||||
echo " git commit -am \"Prepare for release ${PROJ_VER}.\""
|
||||
echo -n " git tag -a \"${PROJECT_UC}_${MAJOR}_${MINOR}_${PATCH}\" -m "
|
||||
echo "\"Release ${PROJ_VER}\""
|
||||
echo " git push"
|
||||
echo " git push --tags"
|
||||
Reference in New Issue
Block a user