diff --git a/.circleci/config.yml b/.circleci/config.yml index 6c592d749f7..9bf6b163fd7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -131,6 +131,17 @@ jobs: name: "Build" command: cond_spot_run_build barretenberg-x86_64-linux-clang-assert 128 + barretenberg-x86_64-linux-clang-sol: + docker: + - image: aztecprotocol/alpine-build-image + resource_class: small + steps: + - *checkout + - *setup_env + - run: + name: "Build" + command: cond_spot_run_build barretenberg-x86_64-linux-clang-sol 32 + barretenberg-stdlib-tests: docker: - image: aztecprotocol/alpine-build-image @@ -1154,6 +1165,7 @@ workflows: - barretenberg-x86_64-linux-clang-assert: *defaults - barretenberg-x86_64-linux-clang-fuzzing: *defaults - barretenberg-wasm-linux-clang: *defaults + - barretenberg-x86_64-linux-clang-sol: *defaults - barretenberg-proof-system-tests: *bb_test - barretenberg-honk-tests: *bb_test - barretenberg-dsl-tests: *bb_test diff --git a/barretenberg/.dockerignore b/barretenberg/.dockerignore index b38d06b3356..2920dd00c6c 100644 --- a/barretenberg/.dockerignore +++ b/barretenberg/.dockerignore @@ -3,6 +3,9 @@ sol/cache sol/out sol/Dockerfile sol/lib +sol/.foundry +sol/cache +sol/out cpp/build cpp/srs_db/ignition .gitmodules \ No newline at end of file diff --git a/barretenberg/sol/.gitignore b/barretenberg/sol/.gitignore index 434dd3d2ff4..9a39bcb1ccd 100644 --- a/barretenberg/sol/.gitignore +++ b/barretenberg/sol/.gitignore @@ -12,4 +12,4 @@ out/ .vscode/settings.json .foundry -build/ \ No newline at end of file +**/build*/* diff --git a/barretenberg/sol/.rebuild_patterns b/barretenberg/sol/.rebuild_patterns new file mode 100644 index 00000000000..df72c4c5c9d --- /dev/null +++ b/barretenberg/sol/.rebuild_patterns @@ -0,0 +1,7 @@ +^barretenberg/cpp/.*\.(cpp|cc|cxx|c\+\+|h|hpp|hxx|h\+\+|c|h|inl|inc|ipp|tpp|cmake)$ +^barretenberg/cpp/.*CMakeLists\.txt$ +^barretenberg/cpp/.*Dockerfile.*$ +^barretenberg/cpp/scripts/ +^barretenberg/sol/src/ +^barretenberg/sol/scripts/ +^barretenberg/sol/test/ diff --git a/barretenberg/sol/Dockerfile b/barretenberg/sol/Dockerfile index 0b6d172926b..bae96012f4c 100644 --- a/barretenberg/sol/Dockerfile +++ b/barretenberg/sol/Dockerfile @@ -1,9 +1,9 @@ -FROM alpine:3.17 +FROM alpine:3.18 RUN apk update \ && apk upgrade \ && apk add --no-cache \ build-base \ - clang15 \ + clang16 \ openmp-dev \ cmake \ ninja \ @@ -15,7 +15,7 @@ WORKDIR /usr/src/barretenberg/cpp COPY ./cpp . # Build everything to ensure everything builds. All tests will be run from the result of this build. -RUN cmake --preset default && cmake --build --preset default --target solidity_key_gen solidity_proof_gen +RUN cmake --preset clang16 && cmake --build --preset clang16 --target solidity_key_gen solidity_proof_gen FROM docker.io/frolvlad/alpine-glibc:alpine-3.17_glibc-2.34 as builder RUN apk update && apk add git curl build-base openmp-dev bash @@ -38,4 +38,5 @@ RUN cd ../cpp/srs_db && ./download_ignition.sh 3 && cd ../../sol RUN ./scripts/init.sh +# TestBase is excluded as it is just boilerplate RUN forge test --no-match-contract TestBase \ No newline at end of file diff --git a/build_manifest.yml b/build_manifest.yml index 031e7439662..dbacc1f9262 100644 --- a/build_manifest.yml +++ b/build_manifest.yml @@ -23,6 +23,11 @@ barretenberg-wasm-linux-clang: dockerfile: dockerfiles/Dockerfile.wasm-linux-clang rebuildPatterns: .rebuild_patterns +barretenberg-x86_64-linux-clang-sol: + buildDir: barretenberg + dockerfile: sol/Dockerfile + rebuildPatterns: sol/.rebuild_patterns + bb.js: buildDir: barretenberg/ts dependencies: diff --git a/yellow-paper/docs/intro.md b/yellow-paper/docs/intro.md index 2b26bc7248c..8e9e682243a 100644 --- a/yellow-paper/docs/intro.md +++ b/yellow-paper/docs/intro.md @@ -235,4 +235,4 @@ The draft subsections are mere suggestions (and serve as a helpful reminder of t - Bytecode commitment circuit [???] - Smart Contracts [Lasse] - ... -- Acknowledgements \ No newline at end of file +- Acknowledgements