From 5d3895aefb7812eb6bd8017baf43533959ad69b4 Mon Sep 17 00:00:00 2001 From: Santiago Palladino Date: Tue, 5 Dec 2023 09:47:44 -0300 Subject: [PATCH] chore: Pin node version in docker base images and bump nvmrc (#3537) We were using a floating version of node in our base images, which means we didn't control when we updated the node version. Also, we were using an outdated version for local development, which didn't match the one used for the base images. This changeset bumps nvmrc to latest node (18.19.0) and pins down the version of all node base images across dockerfiles in the project. This PR was triggered by suddenly hitting [this error](https://github.com/TypeStrong/ts-node/issues/2094) in CI. --- .nvmrc | 2 +- barretenberg/acir_tests/Dockerfile.bb | 2 +- barretenberg/acir_tests/Dockerfile.bb.js | 2 +- barretenberg/acir_tests/Dockerfile.bb.sol | 2 +- barretenberg/ts/Dockerfile | 2 +- l1-contracts/Dockerfile | 2 +- yarn-project/Dockerfile.prod | 4 ++-- yarn-project/canary/Dockerfile | 4 ++-- yarn-project/canary/Dockerfile.build | 2 +- yarn-project/end-to-end/Dockerfile | 2 +- yarn-project/yarn-project-base/Dockerfile | 2 +- yellow-paper/Dockerfile | 2 +- 12 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.nvmrc b/.nvmrc index 39e593ebeee..eb800ed459a 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18.8.0 +v18.19.0 diff --git a/barretenberg/acir_tests/Dockerfile.bb b/barretenberg/acir_tests/Dockerfile.bb index 000627d8172..7e211d62eca 100644 --- a/barretenberg/acir_tests/Dockerfile.bb +++ b/barretenberg/acir_tests/Dockerfile.bb @@ -1,7 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/barretenberg-x86_64-linux-clang-assert FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/noir-acir-tests as noir-acir-tests -FROM node:18-alpine +FROM node:18.19.0-alpine RUN apk update && apk add git bash curl jq coreutils COPY --from=0 /usr/src/barretenberg/cpp/build /usr/src/barretenberg/cpp/build COPY --from=noir-acir-tests /usr/src/noir/test_programs /usr/src/noir/test_programs diff --git a/barretenberg/acir_tests/Dockerfile.bb.js b/barretenberg/acir_tests/Dockerfile.bb.js index 1b86d6e953d..248d14aeedf 100644 --- a/barretenberg/acir_tests/Dockerfile.bb.js +++ b/barretenberg/acir_tests/Dockerfile.bb.js @@ -1,7 +1,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/bb.js FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/noir-acir-tests as noir-acir-tests -FROM node:18 +FROM node:18.19.0 COPY --from=0 /usr/src/barretenberg/ts /usr/src/barretenberg/ts COPY --from=noir-acir-tests /usr/src/noir/test_programs /usr/src/noir/test_programs RUN apt update && apt install -y lsof jq diff --git a/barretenberg/acir_tests/Dockerfile.bb.sol b/barretenberg/acir_tests/Dockerfile.bb.sol index 7840d0c2e4f..40ffa075078 100644 --- a/barretenberg/acir_tests/Dockerfile.bb.sol +++ b/barretenberg/acir_tests/Dockerfile.bb.sol @@ -2,7 +2,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/barretenberg-x86_64-linux-clan FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/barretenberg-x86_64-linux-clang-sol FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/noir-acir-tests as noir-acir-tests -FROM node:18-alpine +FROM node:18.19.0-alpine RUN apk update && apk add git bash curl jq COPY --from=0 /usr/src/barretenberg/cpp/build /usr/src/barretenberg/cpp/build COPY --from=1 /usr/src/barretenberg/sol/src/ultra/BaseUltraVerifier.sol /usr/src/barretenberg/sol/src/ultra/BaseUltraVerifier.sol diff --git a/barretenberg/ts/Dockerfile b/barretenberg/ts/Dockerfile index 1edeb3c4377..2d01fb8f76f 100644 --- a/barretenberg/ts/Dockerfile +++ b/barretenberg/ts/Dockerfile @@ -1,6 +1,6 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/barretenberg-wasm-linux-clang -FROM node:18-alpine +FROM node:18.19.0-alpine COPY --from=0 /usr/src/barretenberg /usr/src/barretenberg # Create a standalone container that can run bb.js (and tests). diff --git a/l1-contracts/Dockerfile b/l1-contracts/Dockerfile index 73eda3294b3..5544b0eaa7b 100644 --- a/l1-contracts/Dockerfile +++ b/l1-contracts/Dockerfile @@ -1,5 +1,5 @@ # Linting requires node. -FROM node:18-alpine +FROM node:18.19.0-alpine RUN apk update && apk add --no-cache build-base git python3 curl bash jq WORKDIR /usr/src/l1-contracts COPY . . diff --git a/yarn-project/Dockerfile.prod b/yarn-project/Dockerfile.prod index 82c21c1755c..95e4479137b 100644 --- a/yarn-project/Dockerfile.prod +++ b/yarn-project/Dockerfile.prod @@ -3,7 +3,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/yarn-project AS yarn-project # Need new arch specific image. -FROM node:18-alpine AS builder +FROM node:18.19.0-alpine AS builder RUN apk add bash jq --no-cache COPY --from=yarn-project /usr/src /usr/src WORKDIR /usr/src/yarn-project @@ -18,5 +18,5 @@ RUN yarn workspaces focus @aztec/cli @aztec/aztec-sandbox @aztec/aztec-faucet -- RUN rm -rf /usr/src/noir/target # Create fresh minimal size image. -FROM node:18-alpine +FROM node:18.19.0-alpine COPY --from=builder /usr/src /usr/src \ No newline at end of file diff --git a/yarn-project/canary/Dockerfile b/yarn-project/canary/Dockerfile index 64629daf71a..3856f455c9f 100644 --- a/yarn-project/canary/Dockerfile +++ b/yarn-project/canary/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18-alpine AS builder +FROM node:18.19.0-alpine AS builder RUN apk update && apk add --no-cache bash jq curl @@ -20,7 +20,7 @@ WORKDIR /usr/src/canary RUN ./scripts/update_packages.sh canary ../end-to-end/ RUN yarn && yarn build -FROM node:18-alpine +FROM node:18.19.0-alpine RUN apk update && apk add --no-cache udev ttf-freefont chromium bash ENV CHROME_BIN="/usr/bin/chromium-browser" PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true" diff --git a/yarn-project/canary/Dockerfile.build b/yarn-project/canary/Dockerfile.build index 3173c2100a4..fadd8daaa8b 100644 --- a/yarn-project/canary/Dockerfile.build +++ b/yarn-project/canary/Dockerfile.build @@ -3,7 +3,7 @@ WORKDIR /usr/src/yarn-project/canary # Productionify. See comment in yarn-project-base/Dockerfile. RUN yarn cache clean && yarn workspaces focus --production -FROM node:18-alpine +FROM node:18.19.0-alpine COPY --from=builder /usr/src /usr/src WORKDIR /usr/src/yarn-project/canary ENTRYPOINT ["yarn", "test"] \ No newline at end of file diff --git a/yarn-project/end-to-end/Dockerfile b/yarn-project/end-to-end/Dockerfile index e3e8c489526..d65eda2b13a 100644 --- a/yarn-project/end-to-end/Dockerfile +++ b/yarn-project/end-to-end/Dockerfile @@ -10,7 +10,7 @@ RUN yarn workspaces focus --production && yarn cache clean # Create final, minimal size image. # TODO: Not very minimal as chromium adds about 500MB of bloat :/ Separate or install at test runtime? -FROM node:18-alpine +FROM node:18.19.0-alpine RUN apk update && apk add --no-cache \ jq \ bash \ diff --git a/yarn-project/yarn-project-base/Dockerfile b/yarn-project/yarn-project-base/Dockerfile index a6ed174d487..af266dceb4a 100644 --- a/yarn-project/yarn-project-base/Dockerfile +++ b/yarn-project/yarn-project-base/Dockerfile @@ -47,7 +47,7 @@ FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/bb.js as bb.js FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/noir as noir FROM 278380418400.dkr.ecr.eu-west-2.amazonaws.com/noir-packages as noir-packages -FROM node:18-alpine +FROM node:18.19.0-alpine RUN apk update && apk add --no-cache bash jq curl # Copy L1 contracts. diff --git a/yellow-paper/Dockerfile b/yellow-paper/Dockerfile index 1d9939128e9..ab8cb91196d 100644 --- a/yellow-paper/Dockerfile +++ b/yellow-paper/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18-alpine +FROM node:18.19.0-alpine WORKDIR /usr/src COPY . . RUN yarn && yarn build --no-minify \ No newline at end of file