Dockerfile 971 B

12345678910111213141516171819
  1. # This is a multi-stage docker file:
  2. # 1. The first stage builds the contracts
  3. # 2. The second is an empty image with only the wasm files (useful for exporting)
  4. # 3. The third creates a node.js environment to deploy the contracts to devnet
  5. FROM cosmwasm/workspace-optimizer:0.15.0@sha256:e1ba559282ea88cedeb67dd6dd541ad57d1b75c2fb1ce5f476d423458da91b4d AS builder
  6. COPY cosmwasm/Cargo.lock /code/
  7. COPY cosmwasm/Cargo.toml /code/
  8. COPY cosmwasm/contracts /code/contracts
  9. COPY cosmwasm/packages /code/packages
  10. COPY cosmwasm/artifacts /code/artifacts
  11. COPY sdk/rust /sdk/rust
  12. RUN --mount=type=cache,target=/target,id=cosmwasm_target --mount=type=cache,target=/usr/local/cargo/registry optimize.sh .
  13. # Build only shutdown contracts with no default features
  14. RUN --mount=type=cache,target=/target,id=cosmwasm_target --mount=type=cache,target=/usr/local/cargo/registry optimize.sh ./contracts/shutdown-wormhole
  15. FROM scratch as artifacts
  16. COPY --from=builder /code/artifacts /