solidity/.circleci
hrkrshnn 41ce3feb0a test: some tests for push0
1. `push0_disallowed.yul`: checks if `push0()` is a valid builtin in strict Yul
2. `push0_disallowed.sol`: checks if `push0()` is a valid builtin in inline assembly
3. `push0.sol`: simple semantic test that returns 0
4. `evmone_support.sol`: tests if push0 works properly in evmone
5. Updated some bytecode too large tests to use `shanghai` as version
6. Updated various tests where `push1 0` was hardcoded in different forms / expectations on bytecode
size (`Assembler.cpp`, `GasCosts.cpp`, `SolidityCompiler.cpp`, `SolidityExpressionCompiler.cpp`)
2023-04-12 00:10:24 +02:00
..
build_win.ps1 CI: Optimize machine sizes for best speed/cost ratio 2021-12-03 12:32:40 +01:00
cln-asan.supp Suppress libcln from asan tests 2023-01-30 13:22:58 +01:00
config.yml update smtchecker tests 2023-03-28 18:23:54 +02:00
osx_install_dependencies.sh use new z3 2023-03-28 14:37:01 +02:00
README.md Update CI ubuntu version to 2204 2023-01-12 10:37:29 +01:00
soltest_all.sh test: some tests for push0 2023-04-12 00:10:24 +02:00
soltest.ps1 Added option to allow soltest in CI print errors to stderr in addition to the XML report. 2022-05-27 18:32:21 -03:00
soltest.sh Silence warning about improper quoting in .circleci/soltest.sh 2022-10-26 18:22:56 +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:ubuntu2204-<revision> -f Dockerfile.ubuntu2204 .
docker push ethereum/solidity-buildpack-deps:ubuntu2204-<revision>

The current revisions per docker image are stored in circle ci pipeline parameters called <image-desc>-docker-image-rev (e.g., ubuntu-2204-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:ubuntu2204-<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:ubuntu2204-<revision> /bin/bash
cd /src/solidity
<commands_to_test_build_with_new_docker_image>