From a8a1587db8033a047c88494ff24dfceb2c4d8c39 Mon Sep 17 00:00:00 2001 From: Santiago Palladino Date: Mon, 10 Apr 2023 15:56:48 -0300 Subject: [PATCH] Move wasms to shared resources folder and clean up dockerfiles --- yarn-project/acir-simulator/Dockerfile | 3 --- yarn-project/aztec-cli/Dockerfile | 3 ++- yarn-project/aztec-node/Dockerfile | 3 ++- yarn-project/aztec-rpc/Dockerfile | 9 +------- yarn-project/aztec.js/Dockerfile | 2 ++ yarn-project/barretenberg.js/Dockerfile | 5 +++-- yarn-project/barretenberg.js/package.json | 2 +- .../resources/barretenberg.wasm | 1 + .../barretenberg.js/resources/primitives.wasm | 1 + .../src/wasm/barretenberg.wasm | 1 - .../src/wasm/barretenberg_wasm.ts | 2 +- .../barretenberg.js/src/wasm/primitives.wasm | 1 - .../src/wasm/primitives_wasm.ts | 2 +- yarn-project/circuits.js/Dockerfile | 5 +---- yarn-project/circuits.js/package.json | 3 +-- .../resources/aztec3-circuits.wasm | 1 + .../circuits.js/src/wasm/aztec3-circuits.wasm | 1 - .../circuits.js/src/wasm/circuits_wasm.ts | 2 +- yarn-project/end-to-end/Dockerfile | 8 ------- yarn-project/kernel-prover/Dockerfile | 3 ++- yarn-project/key-store/Dockerfile | 3 ++- yarn-project/l1-contracts/Dockerfile | 3 ++- yarn-project/merkle-tree/Dockerfile | 10 +-------- yarn-project/noir-contracts/Dockerfile | 4 ++-- yarn-project/p2p/Dockerfile | 8 ------- yarn-project/prover-client/Dockerfile | 3 ++- yarn-project/sequencer-client/Dockerfile | 6 +---- yarn-project/tx/Dockerfile | 3 ++- yarn-project/unverified-data/Dockerfile | 6 ++--- yarn-project/world-state/Dockerfile | 22 +++---------------- 30 files changed, 39 insertions(+), 87 deletions(-) create mode 120000 yarn-project/barretenberg.js/resources/barretenberg.wasm create mode 120000 yarn-project/barretenberg.js/resources/primitives.wasm delete mode 120000 yarn-project/barretenberg.js/src/wasm/barretenberg.wasm delete mode 120000 yarn-project/barretenberg.js/src/wasm/primitives.wasm create mode 120000 yarn-project/circuits.js/resources/aztec3-circuits.wasm delete mode 120000 yarn-project/circuits.js/src/wasm/aztec3-circuits.wasm diff --git a/yarn-project/acir-simulator/Dockerfile b/yarn-project/acir-simulator/Dockerfile index e5ed6fd04a50..dda449835276 100644 --- a/yarn-project/acir-simulator/Dockerfile +++ b/yarn-project/acir-simulator/Dockerfile @@ -1,8 +1,5 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder COPY . . -# Build barretenberg.js to ensure wasm is in the dest folder. -WORKDIR /usr/src/yarn-project/barretenberg.js -RUN yarn build WORKDIR /usr/src/yarn-project/acir-simulator RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/aztec-cli/Dockerfile b/yarn-project/aztec-cli/Dockerfile index 923dca629182..a82bcfd73256 100644 --- a/yarn-project/aztec-cli/Dockerfile +++ b/yarn-project/aztec-cli/Dockerfile @@ -1,6 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -COPY aztec-cli aztec-cli +COPY . . + WORKDIR /usr/src/yarn-project/aztec-cli RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/aztec-node/Dockerfile b/yarn-project/aztec-node/Dockerfile index 1cf447897679..efb5e939ea53 100644 --- a/yarn-project/aztec-node/Dockerfile +++ b/yarn-project/aztec-node/Dockerfile @@ -1,6 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -COPY aztec-node aztec-node +COPY . . + WORKDIR /usr/src/yarn-project/aztec-node RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/aztec-rpc/Dockerfile b/yarn-project/aztec-rpc/Dockerfile index 34a20c2bf115..f12aecaaf9eb 100644 --- a/yarn-project/aztec-rpc/Dockerfile +++ b/yarn-project/aztec-rpc/Dockerfile @@ -1,14 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -COPY . . -# Build barretenberg.js to ensure wasm is in the dest folder. -WORKDIR /usr/src/yarn-project/barretenberg.js -RUN yarn build -# dependencies -WORKDIR /usr/src/yarn-project -COPY barretenberg.js barretenberg.js +COPY . . -RUN cd aztec-node && yarn build WORKDIR /usr/src/yarn-project/aztec-rpc RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/aztec.js/Dockerfile b/yarn-project/aztec.js/Dockerfile index d0dafbeecbfb..ec1e896c7e64 100644 --- a/yarn-project/aztec.js/Dockerfile +++ b/yarn-project/aztec.js/Dockerfile @@ -1,5 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder + COPY . . + WORKDIR /usr/src/yarn-project/aztec.js RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/barretenberg.js/Dockerfile b/yarn-project/barretenberg.js/Dockerfile index e67d01ca3ef6..3237e4b78f92 100644 --- a/yarn-project/barretenberg.js/Dockerfile +++ b/yarn-project/barretenberg.js/Dockerfile @@ -1,6 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -COPY foundation foundation -COPY barretenberg.js barretenberg.js + +COPY . . + WORKDIR /usr/src/yarn-project/barretenberg.js RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/barretenberg.js/package.json b/yarn-project/barretenberg.js/package.json index 70cf6eeed6f5..af7766264b43 100644 --- a/yarn-project/barretenberg.js/package.json +++ b/yarn-project/barretenberg.js/package.json @@ -13,7 +13,7 @@ "tsconfig": "./tsconfig.dest.json" }, "scripts": { - "build": "tsc -b tsconfig.dest.json && cp ./src/wasm/*.wasm ./dest/wasm", + "build": "tsc -b tsconfig.dest.json", "build:dev": "tsc -b tsconfig.dest.json --watch", "clean": "rm -rf ./dest .tsbuildinfo", "formatting": "prettier --check ./src && eslint --max-warnings 0 ./src", diff --git a/yarn-project/barretenberg.js/resources/barretenberg.wasm b/yarn-project/barretenberg.js/resources/barretenberg.wasm new file mode 120000 index 000000000000..94f54835106e --- /dev/null +++ b/yarn-project/barretenberg.js/resources/barretenberg.wasm @@ -0,0 +1 @@ +../../../circuits/cpp/build-wasm/bin/aztec3-circuits.wasm \ No newline at end of file diff --git a/yarn-project/barretenberg.js/resources/primitives.wasm b/yarn-project/barretenberg.js/resources/primitives.wasm new file mode 120000 index 000000000000..45a6fa0808f4 --- /dev/null +++ b/yarn-project/barretenberg.js/resources/primitives.wasm @@ -0,0 +1 @@ +../../../circuits/cpp/barretenberg/cpp/build-wasm/bin/primitives.wasm \ No newline at end of file diff --git a/yarn-project/barretenberg.js/src/wasm/barretenberg.wasm b/yarn-project/barretenberg.js/src/wasm/barretenberg.wasm deleted file mode 120000 index 1e16cc8a74e0..000000000000 --- a/yarn-project/barretenberg.js/src/wasm/barretenberg.wasm +++ /dev/null @@ -1 +0,0 @@ -../../../../circuits/cpp/build-wasm/bin/aztec3-circuits.wasm \ No newline at end of file diff --git a/yarn-project/barretenberg.js/src/wasm/barretenberg_wasm.ts b/yarn-project/barretenberg.js/src/wasm/barretenberg_wasm.ts index bb2e9caf1045..8fb08ba7d7c1 100644 --- a/yarn-project/barretenberg.js/src/wasm/barretenberg_wasm.ts +++ b/yarn-project/barretenberg.js/src/wasm/barretenberg_wasm.ts @@ -11,7 +11,7 @@ const NAME = 'barretenberg'; * A low-level wrapper for an instance of Barretenberg WASM. */ export class BarretenbergWasm extends AsyncWasmWrapper { - codePath = isNode ? join(dirname(fileURLToPath(import.meta.url)), `${NAME}.wasm`) : `${NAME}.wasm`; + codePath = isNode ? join(dirname(fileURLToPath(import.meta.url)), `../../resources/${NAME}.wasm`) : `${NAME}.wasm`; static instance: Promise; diff --git a/yarn-project/barretenberg.js/src/wasm/primitives.wasm b/yarn-project/barretenberg.js/src/wasm/primitives.wasm deleted file mode 120000 index 31a2f245fd3e..000000000000 --- a/yarn-project/barretenberg.js/src/wasm/primitives.wasm +++ /dev/null @@ -1 +0,0 @@ -../../../../circuits/cpp/barretenberg/cpp/build-wasm/bin/primitives.wasm \ No newline at end of file diff --git a/yarn-project/barretenberg.js/src/wasm/primitives_wasm.ts b/yarn-project/barretenberg.js/src/wasm/primitives_wasm.ts index 60c12cf1a814..3b8e8a003b1a 100644 --- a/yarn-project/barretenberg.js/src/wasm/primitives_wasm.ts +++ b/yarn-project/barretenberg.js/src/wasm/primitives_wasm.ts @@ -9,7 +9,7 @@ const NAME = 'primitives'; * A low-level wrapper for an instance of the barretenberg primitives wasm. */ export class PrimitivesWasm extends WasmWrapper { - codePath = isNode ? join(dirname(fileURLToPath(import.meta.url)), `${NAME}.wasm`) : `${NAME}.wasm`; + codePath = isNode ? join(dirname(fileURLToPath(import.meta.url)), `../../resources/${NAME}.wasm`) : `${NAME}.wasm`; static instance: Promise; diff --git a/yarn-project/circuits.js/Dockerfile b/yarn-project/circuits.js/Dockerfile index bd539cb3073b..053a9a6cd6b1 100644 --- a/yarn-project/circuits.js/Dockerfile +++ b/yarn-project/circuits.js/Dockerfile @@ -7,10 +7,7 @@ COPY . . WORKDIR /usr/src/yarn-project/circuits.js RUN yarn build && yarn formatting -# (3) copy bb.js wasm binaries -RUN cp /usr/src/circuits/cpp/build-wasm/bin/aztec3-circuits.wasm /usr/src/yarn-project/circuits.js/dest/wasm/aztec3-circuits.wasm - -# (3.5) test +# (3) test RUN yarn test # (4) Prune dev dependencies. See comment in base image. diff --git a/yarn-project/circuits.js/package.json b/yarn-project/circuits.js/package.json index 8f6e4dd5810a..7ebd22aebe42 100644 --- a/yarn-project/circuits.js/package.json +++ b/yarn-project/circuits.js/package.json @@ -15,9 +15,8 @@ "tsconfig": "./tsconfig.dest.json" }, "scripts": { - "build": "tsc -b tsconfig.dest.json && yarn build:link", + "build": "tsc -b tsconfig.dest.json", "build:dev": "tsc -b tsconfig.dest.json --watch", - "build:link": "ln -nf src/wasm/aztec3-circuits.wasm dest/wasm/aztec3-circuits.wasm", "redo-ts-refs": "../../scripts/update-tsconfig-references tsconfig.dest.json", "clean": "rm -rf ./dest .tsbuildinfo", "formatting": "prettier --check ./src && eslint --max-warnings 278 ./src", diff --git a/yarn-project/circuits.js/resources/aztec3-circuits.wasm b/yarn-project/circuits.js/resources/aztec3-circuits.wasm new file mode 120000 index 000000000000..94f54835106e --- /dev/null +++ b/yarn-project/circuits.js/resources/aztec3-circuits.wasm @@ -0,0 +1 @@ +../../../circuits/cpp/build-wasm/bin/aztec3-circuits.wasm \ No newline at end of file diff --git a/yarn-project/circuits.js/src/wasm/aztec3-circuits.wasm b/yarn-project/circuits.js/src/wasm/aztec3-circuits.wasm deleted file mode 120000 index 1e16cc8a74e0..000000000000 --- a/yarn-project/circuits.js/src/wasm/aztec3-circuits.wasm +++ /dev/null @@ -1 +0,0 @@ -../../../../circuits/cpp/build-wasm/bin/aztec3-circuits.wasm \ No newline at end of file diff --git a/yarn-project/circuits.js/src/wasm/circuits_wasm.ts b/yarn-project/circuits.js/src/wasm/circuits_wasm.ts index df3c7c2b3468..c623917233f4 100644 --- a/yarn-project/circuits.js/src/wasm/circuits_wasm.ts +++ b/yarn-project/circuits.js/src/wasm/circuits_wasm.ts @@ -11,7 +11,7 @@ const NAME = '/aztec3-circuits'; * A low-level wrapper for an instance of Aztec3 Circuits WASM. */ export class CircuitsWasm extends AsyncWasmWrapper { - codePath = isNode ? join(dirname(fileURLToPath(import.meta.url)), `${NAME}.wasm`) : `${NAME}.wasm`; + codePath = isNode ? join(dirname(fileURLToPath(import.meta.url)), `../../resources/${NAME}.wasm`) : `${NAME}.wasm`; static instance: Promise; diff --git a/yarn-project/end-to-end/Dockerfile b/yarn-project/end-to-end/Dockerfile index 2be08d86a29c..7fc4a22706d6 100644 --- a/yarn-project/end-to-end/Dockerfile +++ b/yarn-project/end-to-end/Dockerfile @@ -3,14 +3,6 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder # Copy in the whole of yarn-project. COPY . . -# Build circuits.js to ensure wasm is in the dest folder. -WORKDIR /usr/src/yarn-project/circuits.js -RUN yarn build - -# Build barretenberg.js to ensure wasm is in the dest folder. -WORKDIR /usr/src/yarn-project/barretenberg.js -RUN yarn build - # Build end-to-end. WORKDIR /usr/src/yarn-project/end-to-end RUN yarn build && yarn formatting diff --git a/yarn-project/kernel-prover/Dockerfile b/yarn-project/kernel-prover/Dockerfile index 0738898f4433..c9c9b96040b5 100644 --- a/yarn-project/kernel-prover/Dockerfile +++ b/yarn-project/kernel-prover/Dockerfile @@ -1,6 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -COPY kernel-prover kernel-prover +COPY . . + WORKDIR /usr/src/yarn-project/kernel-prover RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/key-store/Dockerfile b/yarn-project/key-store/Dockerfile index c084a82e57de..54c45c984339 100644 --- a/yarn-project/key-store/Dockerfile +++ b/yarn-project/key-store/Dockerfile @@ -1,6 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -COPY key-store key-store +COPY . . + WORKDIR /usr/src/yarn-project/key-store RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/l1-contracts/Dockerfile b/yarn-project/l1-contracts/Dockerfile index 8c4489541f8f..ab641a60c574 100644 --- a/yarn-project/l1-contracts/Dockerfile +++ b/yarn-project/l1-contracts/Dockerfile @@ -1,6 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -COPY l1-contracts l1-contracts +COPY . . + WORKDIR /usr/src/yarn-project/l1-contracts RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/merkle-tree/Dockerfile b/yarn-project/merkle-tree/Dockerfile index 30cf2f54f1bb..27402634f7c3 100644 --- a/yarn-project/merkle-tree/Dockerfile +++ b/yarn-project/merkle-tree/Dockerfile @@ -1,14 +1,6 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -COPY foundation foundation -COPY merkle-tree merkle-tree -COPY barretenberg.js barretenberg.js - -WORKDIR /usr/src/yarn-project/foundation -RUN yarn build -WORKDIR /usr/src/yarn-project/barretenberg.js -RUN yarn build -RUN cp /usr/src/circuits/cpp/build-wasm/bin/aztec3-circuits.wasm dest/wasm/barretenberg.wasm +COPY . . WORKDIR /usr/src/yarn-project/merkle-tree RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/noir-contracts/Dockerfile b/yarn-project/noir-contracts/Dockerfile index 0de2e52bf6f2..c63bab5c5115 100644 --- a/yarn-project/noir-contracts/Dockerfile +++ b/yarn-project/noir-contracts/Dockerfile @@ -1,7 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -COPY foundation foundation -COPY noir-contracts noir-contracts +COPY . . + WORKDIR /usr/src/yarn-project/noir-contracts RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/p2p/Dockerfile b/yarn-project/p2p/Dockerfile index ac6f7bed2879..fd279f8c2c78 100644 --- a/yarn-project/p2p/Dockerfile +++ b/yarn-project/p2p/Dockerfile @@ -2,14 +2,6 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder COPY . . -# Manually run bb so we get the wasm in dest -WORKDIR /usr/src/yarn-project/barretenberg.js -RUN yarn build - -# Manually run circuits so we get the wasm in dest -WORKDIR /usr/src/yarn-project/circuits.js -RUN yarn build - WORKDIR /usr/src/yarn-project/p2p RUN yarn build && yarn formatting diff --git a/yarn-project/prover-client/Dockerfile b/yarn-project/prover-client/Dockerfile index 39dfe45153c4..e445e42895a4 100644 --- a/yarn-project/prover-client/Dockerfile +++ b/yarn-project/prover-client/Dockerfile @@ -1,6 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -COPY prover-client prover-client +COPY . . + WORKDIR /usr/src/yarn-project/prover-client RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/sequencer-client/Dockerfile b/yarn-project/sequencer-client/Dockerfile index 08097d37b3b2..5fe3298f6335 100644 --- a/yarn-project/sequencer-client/Dockerfile +++ b/yarn-project/sequencer-client/Dockerfile @@ -7,11 +7,7 @@ COPY . . WORKDIR /usr/src/yarn-project/sequencer-client RUN yarn build && yarn formatting -# (3) copy bb.js wasm binaries -RUN cp /usr/src/circuits/cpp/build-wasm/bin/aztec3-circuits.wasm /usr/src/yarn-project/circuits.js/dest/wasm/aztec3-circuits.wasm -RUN cp /usr/src/circuits/cpp/build-wasm/bin/aztec3-circuits.wasm /usr/src/yarn-project/barretenberg.js/dest/wasm/barretenberg.wasm - -# (3.5) test +# (3) test RUN yarn test # (4) Prune dev dependencies. See comment in base image. diff --git a/yarn-project/tx/Dockerfile b/yarn-project/tx/Dockerfile index 04a9602280d6..5372ea0c5e55 100644 --- a/yarn-project/tx/Dockerfile +++ b/yarn-project/tx/Dockerfile @@ -1,6 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -COPY tx tx +COPY . . + WORKDIR /usr/src/yarn-project/tx RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/unverified-data/Dockerfile b/yarn-project/unverified-data/Dockerfile index 5cc1b1c99ec3..b6ee6824fef0 100644 --- a/yarn-project/unverified-data/Dockerfile +++ b/yarn-project/unverified-data/Dockerfile @@ -1,7 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -COPY unverified-data unverified-data -# dependencies -COPY foundation foundation + +COPY . . + WORKDIR /usr/src/yarn-project/unverified-data RUN yarn build && yarn formatting && yarn test diff --git a/yarn-project/world-state/Dockerfile b/yarn-project/world-state/Dockerfile index 4f8c4398348a..5dc7a8cd8992 100644 --- a/yarn-project/world-state/Dockerfile +++ b/yarn-project/world-state/Dockerfile @@ -1,33 +1,17 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project-base AS builder -# (1) project -COPY world-state world-state -# (2) dependencies -COPY foundation foundation -COPY ethereum.js ethereum.js -COPY barretenberg.js barretenberg.js -COPY l1-contracts l1-contracts -COPY circuits.js circuits.js -COPY l2-block l2-block -COPY tx tx -COPY unverified-data unverified-data -COPY merkle-tree merkle-tree +COPY . . -# (3) build WORKDIR /usr/src/yarn-project/world-state RUN yarn build && yarn formatting -# (3.5) test RUN yarn test -# (4) copy bb.js wasm binaries -RUN cp /usr/src/circuits/cpp/build-wasm/bin/aztec3-circuits.wasm /usr/src/yarn-project/barretenberg.js/dest/wasm/barretenberg.wasm - -# (5) Prune dev dependencies. See comment in base image. +# Prune dev dependencies. See comment in base image. RUN yarn cache clean RUN yarn workspaces focus --production > /dev/null -# (6) set up entry point +# set up entry point FROM node:18-alpine COPY --from=builder /usr/src/yarn-project/world-state /usr/src/yarn-project/world-state WORKDIR /usr/src/yarn-project/world-state