diff --git a/dockerfiles/base-ci-linux/Dockerfile b/dockerfiles/base-ci-linux/Dockerfile deleted file mode 100644 index 8c224b6d..00000000 --- a/dockerfiles/base-ci-linux/Dockerfile +++ /dev/null @@ -1,69 +0,0 @@ -FROM docker.io/library/debian:buster-slim - -ARG VCS_REF=master -ARG BUILD_DATE="" -ARG REGISTRY_PATH=docker.io/paritytech - -# metadata -LABEL summary="Layer 1 image with all dependencies for Rust and WASM compilation." \ - name="${REGISTRY_PATH}/base-ci-linux" \ - maintainer="devops-team@parity.io" \ - version="1.0" \ - description="libssl-dev, clang, libclang-dev, lld, cmake, make, git, pkg-config \ -curl, time, rhash, rust stable, rust nightly, sccache" \ - io.parity.image.vendor="Parity Technologies" \ - io.parity.image.source="https://github.com/paritytech/scripts/blob/${VCS_REF}/\ -dockerfiles/base-ci-linux/Dockerfile" \ - io.parity.image.documentation="https://github.com/paritytech/scripts/blob/${VCS_REF}/\ -dockerfiles/base-ci-linux/README.md" \ - io.parity.image.revision="${VCS_REF}" \ - io.parity.image.created="${BUILD_DATE}" - -WORKDIR /builds - -# config for wasm32-unknown-unknown & clang -COPY utility/base-ci-linux-config /root/.cargo/config - -ENV RUSTUP_HOME=/usr/local/rustup \ - CARGO_HOME=/usr/local/cargo \ - PATH=/usr/local/cargo/bin:$PATH \ - CC=clang \ - CXX=clang - -# install tools and dependencies -RUN set -eux; \ - apt-get -y update; \ - apt-get install -y --no-install-recommends \ - libssl-dev clang lld libclang-dev make cmake \ - git pkg-config curl time rhash ca-certificates jq; \ -# set a link to clang - update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100; \ -# install rustup, use minimum components - curl -L "https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init" \ - -o rustup-init; \ - chmod +x rustup-init; \ - ./rustup-init -y --no-modify-path --profile minimal --default-toolchain stable; \ - rm rustup-init; \ - chmod -R a+w ${RUSTUP_HOME} ${CARGO_HOME}; \ -# install sccache - # cargo install sccache --features redis; \ - # FIXME: TEMPORARY OVERRIDE due to the sccache issue - # https://github.com/mozilla/sccache/issues/663 - cargo install --git https://github.com/mozilla/sccache --rev 6628e1f70db3d583cb5e79210603ad878de3d315 --features redis; \ -# versions - rustup show; \ - cargo --version; \ -# cargo clean up -# removes compilation artifacts cargo install creates (>250M) - rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache; \ -# apt clean up - apt-get autoremove -y; \ - apt-get clean; \ - rm -rf /var/lib/apt/lists/*; \ -# add non-root user - groupadd -g 1000 nonroot; \ - useradd -u 1000 -g 1000 -s /bin/bash -m nonroot -# cache handler -ENV RUSTC_WRAPPER=sccache \ -# show backtraces - RUST_BACKTRACE=1 diff --git a/dockerfiles/base-ci-linux/README.md b/dockerfiles/base-ci-linux/README.md deleted file mode 100644 index dd62c771..00000000 --- a/dockerfiles/base-ci-linux/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# base-ci-linux - -Docker image based on [official Debian image](https://hub.docker.com/_/debian) debian:buster. - -Used as base for `Substrate`-based CI images. - -Our base CI image ``. - -Used to build and test Substrate-based projects. - -**Dependencies and Tools:** - -- `libssl-dev` -- `clang-7` -- `lld` -- `libclang-dev` -- `make` -- `cmake` -- `git` -- `pkg-config` -- `curl` -- `time` -- `rhash` -- `ca-certificates` - -[Click here](https://hub.docker.com/repository/docker/paritytech/base-ci-linux) for the registry. - -**Rust tools & toolchains:** - -- stable (default) -- `sccache` - -## Usage - -```Dockerfile -FROM docker.io/paritytech/base-ci-linux:latest -``` diff --git a/dockerfiles/base-ci/README.md b/dockerfiles/base-ci/README.md index ab87de20..ac4cb4f8 100644 --- a/dockerfiles/base-ci/README.md +++ b/dockerfiles/base-ci/README.md @@ -1,10 +1,10 @@ -# base-ci-linux +# base-ci -Docker image based on [official Debian image](https://hub.docker.com/_/debian) debian:buster. +Docker image based on [official Ubuntu 20.04 image](https://hub.docker.com/_/ubuntu) ubuntu:20.04. -Used as base for `Substrate`-based CI images. +Used as a base for our CI images. -Our base CI image ``. +Our base CI image ``. Used to build and test Substrate-based projects. @@ -24,7 +24,7 @@ Used to build and test Substrate-based projects. - `ca-certificates` - `jq` -[Click here](https://hub.docker.com/repository/docker/paritytech/base-ci-linux) for the registry. +[Click here](https://hub.docker.com/repository/docker/paritytech/base-ci) for the registry. **Rust tools & toolchains:** @@ -34,5 +34,5 @@ Used to build and test Substrate-based projects. ## Usage ```Dockerfile -FROM docker.io/paritytech/base-ci-linux:latest +FROM docker.io/paritytech/base-ci:latest ``` diff --git a/dockerfiles/ci-linux/Dockerfile b/dockerfiles/ci-linux/Dockerfile index 22f6236b..0243c61f 100644 --- a/dockerfiles/ci-linux/Dockerfile +++ b/dockerfiles/ci-linux/Dockerfile @@ -2,15 +2,15 @@ ARG VCS_REF=master ARG BUILD_DATE="" ARG REGISTRY_PATH=docker.io/paritytech -FROM ${REGISTRY_PATH}/base-ci-linux:latest +FROM ${REGISTRY_PATH}/base-ci:latest # metadata LABEL summary="Image for Substrate-based projects." \ name="${REGISTRY_PATH}/ci-linux" \ maintainer="devops-team@parity.io" \ - version="1.0" \ - description="Inherits from base-ci-linux; chromium-driver, \ -wasm-gc, wasm-bindgen-cli, wasm-pack, cargo-audit, cargo-web, cargo-deny " \ + version="2.0" \ + description="Inherits from paritytech/base-ci; \ +wasm-gc, wasm-bindgen-cli, wasm-pack, cargo-deny " \ io.parity.image.vendor="Parity Technologies" \ io.parity.image.source="https://github.com/paritytech/scripts/blob/${VCS_REF}/\ dockerfiles/ci-linux/Dockerfile" \ @@ -21,9 +21,6 @@ dockerfiles/ci-linux/README.md" \ # install tools and dependencies RUN set -eux && \ - apt-get -y update && \ - apt-get install -y --no-install-recommends \ - chromium-driver && \ # install `rust-src` component for ui test rustup component add rust-src && \ # install specific Rust nightly, default is stable, use minimum components @@ -44,10 +41,6 @@ RUN set -eux && \ # versions rustup show && \ cargo --version && \ -# apt clean up - apt-get autoremove -y && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* && \ # cargo clean up # removes compilation artifacts cargo install creates (>250M) rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache diff --git a/dockerfiles/ci-linux/README.md b/dockerfiles/ci-linux/README.md index 5b8ce2f2..59c7ee03 100644 --- a/dockerfiles/ci-linux/README.md +++ b/dockerfiles/ci-linux/README.md @@ -1,17 +1,16 @@ # ci-linux -Docker image based on our base CI image ``. +Docker image based on our base CI image ``. Used to build and test Substrate-based projects. ## Dependencies and Tools -- `chromium-driver` - -**Inherited from ``:** +**Inherited from ``:** - `libssl-dev` -- `clang-7` +- `clang-10` +- `clang++-10` - `lld` - `libclang-dev` - `make` @@ -22,6 +21,7 @@ Used to build and test Substrate-based projects. - `time` - `rhash` - `ca-certificates` +- `jq` **Rust versions:** @@ -30,12 +30,12 @@ Used to build and test Substrate-based projects. **Rust tools & toolchains:** -- `cargo-web` - `sccache` - `wasm-pack` - `wasm-bindgen` +- `wasm-gc` - `cargo-deny` -- `cargo-spellcheck`: Required for the CI to do automated spell-checking. +- `cargo-spellcheck`: Required for the CI to do automated spell-checking - `wasm32-unknown-unknown` toolchain [Click here](https://hub.docker.com/repository/docker/paritytech/ci-linux) for the registry.