diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/bytecodecompare/storebytecode.sh | 3 | ||||
-rwxr-xr-x | scripts/create_source_tarball.sh | 6 | ||||
-rwxr-xr-x | scripts/docker_deploy.sh | 2 | ||||
-rwxr-xr-x | scripts/get_version.sh | 31 | ||||
-rwxr-xr-x | scripts/release_ppa.sh | 32 | ||||
-rwxr-xr-x | scripts/test_emscripten.sh | 53 | ||||
-rwxr-xr-x | scripts/travis-emscripten/build_emscripten.sh | 2 |
7 files changed, 116 insertions, 13 deletions
diff --git a/scripts/bytecodecompare/storebytecode.sh b/scripts/bytecodecompare/storebytecode.sh index 564de3f8..8d4100bf 100755 --- a/scripts/bytecodecompare/storebytecode.sh +++ b/scripts/bytecodecompare/storebytecode.sh @@ -98,9 +98,8 @@ EOF REPORT="$DIRNAME/$ZIP_SUFFIX.txt" cp ../report.txt "$REPORT" # Only push if adding actually worked, i.e. there were changes. - if git add "$REPORT" + if git add "$REPORT" && git commit -a -m "Added report $REPORT" then - git commit -a -m "Added report $REPORT" git pull --rebase git push origin else diff --git a/scripts/create_source_tarball.sh b/scripts/create_source_tarball.sh index 9ca72c31..9e66799a 100755 --- a/scripts/create_source_tarball.sh +++ b/scripts/create_source_tarball.sh @@ -6,7 +6,7 @@ set -e REPO_ROOT="$(dirname "$0")"/.. ( cd "$REPO_ROOT" - version=$(grep -oP "PROJECT_VERSION \"?\K[0-9.]+(?=\")"? CMakeLists.txt) + version=$(scripts/get_version.sh) commithash=$(git rev-parse --short=8 HEAD) commitdate=$(git show --format=%ci HEAD | head -n 1 | cut - -b1-10 | sed -e 's/-0?/./' | sed -e 's/-0?/./') @@ -26,6 +26,10 @@ REPO_ROOT="$(dirname "$0")"/.. git submodule foreach 'git checkout-index -a --prefix="'"$SOLDIR"'/$path/"' # Store the commit hash echo "$commithash" > "$SOLDIR/commit_hash.txt" + if [ -e prerelease.txt -a ! -s prerelease.txt ] + then + cp prerelease.txt "$SOLDIR/" + fi # Add dependencies mkdir -p "$SOLDIR/deps/downloads/" 2>/dev/null || true wget -O "$SOLDIR/deps/downloads/jsoncpp-1.7.7.tar.gz" https://github.com/open-source-parsers/jsoncpp/archive/1.7.7.tar.gz diff --git a/scripts/docker_deploy.sh b/scripts/docker_deploy.sh index 0abde840..00705725 100755 --- a/scripts/docker_deploy.sh +++ b/scripts/docker_deploy.sh @@ -3,7 +3,7 @@ set -e docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"; -version=$(grep -oP "PROJECT_VERSION \"?\K[0-9.]+(?=\")"? $(dirname "$0")/../CMakeLists.txt) +version=$($(dirname "$0")/get_version.sh) if [ "$TRAVIS_BRANCH" = "develop" ] then docker tag ethereum/solc:build ethereum/solc:nightly; diff --git a/scripts/get_version.sh b/scripts/get_version.sh new file mode 100755 index 00000000..3df2b4c4 --- /dev/null +++ b/scripts/get_version.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +#------------------------------------------------------------------------------ +# Bash script to execute the Solidity tests. +# +# The documentation for solidity is hosted at: +# +# https://solidity.readthedocs.org +# +# ------------------------------------------------------------------------------ +# This file is part of solidity. +# +# solidity is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# solidity is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with solidity. If not, see <http://www.gnu.org/licenses/> +# +# (c) 2017 solidity contributors. +#------------------------------------------------------------------------------ + +set -e + +grep -oP "PROJECT_VERSION \"?\K[0-9.]+(?=\")"? $(dirname "$0")/../CMakeLists.txt diff --git a/scripts/release_ppa.sh b/scripts/release_ppa.sh index 5e01347b..4fae90ef 100755 --- a/scripts/release_ppa.sh +++ b/scripts/release_ppa.sh @@ -15,6 +15,21 @@ ## It will clone the Solidity git from github, determine the version, ## create a source archive and push it to the ubuntu ppa servers. ## +## This requires the following entries in /etc/dput.cf: +## +## [ethereum-dev] +## fqdn = ppa.launchpad.net +## method = ftp +## incoming = ~ethereum/ethereum-dev +## login = anonymous +## +## [ethereum] +## fqdn = ppa.launchpad.net +## method = ftp +## incoming = ~ethereum/ethereum +## login = anonymous + +## ############################################################################## set -ev @@ -28,10 +43,10 @@ fi if [ "$branch" = develop ] then - pparepo=ethereum/ethereum-dev + pparepo=ethereum-dev ppafilesurl=https://launchpad.net/~ethereum/+archive/ubuntu/ethereum-dev/+files else - pparepo=ethereum/ethereum + pparepo=ethereum ppafilesurl=https://launchpad.net/~ethereum/+archive/ubuntu/ethereum/+files fi @@ -55,10 +70,10 @@ wget -O ./solc/deps/downloads/jsoncpp-1.7.7.tar.gz https://github.com/open-sourc # Determine version cd solc -version=`grep -oP "PROJECT_VERSION \"?\K[0-9.]+(?=\")"? CMakeLists.txt` -commithash=`git rev-parse --short=8 HEAD` -committimestamp=`git show --format=%ci HEAD | head -n 1` -commitdate=`git show --format=%ci HEAD | head -n 1 | cut - -b1-10 | sed -e 's/-0?/./' | sed -e 's/-0?/./'` +version=$($(dirname "$0")/get_version.sh) +commithash=$(git rev-parse --short=8 HEAD) +committimestamp=$(git show --format=%ci HEAD | head -n 1) +commitdate=$(git show --format=%ci HEAD | head -n 1 | cut - -b1-10 | sed -e 's/-0?/./' | sed -e 's/-0?/./') echo "$commithash" > commit_hash.txt if [ $branch = develop ] @@ -192,7 +207,8 @@ EMAIL="$email" dch -v 1:${debversion}-${versionsuffix} "git build of ${commithas # build source package # If packages is rejected because original source is already present, add # -sd to remove it from the .changes file -debuild -S -sa -us -uc +# -d disables the build dependencies check +debuild -S -d -sa -us -uc # prepare .changes file for Launchpad sed -i -e s/UNRELEASED/${distribution}/ -e s/urgency=medium/urgency=low/ ../*.changes @@ -223,6 +239,6 @@ fi debsign --re-sign -k ${keyid} ../${packagename}_${debversion}-${versionsuffix}_source.changes # upload -dput ppa:${pparepo} ../${packagename}_${debversion}-${versionsuffix}_source.changes +dput ${pparepo} ../${packagename}_${debversion}-${versionsuffix}_source.changes done diff --git a/scripts/test_emscripten.sh b/scripts/test_emscripten.sh new file mode 100755 index 00000000..a2dbe61c --- /dev/null +++ b/scripts/test_emscripten.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash + +#------------------------------------------------------------------------------ +# Bash script to execute the Solidity tests. +# +# The documentation for solidity is hosted at: +# +# https://solidity.readthedocs.org +# +# ------------------------------------------------------------------------------ +# This file is part of solidity. +# +# solidity is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# solidity is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with solidity. If not, see <http://www.gnu.org/licenses/> +# +# (c) 2017 solidity contributors. +#------------------------------------------------------------------------------ + +set -e + +REPO_ROOT="$(dirname "$0")"/.. + +cd $REPO_ROOT/build + +echo "Preparing solc-js..." +rm -rf solc-js +git clone https://github.com/ethereum/solc-js +cd solc-js +npm install + +# Replace soljson with current build +echo "Replacing soljson.js" +rm -f soljson.js +# Make a copy because paths might not be absolute +cp ../solc/soljson.js soljson.js + +# Update version (needed for some tests) +VERSION=$(../../scripts/get_version.sh) +echo "Updating package.json to version $VERSION" +npm version $VERSION + +echo "Running solc-js tests..." +npm run test diff --git a/scripts/travis-emscripten/build_emscripten.sh b/scripts/travis-emscripten/build_emscripten.sh index 02740e6c..f92b3c44 100755 --- a/scripts/travis-emscripten/build_emscripten.sh +++ b/scripts/travis-emscripten/build_emscripten.sh @@ -99,6 +99,6 @@ cp soljson.js upload/ OUTPUT_SIZE=`ls -la build/solc/soljson.js` -echo "Emscripten output size: ${OUTPUT_SIZE}" +echo "Emscripten output size: $OUTPUT_SIZE" echo -en 'travis_fold:end:compiling_solidity\\r' |