buildbot-scripts/docker/bionic/Dockerfile

117 lines
3.1 KiB
Docker

FROM ubuntu:bionic AS pybm-build-bionic
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
software-properties-common
RUN dpkg --add-architecture i386
RUN add-apt-repository ppa:deadsnakes/ppa
RUN apt-get update
RUN apt-get -y install sudo
# travis xenial bionic
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
python-setuptools libssl-dev libpq-dev python-prctl python-dev \
python-dev python-virtualenv python-pip virtualenv
# travis focal
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
python-setuptools libpcap-dev libpq-dev python-prctl python-dev \
libpcap-dev python3-virtualenv python3-pip virtualenv
# dpkg
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
python-minimal python-setuptools python-all python openssl libssl-dev \
dh-apparmor debhelper dh-python python-msgpack python-qt4 python-stdeb \
python-all-dev python-crypto python-pycryptopp python-psutil \
fakeroot python-pytest
# Code quality
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
pylint python-pycodestyle python3-pycodestyle pycodestyle python-flake8 \
python3-flake8 flake8 python-pyflakes python3-pyflakes pyflakes pyflakes3 \
curl shellcheck
# Wine32
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
python python-pip wget wine-stable winetricks mingw-w64 wine32 wine64 xvfb
# Wine64
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
python python-pip wget wine-stable winetricks mingw-w64 wine32 wine64 xvfb
# Buildbot
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
buildbot-slave git subversion python3-dev libffi-dev python3-setuptools \
python3-pip dumb-init curl openssh-client
# python 3.7
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
python3.7 python3.7-dev
# tests
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
shunit2
# .travis.yml
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
build-essential libcap-dev tor
# locales
RUN apt-get install -yq --no-install-suggests --no-install-recommends \
language-pack-en
# Buildozer dependencies
RUN apt install -qq --yes --no-install-recommends \
autoconf \
automake \
build-essential \
ccache \
cmake \
gettext \
git \
libffi-dev \
libltdl-dev \
libssl-dev \
libtool \
openjdk-8-jdk \
patch \
pkg-config \
python2.7 \
python3-pip \
python3-venv \
python3-setuptools \
sudo \
unzip \
zip \
zlib1g-dev
RUN pip3 install "cython==0.28.6"
RUN pip3 install "buildozer==1.0"
# cleanup
RUN rm -rf /var/lib/apt/lists/*
# travis2bash
COPY travis2bash.sh /usr/local/bin
RUN echo 'buildbot ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
COPY entrypoint.sh /entrypoint.sh
USER buildbot
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
ENTRYPOINT /entrypoint.sh "$BUILDMASTER" "$WORKERNAME" "$WORKERPASS"