diff --git a/.circleci/config.yml b/.circleci/config.yml index a5179dee..47dd5f74 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -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: diff --git a/Dockerfile b/Dockerfile index f22d41fd..cb4150f8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,34 +1,24 @@ -FROM ubuntu:18.04 +FROM zokrates/env:latest as build -MAINTAINER JacobEberhardt , Thibaut Schaeffer - -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 \ No newline at end of file +ENV PATH "$ZOKRATES_HOME/bin:$PATH" \ No newline at end of file diff --git a/Dockerfile.env b/Dockerfile.env index df95dab3..9bbbeea6 100644 --- a/Dockerfile.env +++ b/Dockerfile.env @@ -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; \ No newline at end of file + 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); \ \ No newline at end of file diff --git a/zokrates_js/Dockerfile b/zokrates_js/Dockerfile index 85a82439..032f1dc8 100644 --- a/zokrates_js/Dockerfile +++ b/zokrates_js/Dockerfile @@ -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/ diff --git a/zokrates_js/Dockerfile.env b/zokrates_js/Dockerfile.env deleted file mode 100644 index 42977155..00000000 --- a/zokrates_js/Dockerfile.env +++ /dev/null @@ -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 \ No newline at end of file