solidity/.circleci
Christian Parpart e8d07772d9 lsp.py: Port to support running on Windows & adapt to changes due to prior merged PR.
- lsp.py: Fixes invalid-syntax by Python interpreter on Windows CI (older Python version).
- lsp.py: Savely strip CRLF from right side of the string, ignoring accidental multiple occurrences of \r (such as \r\r\n).
- lsp.py: Fixes reading single character from stdin (wrt. Windows platform).
- lsp.py: Adds header line reading to I/O tracing (useful for debugging).
- lsp.py: When running the tests on Windows, don't care test file content's newlines but simply expect LFs (instead of CRLF for example).
- Apply pylint notes.
- Fixing use of @functools.lru_cache for older python versions (CircleCI Windows)
2022-05-09 11:37:11 +02:00
..
build_win.ps1 CI: Optimize machine sizes for best speed/cost ratio 2021-12-03 12:32:40 +01:00
config.yml lsp.py: Port to support running on Windows & adapt to changes due to prior merged PR. 2022-05-09 11:37:11 +02:00
osx_install_dependencies.sh update smt tests z3 4.8.16 2022-05-03 14:23:27 +02:00
README.md Update Dockerfiles and CI scripts to Ubuntu 20.04 and simplify them. 2020-05-11 17:35:01 +02:00
soltest_all.sh Test batcher. 2021-12-30 15:02:05 +01:00
soltest.ps1 Set ErrorActionPreference on all powershell scripts and add explicit error checks. 2020-09-17 14:44:52 +02:00
soltest.sh soltest.sh: Prevent parallel tests from overwriting each other's XML test output 2022-04-13 20:08:15 +02: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:ubuntu2004-<revision> -f Dockerfile.ubuntu2004 .
docker push ethereum/solidity-buildpack-deps:ubuntu2004-<revision>

The current revisions per docker image are stored in circle ci 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.

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:ubuntu2004-<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:ubuntu2004-<revision> /bin/bash
cd /src/solidity
<commands_to_test_build_with_new_docker_image>