Dockerfile.deploy 1.1 KB

123456789101112131415161718192021222324252627282930
  1. FROM const-gen AS const-export
  2. # This is a multi-stage docker file:
  3. # 1. The first stage contains the built contracts (wasm files)
  4. # 2. The second creates a node.js environment to deploy the contracts to devnet
  5. # local cosmwasm image, built by tilt
  6. FROM cosmwasm_artifacts AS artifacts
  7. # Contract deployment stage
  8. FROM node:22.16-bullseye-slim@sha256:550b434f7edc3a1875860657a3e306752358029c957280809ae6395ab296faeb
  9. RUN apt update && apt install netcat curl jq -y
  10. WORKDIR /app/tools
  11. COPY --from=artifacts / /app/artifacts
  12. COPY ./ts-sdk/package.json ./ts-sdk/package-lock.json /ts-sdk/
  13. RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
  14. npm ci --prefix=/ts-sdk
  15. COPY ./ts-sdk /ts-sdk
  16. # COPY --from=vue-export /vue /vue
  17. RUN npm run build --prefix=/ts-sdk
  18. COPY ./contracts/tools/package.json ./contracts/tools/package-lock.json /app/tools/
  19. RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
  20. npm ci
  21. COPY ./contracts/tools /app/tools
  22. COPY --from=const-export .env /app/tools/.env
  23. COPY --from=const-export devnet-consts.json /app/tools/devnet-consts.json