Update dockerfiles for multi stage build #1

Merged
PeterSurda merged 1 commits from cis-muzahid/PyBitmessage-build:merge into master 2021-01-14 16:40:54 +01:00
4 changed files with 43 additions and 52 deletions
Showing only changes of commit 17989a1e63 - Show all commits

View File

@ -1,4 +1,5 @@
FROM ubuntu:bionic

I think this should be
FROM ubuntu:bionic AS pybm-build

I think this should be `FROM ubuntu:bionic AS pybm-build`
FROM ubuntu:bionic AS pybm-build
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive
@ -6,13 +7,15 @@ RUN dpkg --add-architecture i386
RUN apt-get update RUN apt-get update
RUN apt-get -y install sudo
# travis xenial bionic # travis xenial bionic
RUN apt-get install -yq --no-install-suggests --no-install-recommends \ RUN apt-get install -yq --no-install-suggests --no-install-recommends \
python-setuptools libssl-dev python-dev python-virtualenv python-pip python-setuptools libssl-dev libpq-dev python-prctl python-dev python-dev python-virtualenv python-pip
# travis focal # travis focal
RUN apt-get install -yq --no-install-suggests --no-install-recommends \ RUN apt-get install -yq --no-install-suggests --no-install-recommends \
python-setuptools libssl-dev python-dev python3-virtualenv python3-pip python-setuptools libpcap-dev libpq-dev python-prctl python-dev libpcap-dev python3-virtualenv python3-pip
# dpkg # dpkg
RUN apt-get install -yq --no-install-suggests --no-install-recommends \ RUN apt-get install -yq --no-install-suggests --no-install-recommends \
@ -46,3 +49,27 @@ RUN useradd -ms /bin/bash pool
RUN echo 'pool ALL=ALL NOPASSWD:ALL' >> /etc/sudoers RUN echo 'pool ALL=ALL NOPASSWD:ALL' >> /etc/sudoers
## pybm-travis

FROM pybm-build AS buildbot-test

`FROM pybm-build AS buildbot-test`
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

13
docker-compose.yml Normal file
View File

@ -0,0 +1,13 @@
version: "3.4"
services:
pybm-build:
image: pybm-build
build:
dockerfile: Dockerfile
context: .
buildbot-test:
image: buildbot-test
build:
dockerfile: Dockerfile
context: .
target: pybm-build

View File

@ -1,16 +0,0 @@
FROM pybm-build
USER pool
WORKDIR $HOME
RUN git clone https://github.com/Bitmessage/PyBitmessage
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

View File

@ -1,33 +0,0 @@
FROM pybm-build
USER pool
RUN mkdir $HOME/Downloads
WORKDIR $HOME/Downloads
RUN wget https://download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59FBF6D907B/VCForPython27.msi
WORKDIR $HOME
RUN git clone https://github.com/Bitmessage/PyBitmessage
WORKDIR $HOME/PyBitmessage
ENV PATH $HOME/.local/bin:$PATH
RUN ln -s src pybitmessage
# 64b
RUN xvfb-run buildscripts/winbuild.sh
ENV WINEPREFIX $HOME/.wine64
ENV WINEARCH=win64
RUN xvfb-run wine msiexec -i $HOME/Downloads/VCForPython27.msi /q /norestart
RUN xvfb-run winetricks -q dotnet40
RUN xvfb-run wine pip install wheel
RUN xvfb-run wine python setup.py test
# 32b
RUN xvfb-run i386 buildscripts/winbuild.sh
ENV WINEPREFIX $HOME/.wine32
ENV WINEARCH=wine32
RUN xvfb-run i386 wine msiexec -i $HOME/Downloads/VCForPython27.msi /q /norestart
RUN xvfb-run i386 winetricks -q dotnet40
RUN xvfb-run i386 wine pip install wheel
RUN xvfb-run i386 wine python setup.py test