FROM ubuntu:bionic AS base ENV DEBIAN_FRONTEND noninteractive ENV TRAVIS_SKIP_APT_UPDATE 1 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 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 -y install sudo RUN apt-get install -yq --no-install-suggests --no-install-recommends \ # travis xenial bionic python-setuptools libssl-dev python-prctl \ python-dev python-virtualenv python-pip virtualenv \ # dpkg python-minimal python-all python openssl libssl-dev \ dh-apparmor debhelper dh-python python-msgpack python-qt4 git python-stdeb \ python-all-dev python-crypto python-psutil \ fakeroot python-pytest python3-wheel \ # Code quality pylint python-pycodestyle python3-pycodestyle pycodestyle python-flake8 \ python3-flake8 flake8 python-pyflakes python3-pyflakes pyflakes pyflakes3 \ curl \ # Wine python python-pip wget wine-stable winetricks mingw-w64 wine32 wine64 xvfb \ # Buildbot python3-dev libffi-dev python3-setuptools \ python3-pip \ # python 3.7 python3.7 python3.7-dev \ # .travis.yml build-essential libcap-dev tor \ language-pack-en # cleanup RUN rm -rf /var/lib/apt/lists/* ##################################################################################################### FROM base AS travis # travis2bash RUN wget -O /usr/local/bin/travis2bash.sh https://git.bitmessage.org/Bitmessage/buildbot-scripts/raw/branch/master/travis2bash.sh RUN chmod +x /usr/local/bin/travis2bash.sh RUN useradd -m -U builder RUN echo 'builder ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers # copy sources COPY . /home/builder/src RUN chown -R builder.builder /home/builder/src USER builder WORKDIR /home/builder/src ENTRYPOINT /usr/local/bin/travis2bash.sh ##################################################################################################### FROM base AS buildbot # travis2bash RUN wget -O /usr/local/bin/travis2bash.sh https://git.bitmessage.org/Bitmessage/buildbot-scripts/raw/branch/master/travis2bash.sh RUN chmod +x /usr/local/bin/travis2bash.sh # copy entrypoint COPY packages/docker/buildbot-entrypoint.sh entrypoint.sh RUN chmod +x entrypoint.sh RUN useradd -m -U buildbot RUN echo 'buildbot ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers USER buildbot ENTRYPOINT /entrypoint.sh "$BUILDMASTER" "$WORKERNAME" "$WORKERPASS" ################################################################################################# FROM base AS appimage COPY . /home/builder/src WORKDIR /home/builder/src RUN VERSION=$(python setup.py -V) \ && python setup.py sdist \ && python setup.py --command-packages=stdeb.command bdist_deb \ && dpkg-deb -I deb_dist/pybitmessage_${VERSION}-1_amd64.deb RUN buildscripts/appimage.sh RUN VERSION=$(python setup.py -V) \ && out/PyBitmessage-${VERSION}.glibc2.15-x86_64.AppImage --appimage-extract-and-run -t FROM base AS appandroid COPY . /home/builder/src WORKDIR /home/builder/src RUN chmod +x buildscripts/androiddev.sh RUN buildscripts/androiddev.sh