Skip to content

Commit 0982097

Browse files
optimize: adjust ci dockerfile for faster building (dashpay#4641)
* optimize: adjust ci dockerfile for faster building * remove old comment Co-authored-by: UdjinM6 <[email protected]> * remove unneeded semicolons Co-authored-by: UdjinM6 <[email protected]> * format: make each installed package it's own line to minimize conflicts * sort the installed packages (and a fix) Signed-off-by: Pasta <[email protected]> Co-authored-by: UdjinM6 <[email protected]>
1 parent 0699826 commit 0982097

File tree

1 file changed

+53
-23
lines changed

1 file changed

+53
-23
lines changed

contrib/containers/ci/Dockerfile

Lines changed: 53 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,42 @@ ENV DEBIAN_FRONTEND="noninteractive" TZ="Europe/London"
55

66
# Build and base stuff
77
# (zlib1g-dev and libssl-dev are needed for the Qt host binary builds, but should not be used by target binaries)
8-
# We split this up into multiple RUN lines as we might need to retry multiple times on Travis. This way we allow better
9-
# cache usage.
108
ENV APT_ARGS="-y --no-install-recommends --no-upgrade"
11-
RUN apt-get update && apt-get install $APT_ARGS build-essential git wget unzip && rm -rf /var/lib/apt/lists/*
12-
RUN apt-get update && apt-get install $APT_ARGS g++ && rm -rf /var/lib/apt/lists/*
13-
RUN apt-get update && apt-get install $APT_ARGS autotools-dev libtool m4 automake autoconf pkg-config && rm -rf /var/lib/apt/lists/*
14-
RUN apt-get update && apt-get install $APT_ARGS zlib1g-dev libssl-dev curl ccache bsdmainutils cmake && rm -rf /var/lib/apt/lists/*
15-
RUN apt-get update && apt-get install $APT_ARGS python3 python3-dev && rm -rf /var/lib/apt/lists/*
16-
RUN apt-get update && apt-get install $APT_ARGS python3-pip python3-setuptools && rm -rf /var/lib/apt/lists/*
9+
RUN dpkg --add-architecture i386
10+
RUN apt-get update && apt-get install $APT_ARGS \
11+
autotools-dev \
12+
automake \
13+
autoconf \
14+
build-essential \
15+
bsdmainutils \
16+
curl \
17+
ccache \
18+
cmake \
19+
git \
20+
g++ \
21+
wget \
22+
unzip \
23+
libtool \
24+
libssl-dev \
25+
m4 \
26+
pkg-config \
27+
python3 \
28+
python3-dev \
29+
python3-pip \
30+
python3-setuptools \
31+
zlib1g-dev
1732

1833
# Python stuff
19-
RUN pip3 install pyzmq # really needed?
20-
RUN pip3 install jinja2
21-
RUN pip3 install flake8==3.8.3
22-
RUN pip3 install codespell==1.17.1
23-
RUN pip3 install vulture==2.3
24-
RUN pip3 install yq
34+
RUN pip3 install \
35+
codespell==1.17.1 \
36+
flake8==3.8.3 \
37+
jinja2 \
38+
pyzmq \
39+
vulture==2.3 \
40+
yq
2541

2642
# dash_hash
27-
RUN git clone https://github.com/dashpay/dash_hash
43+
RUN git clone --depth 1 --no-tags https://github.com/dashpay/dash_hash
2844
RUN cd dash_hash && python3 setup.py install
2945

3046
ARG USER_ID=1000
@@ -37,14 +53,28 @@ RUN groupadd -g ${GROUP_ID} dash
3753
RUN useradd -u ${USER_ID} -g dash -s /bin/bash -m -d /dash dash
3854

3955
# Packages needed for all target builds
40-
RUN dpkg --add-architecture i386
41-
RUN apt-get update && apt-get install $APT_ARGS g++-9-multilib && rm -rf /var/lib/apt/lists/*
42-
RUN apt-get update && apt-get install $APT_ARGS g++-arm-linux-gnueabihf && rm -rf /var/lib/apt/lists/*
43-
RUN apt-get update && apt-get install $APT_ARGS g++-mingw-w64-x86-64 && rm -rf /var/lib/apt/lists/*
44-
RUN apt-get update && apt-get install $APT_ARGS wine-stable wine32 wine64 bc nsis xorriso libncurses5 && rm -rf /var/lib/apt/lists/*
45-
RUN apt-get update && apt-get install $APT_ARGS python3-zmq && rm -rf /var/lib/apt/lists/*
46-
RUN apt-get update && apt-get install $APT_ARGS gawk jq parallel && rm -rf /var/lib/apt/lists/*
47-
RUN apt-get update && apt-get install $APT_ARGS imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools && rm -rf /var/lib/apt/lists/*
56+
RUN apt-get update && apt-get install $APT_ARGS \
57+
bc \
58+
gawk \
59+
g++-9-multilib \
60+
g++-arm-linux-gnueabihf \
61+
g++-mingw-w64-x86-64 \
62+
imagemagick \
63+
jq \
64+
libcap-dev \
65+
librsvg2-bin \
66+
libz-dev \
67+
libbz2-dev \
68+
libtiff-tools \
69+
libncurses5 \
70+
nsis \
71+
python3-zmq \
72+
parallel \
73+
wine-stable \
74+
wine32 \
75+
wine64 \
76+
xorriso \
77+
&& rm -rf /var/lib/apt/lists/*
4878

4979
ARG CPPCHECK_VERSION=2.4
5080
RUN curl -sL "https://github.com/danmar/cppcheck/archive/${CPPCHECK_VERSION}.tar.gz" | tar -xvzf - --directory /tmp/

0 commit comments

Comments
 (0)