34 lines
1.1 KiB
Docker
34 lines
1.1 KiB
Docker
FROM ghcr.io/foundry-rs/foundry:nightly-ea2eff95b5c17edd3ffbdfc6daab5ce5cc80afc0@sha256:2a774f86765258a0d176366fc46f92bc14f5040faae7a3c3ba59b1c24c5fa7cb as foundry
|
|
FROM node:19.6.1-slim@sha256:a1ba21bf0c92931d02a8416f0a54daad66cb36a85d2b73af9d73b044f5f57cfc
|
|
|
|
RUN apt-get update && apt-get -y install \
|
|
git python3 make curl netcat vim
|
|
|
|
RUN npm i typescript -g
|
|
COPY --from=foundry /usr/local/bin/forge /bin/forge
|
|
|
|
RUN mkdir -p /app
|
|
WORKDIR /app
|
|
|
|
COPY ethereum/package.json ethereum/package-lock.json ./ethereum/
|
|
RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
|
|
npm ci --prefix ethereum
|
|
COPY ethereum ./ethereum
|
|
|
|
COPY relayer/ethereum/package.json relayer/ethereum/package-lock.json ./relayer/ethereum/
|
|
RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
|
|
npm ci --prefix relayer/ethereum
|
|
COPY relayer/ethereum ./relayer/ethereum
|
|
|
|
COPY solana/idl ./solana/idl/
|
|
|
|
COPY sdk/js/package.json sdk/js/package-lock.json ./sdk/js/
|
|
RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
|
|
npm ci --prefix sdk/js
|
|
COPY sdk/js ./sdk/js
|
|
RUN npm run build --prefix sdk/js
|
|
|
|
COPY testing ./testing
|
|
|
|
WORKDIR /app/testing
|