-
Notifications
You must be signed in to change notification settings - Fork 5.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5416 from ethereum/develop
Merge develop into release for 0.5.0
- Loading branch information
Showing
1,974 changed files
with
46,207 additions
and
28,258 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,332 @@ | ||
defaults: | ||
# The default for tags is to not run, so we have to explicitly match a filter. | ||
- build_on_tags: &build_on_tags | ||
filters: | ||
tags: | ||
only: /.*/ | ||
- setup_prerelease_commit_hash: &setup_prerelease_commit_hash | ||
name: Store commit hash and prerelease | ||
command: | | ||
if [ "$CIRCLE_BRANCH" = release -o -n "$CIRCLE_TAG" ]; then echo -n > prerelease.txt; else date -u +"nightly.%Y.%-m.%-d" > prerelease.txt; fi | ||
echo -n "$CIRCLE_SHA1" > commit_hash.txt | ||
- run_build: &run_build | ||
name: Build | ||
command: | | ||
mkdir -p build | ||
cd build | ||
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo $CMAKE_OPTIONS | ||
make -j4 | ||
- run_tests: &run_tests | ||
name: Tests | ||
command: scripts/tests.sh --junit_report test_results | ||
- solc_artifact: &solc_artifact | ||
path: build/solc/solc | ||
destination: solc | ||
- all_artifacts: &all_artifacts | ||
root: build | ||
paths: | ||
- solc/solc | ||
- test/soltest | ||
- test/tools/solfuzzer | ||
|
||
version: 2 | ||
jobs: | ||
build_emscripten: | ||
docker: | ||
- image: trzeci/emscripten:sdk-tag-1.37.21-64bit | ||
environment: | ||
TERM: xterm | ||
steps: | ||
- checkout | ||
- restore_cache: | ||
name: Restore Boost build | ||
key: &boost-cache-key emscripten-boost-{{ checksum "scripts/travis-emscripten/install_deps.sh" }}{{ checksum "scripts/travis-emscripten/build_emscripten.sh" }} | ||
- run: | ||
name: Bootstrap Boost | ||
command: | | ||
scripts/travis-emscripten/install_deps.sh | ||
- run: | ||
name: Build | ||
command: | | ||
scripts/travis-emscripten/build_emscripten.sh | ||
- save_cache: | ||
name: Save Boost build | ||
key: *boost-cache-key | ||
paths: | ||
- boost_1_57_0 | ||
- store_artifacts: | ||
path: build/libsolc/soljson.js | ||
destination: soljson.js | ||
- run: mkdir -p workspace | ||
- run: cp build/libsolc/soljson.js workspace/soljson.js | ||
- run: scripts/get_version.sh > workspace/version.txt | ||
- persist_to_workspace: | ||
root: workspace | ||
paths: | ||
- soljson.js | ||
- version.txt | ||
test_emscripten_solcjs: | ||
docker: | ||
- image: trzeci/emscripten:sdk-tag-1.37.21-64bit | ||
environment: | ||
TERM: xterm | ||
steps: | ||
- checkout | ||
- attach_workspace: | ||
at: /tmp/workspace | ||
- run: | ||
name: Install external tests deps | ||
command: | | ||
apt-get -qq update | ||
apt-get -qy install netcat curl | ||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | NVM_DIR=/usr/local/nvm bash | ||
export NVM_DIR="/usr/local/nvm" | ||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm | ||
nvm --version | ||
nvm install 8 | ||
node --version | ||
npm --version | ||
- run: | ||
name: Test solcjs | ||
command: | | ||
. /usr/local/nvm/nvm.sh | ||
test/solcjsTests.sh /tmp/workspace/soljson.js $(cat /tmp/workspace/version.txt) | ||
test_emscripten_external: | ||
docker: | ||
- image: trzeci/emscripten:sdk-tag-1.37.21-64bit | ||
environment: | ||
TERM: xterm | ||
steps: | ||
- checkout | ||
- attach_workspace: | ||
at: /tmp/workspace | ||
- run: | ||
name: Install external tests deps | ||
command: | | ||
apt-get -qq update | ||
apt-get -qy install netcat curl | ||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | NVM_DIR=/usr/local/nvm bash | ||
export NVM_DIR="/usr/local/nvm" | ||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm | ||
nvm --version | ||
nvm install 8 | ||
node --version | ||
npm --version | ||
- run: | ||
name: External tests | ||
command: | | ||
. /usr/local/nvm/nvm.sh | ||
test/externalTests.sh /tmp/workspace/soljson.js || test/externalTests.sh /tmp/workspace/soljson.js | ||
build_x86_linux: | ||
docker: | ||
- image: buildpack-deps:artful | ||
environment: | ||
TERM: xterm | ||
CMAKE_OPTIONS: -DCOVERAGE=OFF | ||
steps: | ||
- checkout | ||
- run: | ||
name: Install build dependencies | ||
command: | | ||
apt-get -qq update | ||
apt-get -qy install cmake libboost-regex-dev libboost-filesystem-dev libboost-test-dev libboost-system-dev libboost-program-options-dev libz3-dev | ||
./scripts/install_obsolete_jsoncpp_1_7_4.sh | ||
- run: *setup_prerelease_commit_hash | ||
- run: *run_build | ||
- store_artifacts: *solc_artifact | ||
- persist_to_workspace: | ||
root: build | ||
paths: | ||
- "*" | ||
|
||
build_x86_clang7: | ||
docker: | ||
- image: buildpack-deps:cosmic | ||
environment: | ||
TERM: xterm | ||
CC: /usr/bin/clang-7 | ||
CXX: /usr/bin/clang++-7 | ||
steps: | ||
- checkout | ||
- run: | ||
name: Install build dependencies | ||
command: | | ||
apt-get -qq update | ||
apt-get -qy install clang-7 cmake libboost-regex-dev libboost-filesystem-dev libboost-test-dev libboost-system-dev libboost-program-options-dev libz3-dev | ||
./scripts/install_obsolete_jsoncpp_1_7_4.sh | ||
- run: *setup_prerelease_commit_hash | ||
- run: *run_build | ||
- store_artifacts: *solc_artifact | ||
- persist_to_workspace: | ||
root: build | ||
paths: | ||
- "*" | ||
|
||
build_x86_mac: | ||
macos: | ||
xcode: "10.0.0" | ||
environment: | ||
TERM: xterm | ||
steps: | ||
- checkout | ||
- run: | ||
name: Install build dependencies | ||
command: | | ||
brew update | ||
brew upgrade | ||
brew unlink python | ||
brew install z3 | ||
brew install boost | ||
brew install cmake | ||
brew install wget | ||
./scripts/install_obsolete_jsoncpp_1_7_4.sh | ||
- run: *setup_prerelease_commit_hash | ||
- run: *run_build | ||
- store_artifacts: *solc_artifact | ||
- persist_to_workspace: *all_artifacts | ||
|
||
test_check_spelling: | ||
docker: | ||
- image: circleci/python:3.6 | ||
environment: | ||
TERM: xterm | ||
steps: | ||
- checkout | ||
- attach_workspace: | ||
at: build | ||
- run: | ||
name: Install dependencies | ||
command: | | ||
pip install --user codespell | ||
- run: | ||
name: Check spelling | ||
command: ~/.local/bin/codespell -S "*.enc,.git" -I ./scripts/codespell_whitelist.txt | ||
|
||
test_check_style: | ||
docker: | ||
- image: buildpack-deps:artful | ||
steps: | ||
- checkout | ||
- run: | ||
name: Check for trailing whitespace | ||
command: ./scripts/check_style.sh | ||
|
||
test_buglist: | ||
docker: | ||
- image: circleci/node | ||
environment: | ||
TERM: xterm | ||
steps: | ||
- checkout | ||
- run: | ||
name: JS deps | ||
command: | | ||
npm install download | ||
npm install JSONPath | ||
npm install mktemp | ||
- run: | ||
name: Test buglist | ||
command: ./test/buglistTests.js | ||
|
||
test_x86_linux: | ||
docker: | ||
- image: buildpack-deps:artful | ||
environment: | ||
TERM: xterm | ||
steps: | ||
- checkout | ||
- attach_workspace: | ||
at: build | ||
- run: | ||
name: Install dependencies | ||
command: | | ||
apt-get -qq update | ||
apt-get -qy install libz3-dev libleveldb1v5 python-pip | ||
pip install codecov | ||
- run: mkdir -p test_results | ||
- run: | ||
name: Test type checker | ||
command: build/test/soltest -t 'syntaxTest*' -- --no-ipc --testpath test | ||
- run: | ||
name: Coverage of type checker | ||
command: codecov --flags syntax --gcov-root build | ||
- run: *run_tests | ||
- run: | ||
name: Coverage of all | ||
command: codecov --flags all --gcov-root build | ||
- store_test_results: | ||
path: test_results/ | ||
- store_artifacts: | ||
path: test_results/ | ||
destination: test_results/ | ||
|
||
test_x86_mac: | ||
macos: | ||
xcode: "10.0.0" | ||
environment: | ||
TERM: xterm | ||
steps: | ||
- checkout | ||
- attach_workspace: | ||
at: build | ||
- run: | ||
name: Install dependencies | ||
command: | | ||
brew update | ||
brew upgrade | ||
brew unlink python | ||
brew install z3 | ||
- run: mkdir -p test_results | ||
- run: *run_tests | ||
- store_test_results: | ||
path: test_results/ | ||
- store_artifacts: | ||
path: test_results/ | ||
destination: test_results/ | ||
|
||
docs: | ||
docker: | ||
- image: buildpack-deps:artful | ||
steps: | ||
- checkout | ||
- run: | ||
name: Install build dependencies | ||
command: | | ||
apt-get -qq update | ||
apt-get -qy install python-sphinx python-pip | ||
- run: *setup_prerelease_commit_hash | ||
- run: | ||
name: Build documentation | ||
command: ./scripts/docs.sh | ||
- store_artifacts: | ||
path: docs/_build/html/ | ||
destination: docs-html | ||
|
||
workflows: | ||
version: 2 | ||
build_all: | ||
jobs: | ||
- test_check_spelling: *build_on_tags | ||
- test_check_style: *build_on_tags | ||
- test_buglist: *build_on_tags | ||
- build_emscripten: *build_on_tags | ||
- test_emscripten_solcjs: | ||
<<: *build_on_tags | ||
requires: | ||
- build_emscripten | ||
- test_emscripten_external: | ||
<<: *build_on_tags | ||
requires: | ||
- build_emscripten | ||
- build_x86_linux: *build_on_tags | ||
- build_x86_clang7: *build_on_tags | ||
- build_x86_mac: *build_on_tags | ||
- test_x86_linux: | ||
<<: *build_on_tags | ||
requires: | ||
- build_x86_linux | ||
- test_x86_mac: | ||
<<: *build_on_tags | ||
requires: | ||
- build_x86_mac | ||
- docs: *build_on_tags |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# out-of-tree builds usually go here. This helps improving performance of uploading | ||
# the build context to the docker image build server | ||
/build | ||
|
||
# in-tree builds | ||
/deps |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
--- | ||
name: Bug Report | ||
about: Bug reports about the Solidity Compiler. | ||
--- | ||
|
||
<!--## Prerequisites | ||
- First, many thanks for taking part in the community. We really appreciate that. | ||
- We realize there is a lot of information requested here. We ask only that you do your best to provide as much information as possible so we can better help you. | ||
- Support questions are better asked in one of the following locations: | ||
- [Solidity chat](https://gitter.im/ethereum/solidity) | ||
- [Stack Overflow](https://ethereum.stackexchange.com/) | ||
- Ensure the issue isn't already reported. | ||
- The issue should be reproducible with the latest solidity version; however, this isn't a hard requirement and being reproducible with an older version is sufficient. | ||
--> | ||
|
||
## Description | ||
|
||
<!--Please shortly describe the bug you have found, and what you expect instead.--> | ||
|
||
## Environment | ||
|
||
- Compiler version: | ||
- Framework/IDE (e.g. Truffle or Remix): | ||
- EVM execution environment / backend / blockchain client: | ||
- Operating system: | ||
|
||
## Steps to Reproduce | ||
|
||
<!-- | ||
Please provide a *minimal* source code example to trigger the bug you have found. | ||
Please also mention any command line flags that are necessary for triggering the bug. | ||
Provide as much information as necessary to reproduce the bug. | ||
``` | ||
// Some *minimal* Solidity source code to reproduce the bug. | ||
// ... | ||
``` | ||
--> |
Oops, something went wrong.