From cb4aa4d4066d496f4ed304efe86be7eb5970f037 Mon Sep 17 00:00:00 2001 From: Rico Huijbers Date: Thu, 6 Jul 2023 12:43:51 +0200 Subject: [PATCH 1/2] chore: download Noctilucent instead fo building it --- packages/aws-cdk/.gitignore | 3 ++ packages/aws-cdk/generate.sh | 27 +++++------- .../aws-cdk/lib/vendor/noctilucent/.gitignore | 4 -- .../aws-cdk/lib/vendor/noctilucent/.keepdir | 0 .../aws-cdk/lib/vendor/noctilucent/Dockerfile | 41 ------------------- 5 files changed, 13 insertions(+), 62 deletions(-) delete mode 100644 packages/aws-cdk/lib/vendor/noctilucent/.gitignore create mode 100644 packages/aws-cdk/lib/vendor/noctilucent/.keepdir delete mode 100644 packages/aws-cdk/lib/vendor/noctilucent/Dockerfile diff --git a/packages/aws-cdk/.gitignore b/packages/aws-cdk/.gitignore index 86263e936e436..778ab4bcae6a9 100644 --- a/packages/aws-cdk/.gitignore +++ b/packages/aws-cdk/.gitignore @@ -36,6 +36,9 @@ test/integ/cli/*.js test/integ/cli/*.d.ts !test/integ/cli-regression-patches/**/* +lib/vendor/noctilucent/* +!lib/vendor/noctilucent/.keepdir + .DS_Store junit.xml diff --git a/packages/aws-cdk/generate.sh b/packages/aws-cdk/generate.sh index aa3ef3136a431..65655572bf459 100755 --- a/packages/aws-cdk/generate.sh +++ b/packages/aws-cdk/generate.sh @@ -15,20 +15,13 @@ cat > build-info.json </dev/null || echo '')" == "${NOCTILUCENT_GIT}:${NOCTILUCENT_COMMIT_ID}" ] -then - echo "⏭️ Noctilucent WASM binary is up-to date, skipping build..." - echo "ℹ️ Delete lib/vendor/noctilucent/.version to force a rebuild." -else - echo "⏳ Building Noctilucent WASM binary for embedding... This will take a while..." - ${CDK_DOCKER:-docker} build --rm \ - --build-arg NOCTILUCENT_GIT="${NOCTILUCENT_GIT}" \ - --build-arg NOCTILUCENT_COMMIT_ID="${NOCTILUCENT_COMMIT_ID}" \ - --file lib/vendor/noctilucent/Dockerfile \ - --target wasm \ - --output type=local,dest=lib/vendor/noctilucent \ - lib/vendor/noctilucent -fi +# Download noctilucent wasm-pack build +NOCTILUCENT_VERSION=0.1.2 +PACK_URL=https://github.com/iph/noctilucent/releases/download/v${NOCTILUCENT_VERSION}/wasm-pack.zip +outdir=lib/vendor/noctilucent + +mkdir -p $outdir +(cd $outdir && curl -sSfLo wasm-pack.zip "$PACK_URL" && unzip -o wasm-pack.zip) + +# Don't need these files +rm $outdir/{.gitignore,README.md,package.json,wasm-pack.zip} diff --git a/packages/aws-cdk/lib/vendor/noctilucent/.gitignore b/packages/aws-cdk/lib/vendor/noctilucent/.gitignore deleted file mode 100644 index 2f2a446da42e4..0000000000000 --- a/packages/aws-cdk/lib/vendor/noctilucent/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Ignore all files in this directory except the Dockerfile -/* -!/.gitignore -!/Dockerfile diff --git a/packages/aws-cdk/lib/vendor/noctilucent/.keepdir b/packages/aws-cdk/lib/vendor/noctilucent/.keepdir new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/packages/aws-cdk/lib/vendor/noctilucent/Dockerfile b/packages/aws-cdk/lib/vendor/noctilucent/Dockerfile deleted file mode 100644 index b0071c6c2b0c9..0000000000000 --- a/packages/aws-cdk/lib/vendor/noctilucent/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM public.ecr.aws/debian/debian:buster-slim as build - -# Install basic pre-requisites -RUN apt-get update \ - && apt-get install -y build-essential curl git libssl-dev openssl pkg-config zsh - -# Make sure we use the correct shell going forward -SHELL ["/bin/zsh", "-c"] - -# Install Rustup -ENV RUSTUP_HOME=/usr/local/rustup -ENV CARGO_HOME=/usr/local/cargo -RUN set -eo pipefail \ - && curl -fSsL "https://sh.rustup.rs" | sh -s -- -y --no-modify-path --profile=minimal \ - && echo "source ${CARGO_HOME}/env" >> /etc/profile.d/cargo.sh \ - && chmod -R a+rw ${CARGO_HOME} -ENV PATH=$PATH:${CARGO_HOME}/bin - -# Install Node -RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ - && apt-get install -y nodejs - -# Install wasm-pack -RUN cargo install wasm-opt wasm-pack - -ARG NOCTILUCENT_GIT -ARG NOCTILUCENT_COMMIT_ID - -# Check out noctilucent -RUN git clone "${NOCTILUCENT_GIT}" "${TMPDIR}/noctilucent" \ - && git -C "${TMPDIR}/noctilucent" checkout -b wasm "${NOCTILUCENT_COMMIT_ID}" - -# Build noctilucent to WASM -RUN cd "${TMPDIR}/noctilucent" \ - && wasm-pack build --target=nodejs --out-name=index --out-dir=/wasm-out \ - && rm --force /wasm-out/.gitignore /wasm-out/README.md /wasm-out/package.json \ - && echo "${NOCTILUCENT_GIT}:${NOCTILUCENT_COMMIT_ID}" > /wasm-out/.version - -#################################################################################################### -FROM scratch as wasm -COPY --from=build /wasm-out / From 101a91760a3914a5154e201cc32da4d4b03937fd Mon Sep 17 00:00:00 2001 From: Rico Huijbers Date: Thu, 6 Jul 2023 13:37:03 +0200 Subject: [PATCH 2/2] Do not double download --- packages/aws-cdk/.gitignore | 1 + packages/aws-cdk/.npmignore | 1 + packages/aws-cdk/generate.sh | 11 ++++++++--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/aws-cdk/.gitignore b/packages/aws-cdk/.gitignore index 778ab4bcae6a9..ba79b3b0cb5c5 100644 --- a/packages/aws-cdk/.gitignore +++ b/packages/aws-cdk/.gitignore @@ -42,3 +42,4 @@ lib/vendor/noctilucent/* .DS_Store junit.xml +tmp/ diff --git a/packages/aws-cdk/.npmignore b/packages/aws-cdk/.npmignore index a5f61214eee06..c59a8edc18921 100644 --- a/packages/aws-cdk/.npmignore +++ b/packages/aws-cdk/.npmignore @@ -31,3 +31,4 @@ junit.xml generate.sh lib/vendor/noctilucent/Dockerfile +tmp/ diff --git a/packages/aws-cdk/generate.sh b/packages/aws-cdk/generate.sh index 65655572bf459..f27a9e2845c7f 100755 --- a/packages/aws-cdk/generate.sh +++ b/packages/aws-cdk/generate.sh @@ -18,10 +18,15 @@ HERE # Download noctilucent wasm-pack build NOCTILUCENT_VERSION=0.1.2 PACK_URL=https://github.com/iph/noctilucent/releases/download/v${NOCTILUCENT_VERSION}/wasm-pack.zip +zipfile=$PWD/tmp/noctilucent-wasm-${NOCTILUCENT_VERSION}.zip outdir=lib/vendor/noctilucent -mkdir -p $outdir -(cd $outdir && curl -sSfLo wasm-pack.zip "$PACK_URL" && unzip -o wasm-pack.zip) +mkdir -p tmp +if [[ ! -f "$zipfile" ]]; then + curl -sSfLo "$zipfile" "$PACK_URL" +fi + +(cd $outdir && unzip -qo $zipfile) # Don't need these files -rm $outdir/{.gitignore,README.md,package.json,wasm-pack.zip} +rm -f $outdir/{.gitignore,README.md,package.json}