aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/bytecodecompare/storebytecode.sh3
-rwxr-xr-xscripts/create_source_tarball.sh6
-rwxr-xr-xscripts/docker_deploy.sh2
-rwxr-xr-xscripts/get_version.sh31
-rwxr-xr-xscripts/release_ppa.sh32
-rwxr-xr-xscripts/test_emscripten.sh53
-rwxr-xr-xscripts/travis-emscripten/build_emscripten.sh2
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'