add docker composer for multistage build with single file and remove all unwanted files

This commit is contained in:
Muzahid Hussain 2021-01-14 07:58:31 +01:00
parent 5835be8884
commit 6d81c80b40
Signed by untrusted user: cis-muzahid
GPG Key ID: FE402425F5C0E6B0
6 changed files with 16 additions and 126 deletions

View File

@ -1,4 +1,5 @@
FROM ubuntu:bionic
FROM ubuntu:bionic AS pybm-build
ENV DEBIAN_FRONTEND noninteractive
@ -51,7 +52,7 @@ RUN echo 'pool ALL=ALL NOPASSWD:ALL' >> /etc/sudoers
## pybm-travis
FROM pybm-build
FROM pybm-build AS buildbot-test
RUN pip install --upgrade setuptools

View File

@ -1,17 +0,0 @@
#!/bin/sh
echo Building pybm-build build
## pybm-build build
sudo docker build -t pybm-build -f docker/bionic-buildenv.docker .
## pybm-travis build
echo Building pybm-travis build
sudo docker build -t pybm-travis -f docker/bionic-travis.docker .
## pybm-travis build
echo Building pybm-travis container
sudo docker run pybm-travis
## pybm-wine build
#docker build -t pybm-wine -f bionic-wine.docker .

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,49 +0,0 @@
FROM ubuntu:bionic
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

View File

@ -1,21 +0,0 @@
FROM pybm-build
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

View File

@ -1,37 +0,0 @@
FROM pybm-build
RUN pip install --upgrade setuptools
RUN pip install pycrypto
ENV HOME /root
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 --auto-servernum --server-num=1 buildscripts/winbuild.sh
ENV WINEPREFIX $HOME/.wine64
ENV WINEARCH=win64
RUN xvfb-run --auto-servernum --server-num=1 wine msiexec -i $HOME/Downloads/VCForPython27.msi /q /norestart
RUN xvfb-run --auto-servernum --server-num=1 winetricks -q dotnet40
RUN xvfb-run --auto-servernum --server-num=1 wine pip install wheel
RUN xvfb-run --auto-servernum --server-num=1 wine python setup.py test
# 32b
RUN xvfb-run --auto-servernum --server-num=2 i386 buildscripts/winbuild.sh
ENV WINEPREFIX $HOME/.wine32
ENV WINEARCH=wine32
RUN xvfb-run --auto-servernum --server-num=3 i386 wine msiexec -i $HOME/Downloads/VCForPython27.msi /q /norestart
RUN xvfb-run --auto-servernum --server-num=4 i386 winetricks -q dotnet40
RUN xvfb-run --auto-servernum --server-num=5 i386 wine pip install wheel
RUN xvfb-run --auto-servernum --server-num=6 i386 wine python setup.py test