117 lines
3.1 KiB
Docker
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"
|