aboutsummaryrefslogtreecommitdiffstats
path: root/extra/docker/Dockerfile.test-base
blob: b678ebd645d0e8dd27f1f0af1dcbee04e13b2e63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

FROM ubuntu:xenial

ENV RUSTUP_HOME=/usr/local/rustup \
    CARGO_HOME=/usr/local/cargo \
    PATH=/usr/local/cargo/bin:$PATH \
    RUST_VERSION=1.43.0 \
    LC_ALL=C.UTF-8 \
    LANG=C.UTF-8


# Add deadsnakes repo
RUN set -eux; \
    apt update -qy; \
    apt install -y software-properties-common; \
    add-apt-repository -y ppa:deadsnakes/ppa;

# APT dependencies
RUN set -eux; \
    apt update -qy; \
    apt install -y \
        software-properties-common wget pkg-config git \
        libpq-dev libsnappy-dev libsodium-dev software-properties-common \
        python3.7 python3.7-dev python3.7-venv python3.7-distutils \
        python3.8 python3.8-dev python3.8-venv python3.8-distutils \
        python3-dev python3-pip python3-wheel python3-requests python3-six python3-pytest

# Rust setup from docker-rust debian Dockerfile
RUN set -eux; \
    dpkgArch="$(dpkg --print-architecture)"; \
    rustArch='x86_64-unknown-linux-gnu'; rustupSha256='ad1f8b5199b3b9e231472ed7aa08d2e5d1d539198a15c5b1e53c746aad81d27b' ; \
    url="https://static.rust-lang.org/rustup/archive/1.21.1/${rustArch}/rustup-init"; \
    wget "$url"; \
    echo "${rustupSha256} *rustup-init" | sha256sum -c -; \
    chmod +x rustup-init; \
    ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION; \
    rm rustup-init; \
    chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \
    rustup --version; \
    cargo --version; \
    rustc --version;

# Compile and install diesel
RUN set -eux; \
    cargo install diesel_cli --version 1.3.1 --no-default-features --features postgres; \
    diesel --version

# Install pipenv
RUN set -eux; \
    pip3 install pipenv; \
    pipenv --version