aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-07-03 20:52:29 +0800
committerGitHub <noreply@github.com>2017-07-03 20:52:29 +0800
commit76d3b7c5a160e1f550c710e6850ee6f116142ca1 (patch)
tree93c96f7073617b4f56c8c355cdc30701aec4818b /scripts
parent78969364608ba60d1654f4d1738886d13112b6cd (diff)
parent2222ddecf49b5b901f63b9e7449ee76c9f51c47a (diff)
downloaddexon-solidity-76d3b7c5a160e1f550c710e6850ee6f116142ca1.tar.gz
dexon-solidity-76d3b7c5a160e1f550c710e6850ee6f116142ca1.tar.zst
dexon-solidity-76d3b7c5a160e1f550c710e6850ee6f116142ca1.zip
Merge pull request #2510 from ethereum/develop
Version 0.4.12
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/bytecodecompare/prepare_report.py2
-rw-r--r--scripts/bytecodecompare/storebytecode.bat13
-rwxr-xr-xscripts/bytecodecompare/storebytecode.sh19
-rwxr-xr-xscripts/create_source_tarball.sh2
-rwxr-xr-xscripts/docker_deploy.sh2
-rwxr-xr-xscripts/get_version.sh31
-rwxr-xr-xscripts/release_ppa.sh10
-rwxr-xr-xscripts/test_emscripten.sh53
-rwxr-xr-xscripts/travis-emscripten/build_emscripten.sh2
9 files changed, 113 insertions, 21 deletions
diff --git a/scripts/bytecodecompare/prepare_report.py b/scripts/bytecodecompare/prepare_report.py
index 5a770981..427724b7 100755
--- a/scripts/bytecodecompare/prepare_report.py
+++ b/scripts/bytecodecompare/prepare_report.py
@@ -6,7 +6,7 @@ import subprocess
import json
solc = sys.argv[1]
-report = open("report.txt", "w")
+report = open("report.txt", "wb")
for optimize in [False, True]:
for f in sorted(glob.glob("*.sol")):
diff --git a/scripts/bytecodecompare/storebytecode.bat b/scripts/bytecodecompare/storebytecode.bat
index 969a42a4..e64e9276 100644
--- a/scripts/bytecodecompare/storebytecode.bat
+++ b/scripts/bytecodecompare/storebytecode.bat
@@ -20,22 +20,23 @@ REM Copyright (c) 2017 solidity contributors.
REM ---------------------------------------------------------------------------
set CONFIGURATION=%1
-set COMMIT=%2
+set DIRECTORY=%2
mkdir bytecode
cd bytecode
..\scripts\isolate_tests.py ..\test\
..\scripts\bytecodecompare\prepare_report.py ..\build\solc\%CONFIGURATION%\solc.exe
-git clone --depth 2 git@github.com:ethereum/solidity-test-bytecode.git
+REM Send to stdout instead of stderr to not confuse powershell
+git clone --depth 2 git@github.com:ethereum/solidity-test-bytecode.git 2>&1
cd solidity-test-bytecode
git config user.name "travis"
git config user.email "chris@ethereum.org"
-git clean -f -d -x
+git clean -f -d -x 2>&1
-mkdir %COMMIT%
-set REPORT=%COMMIT%/windows.txt
+if not exist %DIRECTORY% mkdir %DIRECTORY%
+set REPORT=%DIRECTORY%/windows.txt
cp ../report.txt %REPORT%
git add %REPORT%
git commit -a -m "Added report."
-git push origin
+git push origin 2>&1
diff --git a/scripts/bytecodecompare/storebytecode.sh b/scripts/bytecodecompare/storebytecode.sh
index 9a40bc6d..564de3f8 100755
--- a/scripts/bytecodecompare/storebytecode.sh
+++ b/scripts/bytecodecompare/storebytecode.sh
@@ -93,12 +93,19 @@ EOF
git config user.email "chris@ethereum.org"
git clean -f -d -x
- mkdir -p "$TRAVIS_COMMIT"
- REPORT="$TRAVIS_COMMIT/$ZIP_SUFFIX.txt"
+ DIRNAME=$(cd "$REPO_ROOT" && git show -s --format="%cd-%H" --date=short)
+ mkdir -p "$DIRNAME"
+ REPORT="$DIRNAME/$ZIP_SUFFIX.txt"
cp ../report.txt "$REPORT"
- git add "$REPORT"
- git commit -a -m "Added report $REPORT"
- git push origin
+ # Only push if adding actually worked, i.e. there were changes.
+ if git add "$REPORT"
+ then
+ git commit -a -m "Added report $REPORT"
+ git pull --rebase
+ git push origin
+ else
+ echo "Adding report failed, it might already exist in the repository."
+ fi
fi
)
-rm -rf "$TMPDIR" \ No newline at end of file
+rm -rf "$TMPDIR"
diff --git a/scripts/create_source_tarball.sh b/scripts/create_source_tarball.sh
index 553786ba..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?/./')
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 86288c47..7c9abecb 100755
--- a/scripts/release_ppa.sh
+++ b/scripts/release_ppa.sh
@@ -39,7 +39,7 @@ keyid=703F83D0
email=builds@ethereum.org
packagename=solc
-for distribution in trusty vivid wily xenial yakkety
+for distribution in trusty vivid xenial yakkety zesty
do
cd /tmp/
mkdir $distribution
@@ -55,10 +55,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 ]
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'