solidity/.circleci
chriseth 78e4197cbc
Merge pull request #7764 from ethereum/ext-test-compile-split
[circleci] Splits out compilation only job for external tests
2019-11-25 17:30:15 +01:00
..
docker Upgrade evmone to v0.3.0 in the docker images 2019-11-19 12:41:12 +01:00
config.yml Merge pull request #7764 from ethereum/ext-test-compile-split 2019-11-25 17:30:15 +01:00
osx_install_dependencies.sh Update evmone version to v0.3.0 in docs and scripts 2019-11-19 16:49:43 +01:00
README.md Use pipeline parameters to store/reference current docker image revision 2019-11-22 16:40:53 +01:00
soltest_all.sh Run istanbul tests on circleci 2019-11-19 17:09:18 +01:00
soltest.sh [circleci] Add t_osx_soltest. 2019-11-08 14:44:54 -05:00

CircleCI integration

Docker images

The docker images are build locally on the developer machine:

cd .circleci/docker/

docker build -t ethereum/solidity-buildpack-deps:ubuntu1904-<revision> -f Dockerfile.ubuntu1904 .
docker push ethereum/solidity-buildpack-deps:ubuntu1904-<revision>

The current revision is stored in a circle ci pipeline parameter called docker-image-rev. Please update the value assigned to this parameter at the time of a docker image 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.

Once the docker image has been built and pushed to Dockerhub, you can find it at:

https://hub.docker.com/r/ethereum/solidity-buildpack-deps:ubuntu1904-<revision>

where the image tag reflects the target OS and revision to build Solidity and run its tests on.

Testing docker images locally

cd solidity
# Mounts your local solidity directory in docker container for testing
docker run -v `pwd`:/src/solidity -ti ethereum/solidity-buildpack-deps:ubuntu1904-<revision> /bin/bash
cd /src/solidity
<commands_to_test_build_with_new_docker_image>