Ethereum smart contract fuzzer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
echidna/.travis/attach-binary.sh

26 lines
887 B

#!/bin/sh
set -o errexit -o verbose
if test ! "$BUILD_BINARY" || test ! "$TRAVIS_TAG" || ! "$TRAVIS_BRANCH" = "master"
then
echo 'This is not a release build.'
elif test ! "$GITHUB_TOKEN"
then
echo 'The GITHUB_TOKEN environment variable is not set!'
exit 1
else
echo "Building binary for $TRAVIS_OS_NAME to $TRAVIS_TAG..."
stack build --ghc-options -O2 --pedantic
echo "Attaching binary for $TRAVIS_OS_NAME to $TRAVIS_TAG..."
OWNER="$(echo "$TRAVIS_REPO_SLUG" | cut -f1 -d/)"
REPO="$(echo "$TRAVIS_REPO_SLUG" | cut -f2 -d/)"
BIN="$(stack path --local-install-root)/bin/echidna-test"
BUNDLE_NAME="$REPO-$TRAVIS_TAG-$TRAVIS_OS_NAME.tar.gz"
cp "$BIN" "./$REPO"
chmod +x "./$REPO"
tar -czf "$BUNDLE_NAME" "$REPO"
echo "SHA256:"
shasum -a 256 "$BUNDLE_NAME"
ghr -t "$GITHUB_TOKEN" -u "$OWNER" -r "$REPO" --replace "$(git describe --always)" "$BUNDLE_NAME"
fi