diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ddfaf343..035d464cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ # Changelog -## 0.4.0 (TBD) +## 0.4.1 (April 26, 2017) + +BUG FIXES: + +- Fix bug in `basecoin unsafe_reset_X` where the `priv_validator.json` was not being reset + +## 0.4.0 (April 21, 2017) BREAKING CHANGES: diff --git a/cmd/commands/reset.go b/cmd/commands/reset.go index d1b4dfbbc..7c532fbef 100644 --- a/cmd/commands/reset.go +++ b/cmd/commands/reset.go @@ -1,8 +1,6 @@ package commands import ( - "path" - "github.com/spf13/cobra" tmcmd "github.com/tendermint/tendermint/cmd/tendermint/commands" @@ -17,9 +15,7 @@ var UnsafeResetAllCmd = &cobra.Command{ func unsafeResetAllCmd(cmd *cobra.Command, args []string) error { basecoinDir := BasecoinRoot("") - tmDir := path.Join(basecoinDir) - tmConfig := tmcfg.GetConfig(tmDir) - + tmConfig := tmcfg.GetConfig(basecoinDir) tmcmd.ResetAll(tmConfig, log) return nil } diff --git a/docs/guide/basecoin-basics.md b/docs/guide/basecoin-basics.md index 9ecb08c44..3cc179038 100644 --- a/docs/guide/basecoin-basics.md +++ b/docs/guide/basecoin-basics.md @@ -41,6 +41,7 @@ If you take a look at the `genesis.json` file, you will see one account listed t This account corresponds to the private key in `key.json`. We also included the private key for another account, in `key2.json`. +Leave basecoin running and open a new terminal window. Let's check the balance of these two accounts: ``` diff --git a/glide.lock b/glide.lock index bc150cd7d..4c67c14d6 100644 --- a/glide.lock +++ b/glide.lock @@ -107,7 +107,7 @@ imports: - app - client - name: github.com/tendermint/tendermint - version: e8cad948e366cd1d0a9ebef642073f4ade9899e9 + version: 6bcd4242f1f336e2b2ef4f644fabaf56222b34d0 subpackages: - blockchain - cmd/tendermint/commands diff --git a/scripts/basecoin-builder/Dockerfile b/scripts/basecoin-builder/Dockerfile new file mode 100644 index 000000000..28726034b --- /dev/null +++ b/scripts/basecoin-builder/Dockerfile @@ -0,0 +1,12 @@ +FROM golang:1.7.4 + +RUN apt-get update && apt-get install -y --no-install-recommends \ + zip \ + && rm -rf /var/lib/apt/lists/* + +# We want to ensure that release builds never have any cgo dependencies so we +# switch that off at the highest level. +ENV CGO_ENABLED 0 + +RUN mkdir -p $GOPATH/src/github.com/tendermint/basecoin +WORKDIR $GOPATH/src/github.com/tendermint/basecoin diff --git a/scripts/dist.sh b/scripts/dist.sh new file mode 100755 index 000000000..f5abc0ad4 --- /dev/null +++ b/scripts/dist.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +set -e + +REPO_NAME="basecoin" + +# Get the version from the environment, or try to figure it out. +if [ -z $VERSION ]; then + VERSION=$(awk -F\" '/Version =/ { print $2; exit }' < version/version.go) +fi +if [ -z "$VERSION" ]; then + echo "Please specify a version." + exit 1 +fi +echo "==> Building version $VERSION..." + +# Get the parent directory of where this script is. +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done +DIR="$( cd -P "$( dirname "$SOURCE" )/.." && pwd )" + +# Change into that dir because we expect that. +cd "$DIR" + +# Generate the tag. +if [ -z "$NOTAG" ]; then + echo "==> Tagging..." + git commit --allow-empty -a -m "Release v$VERSION" + git tag -a -m "Version $VERSION" "v${VERSION}" master +fi + +# Do a hermetic build inside a Docker container. +docker build -t tendermint/${REPO_NAME}-builder scripts/${REPO_NAME}-builder/ +docker run --rm -e "BUILD_TAGS=$BUILD_TAGS" -v "$(pwd)":/go/src/github.com/tendermint/${REPO_NAME} tendermint/${REPO_NAME}-builder ./scripts/dist_build.sh + +# Add $REPO_NAME and $VERSION prefix to package name. +rm -rf ./build/dist +mkdir -p ./build/dist +for FILENAME in $(find ./build/pkg -mindepth 1 -maxdepth 1 -type f); do + FILENAME=$(basename "$FILENAME") + cp "./build/pkg/${FILENAME}" "./build/dist/${REPO_NAME}_${VERSION}_${FILENAME}" +done + +# Make the checksums. +pushd ./build/dist +shasum -a256 ./* > "./${REPO_NAME}_${VERSION}_SHA256SUMS" +popd + +# Done +echo +echo "==> Results:" +ls -hl ./build/dist + +exit 0 diff --git a/scripts/dist_build.sh b/scripts/dist_build.sh new file mode 100755 index 000000000..2812bef8a --- /dev/null +++ b/scripts/dist_build.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +set -e + +# Get the parent directory of where this script is. +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done +DIR="$( cd -P "$( dirname "$SOURCE" )/.." && pwd )" + +# Change into that dir because we expect that. +cd "$DIR" + +# Get the git commit +GIT_COMMIT="$(git rev-parse --short HEAD)" +GIT_DESCRIBE="$(git describe --tags --always)" +GIT_IMPORT="github.com/tendermint/basecoin/version" + +# Determine the arch/os combos we're building for +XC_ARCH=${XC_ARCH:-"386 amd64 arm"} +XC_OS=${XC_OS:-"solaris darwin freebsd linux windows"} + +# Delete the old dir +echo "==> Removing old directory..." +rm -rf build/pkg +mkdir -p build/pkg + +# Make sure build tools are available. +make tools + +# Get VENDORED dependencies +make get_vendor_deps + +# Build! +echo "==> Building..." +"$(which gox)" \ + -os="${XC_OS}" \ + -arch="${XC_ARCH}" \ + -osarch="!darwin/arm !solaris/amd64 !freebsd/amd64" \ + -ldflags "-X ${GIT_IMPORT}.GitCommit='${GIT_COMMIT}' -X ${GIT_IMPORT}.GitDescribe='${GIT_DESCRIBE}'" \ + -output "build/pkg/{{.OS}}_{{.Arch}}/basecoin" \ + -tags="${BUILD_TAGS}" \ + github.com/tendermint/basecoin/cmd/basecoin + +# Zip all the files. +echo "==> Packaging..." +for PLATFORM in $(find ./build/pkg -mindepth 1 -maxdepth 1 -type d); do + OSARCH=$(basename "${PLATFORM}") + echo "--> ${OSARCH}" + + pushd "$PLATFORM" >/dev/null 2>&1 + zip "../${OSARCH}.zip" ./* + popd >/dev/null 2>&1 +done + + +exit 0 diff --git a/version/version.go b/version/version.go index ae549d083..382282305 100644 --- a/version/version.go +++ b/version/version.go @@ -2,6 +2,6 @@ package version const Maj = "0" const Min = "4" -const Fix = "0" +const Fix = "1" -const Version = Maj + "." + Min + "." + Fix +const Version = "0.4.1"