PyBitmessage-build/Dockerfile

76 lines
2.1 KiB
Docker

FROM ubuntu:bionic AS pybm-build
ENV DEBIAN_FRONTEND noninteractive
RUN dpkg --add-architecture i386
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
# 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
# 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 git python-stdeb \
python-all-dev
# 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
# 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
# travis2bash
RUN wget -O /usr/local/bin/travis2bash.sh https://storage.bitmessage.org/travis2bash.sh
RUN chmod a+x /usr/local/bin/travis2bash.sh
RUN useradd -ms /bin/bash pool
RUN echo 'pool ALL=ALL NOPASSWD:ALL' >> /etc/sudoers
## pybm-travis
FROM pybm-build AS buildbot-test
RUN pip install --upgrade setuptools
ENV HOME /root
WORKDIR $HOME
RUN git clone https://github.com/Bitmessage/PyBitmessage
RUN apt-get -y install python-prctl g++
WORKDIR $HOME/PyBitmessage
ENV PATH $HOME/.local/bin:$PATH
RUN pip install -r requirements.txt
RUN ln -s src pybitmessage
RUN python setup.py install --user
RUN python checkdeps.py
RUN xvfb-run src/bitmessagemain.py -t
RUN python setup.py test