1
0
Fork 0
mirror of synced 2025-09-23 12:18:44 +00:00

fix Dockerfile, combine run layers for smaller image

This commit is contained in:
dark64 2020-08-05 20:19:23 +02:00
parent 010998d791
commit d4431fb22a
5 changed files with 29 additions and 73 deletions

View file

@ -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:

View file

@ -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

View file

@ -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;

View file

@ -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/

View file

@ -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