Skip to content

Commit 9dc334b

Browse files
committed
merge from feature/newSolidity
2 parents 5115079 + a98c217 commit 9dc334b

7,932 files changed

Lines changed: 378840 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.circleci/README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
## CircleCI integration
2+
3+
### Docker images
4+
5+
The docker images are build locally on the developer machine:
6+
7+
```sh
8+
cd .circleci/docker/
9+
10+
docker build -t ethereum/solidity-buildpack-deps:ubuntu2004-<revision> -f Dockerfile.ubuntu2004 .
11+
docker push ethereum/solidity-buildpack-deps:ubuntu2004-<revision>
12+
```
13+
14+
The current revisions per docker image are stored in [circle ci pipeline parameters](https://github.com/CircleCI-Public/api-preview-docs/blob/master/docs/pipeline-parameters.md#pipeline-parameters) called `<image-desc>-docker-image-rev` (e.g., `ubuntu-2004-docker-image-rev`). Please update the value assigned to the parameter(s) corresponding to the docker image(s) being updated at the time of the update. Please verify that the value assigned to the parameter matches the revision part of the docker image tag (`<revision>` in the docker build/push snippet shown above). Otherwise, the docker image used by circle ci and the one actually pushed to docker hub will differ.
15+
16+
Once the docker image has been built and pushed to Dockerhub, you can find it at:
17+
18+
https://hub.docker.com/r/ethereum/solidity-buildpack-deps:ubuntu2004-<revision>
19+
20+
where the image tag reflects the target OS and revision to build Solidity and run its tests on.
21+
22+
### Testing docker images locally
23+
24+
```sh
25+
cd solidity
26+
# Mounts your local solidity directory in docker container for testing
27+
docker run -v `pwd`:/src/solidity -ti ethereum/solidity-buildpack-deps:ubuntu2004-<revision> /bin/bash
28+
cd /src/solidity
29+
<commands_to_test_build_with_new_docker_image>
30+
```

.circleci/build_win.ps1

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
$ErrorActionPreference = "Stop"
2+
3+
cd "$PSScriptRoot\.."
4+
5+
if ("$Env:FORCE_RELEASE" -Or "$Env:CIRCLE_TAG") {
6+
New-Item prerelease.txt -type file
7+
Write-Host "Building release version."
8+
}
9+
else {
10+
# Use last commit date rather than build date to avoid ending up with builds for
11+
# different platforms having different version strings (and therefore producing different bytecode)
12+
# if the CI is triggered just before midnight.
13+
$last_commit_timestamp = git log -1 --date=unix --format=%cd HEAD
14+
$last_commit_date = (Get-Date -Date "1970-01-01 00:00:00Z").toUniversalTime().addSeconds($last_commit_timestamp).ToString("yyyy.M.d")
15+
-join("ci.", $last_commit_date) | out-file -encoding ascii prerelease.txt
16+
}
17+
18+
mkdir build
19+
cd build
20+
$boost_dir=(Resolve-Path $PSScriptRoot\..\deps\boost\lib\cmake\Boost-*)
21+
..\deps\cmake\bin\cmake -G "Visual Studio 16 2019" -DBoost_DIR="$boost_dir\" -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DCMAKE_INSTALL_PREFIX="$PSScriptRoot\..\upload" ..
22+
if ( -not $? ) { throw "CMake configure failed." }
23+
msbuild solidity.sln /p:Configuration=Release /m:5 /v:minimal
24+
if ( -not $? ) { throw "Build failed." }
25+
..\deps\cmake\bin\cmake --build . -j 5 --target install --config Release
26+
if ( -not $? ) { throw "Install target failed." }

0 commit comments

Comments
 (0)