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:
|
jobs:
|
||||||
build:
|
build:
|
||||||
docker:
|
docker:
|
||||||
- image: dark64/zokrates-env:latest
|
- image: zokrates/env:latest
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
|
@ -27,7 +27,7 @@ jobs:
|
||||||
key: v4-cargo-cache-{{ arch }}-{{ checksum "Cargo.lock" }}
|
key: v4-cargo-cache-{{ arch }}-{{ checksum "Cargo.lock" }}
|
||||||
test:
|
test:
|
||||||
docker:
|
docker:
|
||||||
- image: dark64/zokrates-env:latest
|
- image: zokrates/env:latest
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
|
@ -53,7 +53,7 @@ jobs:
|
||||||
# command: ./scripts/cov.sh
|
# command: ./scripts/cov.sh
|
||||||
cpp_format:
|
cpp_format:
|
||||||
docker:
|
docker:
|
||||||
- image: dark64/zokrates-env:latest
|
- image: zokrates/env:latest
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
|
@ -61,7 +61,7 @@ jobs:
|
||||||
command: run-clang-format.py -r $(pwd)/zokrates_core/lib
|
command: run-clang-format.py -r $(pwd)/zokrates_core/lib
|
||||||
wasm_test:
|
wasm_test:
|
||||||
docker:
|
docker:
|
||||||
- image: dark64/zokrates-env:latest
|
- image: zokrates/env:latest
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
|
@ -78,7 +78,7 @@ jobs:
|
||||||
command: ZOKRATES_HOME=$(pwd)/zokrates_stdlib/stdlib/ cd zokrates_core && wasm-pack test --firefox --headless -- --features wasm
|
command: ZOKRATES_HOME=$(pwd)/zokrates_stdlib/stdlib/ cd zokrates_core && wasm-pack test --firefox --headless -- --features wasm
|
||||||
integration_test:
|
integration_test:
|
||||||
docker:
|
docker:
|
||||||
- image: dark64/zokrates-env:latest
|
- image: zokrates/env:latest
|
||||||
- image: trufflesuite/ganache-cli:next
|
- image: trufflesuite/ganache-cli:next
|
||||||
port: 8545:8545
|
port: 8545:8545
|
||||||
steps:
|
steps:
|
||||||
|
@ -107,7 +107,7 @@ jobs:
|
||||||
command: ./scripts/release.sh
|
command: ./scripts/release.sh
|
||||||
zokrates_js_build:
|
zokrates_js_build:
|
||||||
docker:
|
docker:
|
||||||
- image: dark64/zokrates-env:latest
|
- image: zokrates/env:latest
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- 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
|
ENV WITH_LIBSNARK=1
|
||||||
|
WORKDIR /build
|
||||||
|
|
||||||
|
COPY . src
|
||||||
|
RUN cd src; ./build_release.sh
|
||||||
|
|
||||||
|
FROM ubuntu:18.04
|
||||||
ENV ZOKRATES_HOME=/home/zokrates/.zokrates
|
ENV ZOKRATES_HOME=/home/zokrates/.zokrates
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
COPY --from=build /build/src/scripts/install_libsnark_prerequisites.sh /tmp/
|
||||||
ca-certificates \
|
|
||||||
curl \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
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
|
USER zokrates
|
||||||
|
|
||||||
WORKDIR /home/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
|
ENV PATH "$ZOKRATES_HOME/bin:$PATH"
|
||||||
|
|
||||||
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
|
|
|
@ -1,7 +1,7 @@
|
||||||
FROM ubuntu:18.04
|
FROM ubuntu:18.04
|
||||||
SHELL ["/bin/bash", "-c"]
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
ARG RUST_TOOLCHAIN=nightly-2020-08-05
|
ARG RUST_TOOLCHAIN=nightly-2020-07-27
|
||||||
|
|
||||||
ENV RUSTUP_HOME=/usr/local/rustup \
|
ENV RUSTUP_HOME=/usr/local/rustup \
|
||||||
CARGO_HOME=/usr/local/cargo \
|
CARGO_HOME=/usr/local/cargo \
|
||||||
|
@ -24,23 +24,13 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
clang-format \
|
clang-format \
|
||||||
python3 \
|
python3 \
|
||||||
python-markdown \
|
python-markdown \
|
||||||
|
&& add-apt-repository ppa:jonathonf/firefox-esr; apt-get install -y firefox-esr \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& 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; \
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain $RUST_TOOLCHAIN -y; \
|
||||||
rustup --version; \
|
cargo install --git https://github.com/rustwasm/wasm-pack; \
|
||||||
cargo --version; \
|
curl -sL https://deb.nodesource.com/setup_lts.x | bash -; apt-get install -y nodejs; npm i -g solc; \
|
||||||
rustc --version;
|
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; \
|
||||||
RUN cargo install --git https://github.com/rustwasm/wasm-pack; \
|
ln -s /opt/run-clang-format.py /usr/bin; \
|
||||||
wasm-pack --version;
|
rustup --version; cargo --version; rustc --version; wasm-pack --version; echo nodejs $(node -v); \
|
||||||
|
|
||||||
RUN curl -sL https://deb.nodesource.com/setup_lts.x | bash -; \
|
|
||||||
apt-get install -y nodejs; echo nodejs $(node -v); \
|
|
||||||
npm i -g solc;
|
|
|
@ -1,4 +1,4 @@
|
||||||
FROM dark64/rust-wasm-env:latest
|
FROM zokrates/env:latest
|
||||||
|
|
||||||
COPY . src
|
COPY . src
|
||||||
RUN cd src/zokrates_js && npm run build && rm -rf target/
|
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