Auto merge of #5154 - mdr0id:ci_builder_updates, r=str4d
CI Builder Updates & Refactors To support existing legacy pinned Docker builder/workers in Buildbot, it is valuable to move these into their own folder. The new directory structured is intended to simplify development/deployment of Docker Tekton builder/worker images and remove overhead related to potential Buildbot CI depreciation.
This commit is contained in:
commit
75914efc25
|
@ -0,0 +1,9 @@
|
||||||
|
ARG FROMBASEOS
|
||||||
|
ARG FROMBASEOS_BUILD_TAG
|
||||||
|
FROM $FROMBASEOS:$FROMBASEOS_BUILD_TAG
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
ADD apt-package-list.txt /tmp/apt-package-list.txt
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y $(tr "\n" " " < /tmp/apt-package-list.txt) \
|
||||||
|
&& update-alternatives --install /usr/bin/python python /usr/bin/python3 1
|
|
@ -0,0 +1,14 @@
|
||||||
|
ARG FROMBASEOS
|
||||||
|
ARG FROMBASEOS_BUILD_TAG
|
||||||
|
FROM $FROMBASEOS:$FROMBASEOS_BUILD_TAG
|
||||||
|
|
||||||
|
RUN pacman -Syyu --noconfirm \
|
||||||
|
&& pacman -S --noconfirm \
|
||||||
|
base-devel \
|
||||||
|
git \
|
||||||
|
python3 \
|
||||||
|
python-pip \
|
||||||
|
ncurses \
|
||||||
|
wget
|
||||||
|
|
||||||
|
RUN sudo link /lib/libtinfo.so.6 /lib/libtinfo.so.5
|
|
@ -0,0 +1,14 @@
|
||||||
|
FROM centos:8
|
||||||
|
|
||||||
|
RUN yum update -y \
|
||||||
|
&& dnf group install -y "Development Tools" \
|
||||||
|
&& yum install -y \
|
||||||
|
ncurses-compat-libs \
|
||||||
|
python3 \
|
||||||
|
python3-devel \
|
||||||
|
wget
|
||||||
|
|
||||||
|
RUN wget -O /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64
|
||||||
|
RUN chmod +x /usr/bin/dumb-init
|
||||||
|
RUN alternatives --set python /usr/bin/python3 \
|
||||||
|
&& python3 -m pip install virtualenv
|
|
@ -0,0 +1,11 @@
|
||||||
|
ARG FROMBASEOS
|
||||||
|
ARG FROMBASEOS_BUILD_TAG
|
||||||
|
FROM electriccoinco/zcashd-build-$FROMBASEOS$FROMBASEOS_BUILD_TAG
|
||||||
|
|
||||||
|
ADD requirements.txt requirements.txt
|
||||||
|
RUN python -m venv venv \
|
||||||
|
&& . venv/bin/activate \
|
||||||
|
&& pip install --upgrade pip \
|
||||||
|
&& python -m pip install -r requirements.txt
|
||||||
|
|
||||||
|
ADD ./zcash-params /home/.zcash-params
|
|
@ -0,0 +1,35 @@
|
||||||
|
# zcashd ci Docker images
|
||||||
|
|
||||||
|
These Dockerfiles can be used to build zcashd.
|
||||||
|
|
||||||
|
The current objective is to build a base image for each distribution that includes the system packages to build zcashd. From `build` images, more targeted images are created.
|
||||||
|
|
||||||
|
The process is meant to be automated, but an example `docker-build.sh` script is included.
|
||||||
|
|
||||||
|
|
||||||
|
## build images
|
||||||
|
`apt-package-tekton-list.txt` contains the required packages for debian based systems.
|
||||||
|
|
||||||
|
`Dockerfile-build.apt` uses that file, and some build time arguments, to build apt based build images.
|
||||||
|
|
||||||
|
Currently available images are hosted at
|
||||||
|
https://hub.docker.com/r/electriccoinco/zcashd-build/tags
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Tekton worker images
|
||||||
|
|
||||||
|
`Dockerfile-tekton-worker` uses the above build images as a base and layers on toolchains needed for testing
|
||||||
|
|
||||||
|
- requirements.txt is the python package requirements for the tekton worker
|
||||||
|
|
||||||
|
Currently available images are hosted at https://hub.docker.com/r/electriccoinco
|
||||||
|
|
||||||
|
|
||||||
|
### Stand alone, best effort images
|
||||||
|
|
||||||
|
Additional Tekton base builders for Centos8 and Arch. Can be used with `Dockerfile-tekton-worker` to create Tekton workers.
|
||||||
|
|
||||||
|
- Dockerfile-build.arch
|
||||||
|
- Dockerfile-build.centos8
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
autoconf
|
||||||
|
bsdmainutils
|
||||||
|
build-essential
|
||||||
|
cmake
|
||||||
|
curl
|
||||||
|
g++-aarch64-linux-gnu
|
||||||
|
git
|
||||||
|
lcov
|
||||||
|
libcap-dev
|
||||||
|
libffi-dev
|
||||||
|
libtinfo5
|
||||||
|
libtool
|
||||||
|
libssl-dev
|
||||||
|
libz-dev
|
||||||
|
libbz2-dev
|
||||||
|
mingw-w64
|
||||||
|
pkg-config
|
||||||
|
python3
|
||||||
|
python3-pip
|
||||||
|
python3-dev
|
||||||
|
python3-venv
|
||||||
|
valgrind
|
||||||
|
wget
|
||||||
|
zstd
|
|
@ -0,0 +1,60 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
export LC_ALL=C
|
||||||
|
set -exo pipefail
|
||||||
|
|
||||||
|
# Debian 9
|
||||||
|
docker build . -f Dockerfile-build-python.apt --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=9 -t electriccoinco/zcashd-build-debian9
|
||||||
|
docker push electriccoinco/zcashd-build-debian9
|
||||||
|
|
||||||
|
docker build . -f Dockerfile-tekton-worker --build-arg BASEOS=debian --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=9 -t electriccoinco/zcashd-worker-debian9
|
||||||
|
docker push electriccoinco/zcashd-worker-debian9
|
||||||
|
|
||||||
|
# Debian 10
|
||||||
|
docker build . -f Dockerfile-build.apt --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=10 -t electriccoinco/zcashd-build-debian10
|
||||||
|
docker push electriccoinco/zcashd-build-debian10
|
||||||
|
|
||||||
|
docker build . -f Dockerfile-tekton-worker --build-arg BASEOS=debian --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=10 -t electriccoinco/zcashd-worker-debian10
|
||||||
|
docker push electriccoinco/zcashd-worker-debian10
|
||||||
|
|
||||||
|
# Debian 11
|
||||||
|
docker build . -f Dockerfile-build.apt --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=bullseye -t electriccoinco/zcashd-build-debian11
|
||||||
|
docker push electriccoinco/zcashd-build-debian11
|
||||||
|
|
||||||
|
docker build . -f Dockerfile-tekton-worker --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=11 -t electriccoinco/zcashd-worker-debian11
|
||||||
|
docker push electriccoinco/zcashd-worker-debian11
|
||||||
|
|
||||||
|
# Ubuntu 16.04
|
||||||
|
docker build . -f Dockerfile-build.apt --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=16.04 -t electriccoinco/zcashd-build-ubuntu1604
|
||||||
|
docker push electriccoinco/zcashd-build-ubuntu1604
|
||||||
|
|
||||||
|
docker build . -f Dockerfile-tekton-worker --build-arg BASEOS=ubuntu --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=1604 -t electriccoinco/zcashd-worker-ubuntu1604
|
||||||
|
docker push electriccoinco/zcashd-worker-ubuntu1604
|
||||||
|
|
||||||
|
# Ubuntu 18.04
|
||||||
|
docker build . -f Dockerfile-build.apt --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=18.04 -t electriccoinco/zcashd-build-ubuntu1804
|
||||||
|
docker push electriccoinco/zcashd-build-ubuntu1804
|
||||||
|
|
||||||
|
docker build . -f Dockerfile-tekton-worker --build-arg BASEOS=ubuntu --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=1804 -t electriccoinco/zcashd-worker-ubuntu1804
|
||||||
|
docker push electriccoinco/zcashd-worker-ubuntu1804
|
||||||
|
|
||||||
|
# Ubuntu 20.04
|
||||||
|
docker build . -f Dockerfile-build.apt --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=20.04 -t electriccoinco/zcashd-build-ubuntu2004
|
||||||
|
docker push electriccoinco/zcashd-build-ubuntu2004
|
||||||
|
|
||||||
|
docker build . -f Dockerfile-tekton-worker --build-arg BASEOS=ubuntu --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=2004 -t electriccoinco/zcashd-worker-ubuntu2004
|
||||||
|
docker push electriccoinco/zcashd-worker-ubuntu2004
|
||||||
|
|
||||||
|
# Centos8
|
||||||
|
docker build . -f Dockerfile-build.centos8 -t electriccoinco/zcashd-build-centos8
|
||||||
|
docker push electriccoinco/zcashd-build-centos8
|
||||||
|
|
||||||
|
docker build . -f Dockerfile-tekton-worker --build-arg FROMBASEOS=centos --build-arg FROMBASEOS_BUILD_TAG=8 -t electriccoinco/zcashd-worker-centos8
|
||||||
|
docker push electriccoinco/zcashd-worker-centos8
|
||||||
|
|
||||||
|
# Arch 20210418.0.20194
|
||||||
|
docker build . -f Dockerfile-build.arch --build-arg FROMBASEOS=archlinux --build-arg FROMBASEOS_BUILD_TAG=base-20210418.0.20194 -t electriccoinco/zcashd-build-archlinux
|
||||||
|
docker push electriccoinco/zcashd-build-archlinux
|
||||||
|
|
||||||
|
docker build . -f Dockerfile-tekton-worker --build-arg FROMBASEOS=archlinux -t electriccoinco/zcashd-worker-archlinux
|
||||||
|
docker push electriccoinco/zcashd-worker-archlinux
|
|
@ -0,0 +1,8 @@
|
||||||
|
wheel
|
||||||
|
pyblake2
|
||||||
|
pyflakes
|
||||||
|
pyutil
|
||||||
|
pyzmq
|
||||||
|
requests
|
||||||
|
simplejson
|
||||||
|
twisted[tls]
|
Loading…
Reference in New Issue