add docker composer for multistage build with single file and remove all unwanted files
This commit is contained in:
parent
5835be8884
commit
6d81c80b40
|
@ -1,4 +1,5 @@
|
||||||
FROM ubuntu:bionic
|
|
||||||
|
FROM ubuntu:bionic AS pybm-build
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
@ -51,7 +52,7 @@ RUN echo 'pool ALL=ALL NOPASSWD:ALL' >> /etc/sudoers
|
||||||
|
|
||||||
## pybm-travis
|
## pybm-travis
|
||||||
|
|
||||||
FROM pybm-build
|
FROM pybm-build AS buildbot-test
|
||||||
|
|
||||||
RUN pip install --upgrade setuptools
|
RUN pip install --upgrade setuptools
|
||||||
|
|
||||||
|
|
17
build.sh
17
build.sh
|
@ -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 .
|
|
|
@ -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
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue