fix Dockerfile, combine run layers for smaller image
This commit is contained in:
parent
010998d791
commit
d4431fb22a
5 changed files with 29 additions and 73 deletions
|
@ -3,7 +3,7 @@ version: 2
|
|||
jobs:
|
||||
build:
|
||||
docker:
|
||||
- image: dark64/zokrates-env:latest
|
||||
- image: zokrates/env:latest
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
|
@ -27,7 +27,7 @@ jobs:
|
|||
key: v4-cargo-cache-{{ arch }}-{{ checksum "Cargo.lock" }}
|
||||
test:
|
||||
docker:
|
||||
- image: dark64/zokrates-env:latest
|
||||
- image: zokrates/env:latest
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
|
@ -53,7 +53,7 @@ jobs:
|
|||
# command: ./scripts/cov.sh
|
||||
cpp_format:
|
||||
docker:
|
||||
- image: dark64/zokrates-env:latest
|
||||
- image: zokrates/env:latest
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
|
@ -61,7 +61,7 @@ jobs:
|
|||
command: run-clang-format.py -r $(pwd)/zokrates_core/lib
|
||||
wasm_test:
|
||||
docker:
|
||||
- image: dark64/zokrates-env:latest
|
||||
- image: zokrates/env:latest
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
|
@ -78,7 +78,7 @@ jobs:
|
|||
command: ZOKRATES_HOME=$(pwd)/zokrates_stdlib/stdlib/ cd zokrates_core && wasm-pack test --firefox --headless -- --features wasm
|
||||
integration_test:
|
||||
docker:
|
||||
- image: dark64/zokrates-env:latest
|
||||
- image: zokrates/env:latest
|
||||
- image: trufflesuite/ganache-cli:next
|
||||
port: 8545:8545
|
||||
steps:
|
||||
|
@ -107,7 +107,7 @@ jobs:
|
|||
command: ./scripts/release.sh
|
||||
zokrates_js_build:
|
||||
docker:
|
||||
- image: dark64/zokrates-env:latest
|
||||
- image: zokrates/env:latest
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
|
|
38
Dockerfile
38
Dockerfile
|
@ -1,34 +1,24 @@
|
|||
FROM ubuntu:18.04
|
||||
FROM zokrates/env:latest as build
|
||||
|
||||
MAINTAINER JacobEberhardt <jacob.eberhardt@tu-berlin.de>, Thibaut Schaeffer <thibaut@schaeff.fr>
|
||||
|
||||
RUN useradd -u 1000 -m zokrates
|
||||
|
||||
ARG RUST_TOOLCHAIN=nightly-2020-01-01
|
||||
ENV WITH_LIBSNARK=1
|
||||
WORKDIR /build
|
||||
|
||||
COPY . src
|
||||
RUN cd src; ./build_release.sh
|
||||
|
||||
FROM ubuntu:18.04
|
||||
ENV ZOKRATES_HOME=/home/zokrates/.zokrates
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
COPY --from=build /build/src/scripts/install_libsnark_prerequisites.sh /tmp/
|
||||
|
||||
COPY ./scripts/install_libsnark_prerequisites.sh /tmp/
|
||||
RUN /tmp/install_libsnark_prerequisites.sh
|
||||
RUN /tmp/install_libsnark_prerequisites.sh \
|
||||
&& useradd -u 1000 -m zokrates
|
||||
|
||||
USER zokrates
|
||||
|
||||
WORKDIR /home/zokrates
|
||||
|
||||
COPY --chown=zokrates:zokrates . src
|
||||
COPY --from=build --chown=zokrates:zokrates /build/src/target/release/zokrates $ZOKRATES_HOME/bin
|
||||
COPY --from=build --chown=zokrates:zokrates /build/src/zokrates_cli/examples $ZOKRATES_HOME/examples
|
||||
COPY --from=build --chown=zokrates:zokrates /build/src/zokrates_stdlib/stdlib $ZOKRATES_HOME/stdlib
|
||||
|
||||
RUN mkdir $ZOKRATES_HOME
|
||||
|
||||
RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain $RUST_TOOLCHAIN -y \
|
||||
&& export PATH=/home/zokrates/.cargo/bin:$PATH \
|
||||
&& (cd src;./build_release.sh) \
|
||||
&& mv ./src/target/release/zokrates . \
|
||||
&& mv ./src/zokrates_cli/examples . \
|
||||
&& mv ./src/zokrates_stdlib/stdlib/* $ZOKRATES_HOME \
|
||||
&& rustup self uninstall -y \
|
||||
&& rm -rf src
|
||||
ENV PATH "$ZOKRATES_HOME/bin:$PATH"
|
|
@ -1,7 +1,7 @@
|
|||
FROM ubuntu:18.04
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
|
||||
ARG RUST_TOOLCHAIN=nightly-2020-08-05
|
||||
ARG RUST_TOOLCHAIN=nightly-2020-07-27
|
||||
|
||||
ENV RUSTUP_HOME=/usr/local/rustup \
|
||||
CARGO_HOME=/usr/local/cargo \
|
||||
|
@ -24,23 +24,13 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||
clang-format \
|
||||
python3 \
|
||||
python-markdown \
|
||||
&& add-apt-repository ppa:jonathonf/firefox-esr; apt-get install -y firefox-esr \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN add-apt-repository ppa:jonathonf/firefox-esr; \
|
||||
apt-get update; \
|
||||
apt-get install -y firefox-esr
|
||||
|
||||
RUN curl -sL https://raw.githubusercontent.com/Sarcasm/run-clang-format/master/run-clang-format.py > /opt/run-clang-format.py \
|
||||
&& ln -s /opt/run-clang-format.py /usr/bin
|
||||
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain $RUST_TOOLCHAIN -y; \
|
||||
rustup --version; \
|
||||
cargo --version; \
|
||||
rustc --version;
|
||||
|
||||
RUN cargo install --git https://github.com/rustwasm/wasm-pack; \
|
||||
wasm-pack --version;
|
||||
|
||||
RUN curl -sL https://deb.nodesource.com/setup_lts.x | bash -; \
|
||||
apt-get install -y nodejs; echo nodejs $(node -v); \
|
||||
npm i -g solc;
|
||||
cargo install --git https://github.com/rustwasm/wasm-pack; \
|
||||
curl -sL https://deb.nodesource.com/setup_lts.x | bash -; apt-get install -y nodejs; npm i -g solc; \
|
||||
curl -sL https://raw.githubusercontent.com/Sarcasm/run-clang-format/master/run-clang-format.py > /opt/run-clang-format.py; \
|
||||
chmod +x /opt/run-clang-format.py; \
|
||||
ln -s /opt/run-clang-format.py /usr/bin; \
|
||||
rustup --version; cargo --version; rustc --version; wasm-pack --version; echo nodejs $(node -v); \
|
|
@ -1,4 +1,4 @@
|
|||
FROM dark64/rust-wasm-env:latest
|
||||
FROM zokrates/env:latest
|
||||
|
||||
COPY . src
|
||||
RUN cd src/zokrates_js && npm run build && rm -rf target/
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
FROM node:10
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
|
||||
ARG RUST_VERSION=nightly
|
||||
|
||||
ENV RUSTUP_HOME=/usr/local/rustup \
|
||||
CARGO_HOME=/usr/local/cargo \
|
||||
PATH=/usr/local/cargo/bin:$PATH
|
||||
|
||||
RUN set -eux; \
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
gcc \
|
||||
libc6-dev \
|
||||
; \
|
||||
\
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --default-toolchain $RUST_VERSION; \
|
||||
chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \
|
||||
rustup --version; \
|
||||
cargo --version; \
|
||||
rustc --version;
|
||||
|
||||
RUN cargo install --git https://github.com/rustwasm/wasm-pack
|
Loading…
Reference in a new issue