diff --git a/contrib/ci-builders/Dockerfile-bbworker.arch b/contrib/ci-builders/Dockerfile-bbworker.arch index 0f81aa386..fe2664fb0 100644 --- a/contrib/ci-builders/Dockerfile-bbworker.arch +++ b/contrib/ci-builders/Dockerfile-bbworker.arch @@ -1,17 +1,4 @@ -ARG ARCHLINUX_TAG=20200205 -FROM archlinux:$ARCHLINUX_TAG - -RUN pacman -Syyu --noconfirm \ - && pacman -S --noconfirm \ - base-devel \ - git \ - python3 \ - python-pip \ - 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 python -m pip install virtualenv +FROM electriccoinco/zcashd-build-arch # Buildbot user ARG BUILDBOT_USER=zcbbworker @@ -46,7 +33,7 @@ RUN venv/bin/buildbot-worker create-worker $BUILDBOT_WORKER_NAME \ $BUILDBOT_MASTER_HOST:$BUILDBOT_MASTER_PORT \ $BUILDBOT_WORKER_NAME $BUILDBOT_WORKER_PASS \ && echo "OS: Centos 8" > $BUILDBOT_WORKER_NAME/info/host -ADD buildbot.tac $BUILDBOT_WORKER_NAME/buildbot.tac +ADD bbworker-buildbot.tac $BUILDBOT_WORKER_NAME/buildbot.tac WORKDIR /home/$BUILDBOT_USER/$BUILDBOT_WORKER_NAME CMD ["/usr/bin/dumb-init", "../venv/bin/twistd", "--pidfile=", "-ny", "buildbot.tac"] diff --git a/contrib/ci-builders/Dockerfile-bbworker.centos8 b/contrib/ci-builders/Dockerfile-bbworker.centos8 index 4cf29d9c5..eb1db9484 100644 --- a/contrib/ci-builders/Dockerfile-bbworker.centos8 +++ b/contrib/ci-builders/Dockerfile-bbworker.centos8 @@ -1,17 +1,4 @@ -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 +FROM electriccoinco/zcashd-build-centos8 # Buildbot user ARG BUILDBOT_USER=zcbbworker diff --git a/contrib/ci-builders/Dockerfile-build.arch b/contrib/ci-builders/Dockerfile-build.arch new file mode 100644 index 000000000..c75f5a190 --- /dev/null +++ b/contrib/ci-builders/Dockerfile-build.arch @@ -0,0 +1,23 @@ +ARG ARCHLINUX_TAG +FROM archlinux:$ARCHLINUX_TAG + +RUN pacman -Syyu --noconfirm \ + && pacman -S --noconfirm \ + base-devel \ + git \ + python3 \ + python-pip \ + 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 python -m pip install virtualenv +# AUR for libtinfo5 Source: https://dev.to/cloudx/testing-our-package-build-in-the-docker-world-34p0 +RUN useradd builduser -m \ + && passwd -d builduser \ + && cd /home/builduser \ + && git clone "https://aur.archlinux.org/ncurses5-compat-libs.git" ncurses5-compat-libs \ + && chown builduser -R ncurses5-compat-libs \ + && (printf 'builduser ALL=(ALL) ALL\n' | tee -a /etc/sudoers) \ + && sudo -u builduser bash -c 'gpg --keyserver pool.sks-keyservers.net --recv-keys 702353E0F7E48EDB' \ + && sudo -u builduser bash -c 'cd ~/ncurses5-compat-libs && makepkg -si --noconfirm' \ No newline at end of file diff --git a/contrib/ci-builders/Dockerfile-build.centos8 b/contrib/ci-builders/Dockerfile-build.centos8 new file mode 100644 index 000000000..b5fb3eb20 --- /dev/null +++ b/contrib/ci-builders/Dockerfile-build.centos8 @@ -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 diff --git a/contrib/ci-builders/apt-package-list.txt b/contrib/ci-builders/apt-package-list.txt index 2d08b9ed2..c7813dfdc 100644 --- a/contrib/ci-builders/apt-package-list.txt +++ b/contrib/ci-builders/apt-package-list.txt @@ -3,12 +3,17 @@ 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-dev diff --git a/contrib/ci-builders/docker-build.sh b/contrib/ci-builders/docker-build.sh index 6a37027af..ec34cf4e0 100755 --- a/contrib/ci-builders/docker-build.sh +++ b/contrib/ci-builders/docker-build.sh @@ -1,37 +1,51 @@ # Debian -docker build . -f Dockerfile-build.apt --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=9 -t electriccoinco/zcashd-build:debian9 -docker build . -f Dockerfile-build.apt --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=10 -t electriccoinco/zcashd-build:debian10 +docker build . -f Dockerfile-build.apt --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=9 -t electriccoinco/zcashd-build-debian9 +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:debian9 -docker push electriccoinco/zcashd-build:debian10 +docker push electriccoinco/zcashd-build-debian9 +docker push electriccoinco/zcashd-build-debian10 -docker build . -f Dockerfile-gitian.apt --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=9 -t electriccoinco/zcashd-gitian:debian9 -docker build . -f Dockerfile-gitian.apt --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=10 -t electriccoinco/zcashd-gitian:debian10 +docker build . -f Dockerfile-gitian.apt --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=9 -t electriccoinco/zcashd-gitian-debian9 +docker build . -f Dockerfile-gitian.apt --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=10 -t electriccoinco/zcashd-gitian-debian10 -docker push electriccoinco/zcashd-gitian:debian9 -docker push electriccoinco/zcashd-gitian:debian10 +docker push electriccoinco/zcashd-gitian-debian9 +docker push electriccoinco/zcashd-gitian-debian10 -docker build . -f Dockerfile-bbworker.apt --build-arg BASEOS=debian --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=9 -t electriccoinco/zcashd-bbworker:debian9 -docker build . -f Dockerfile-bbworker.apt --build-arg BASEOS=debian --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=10 -t electriccoinco/zcashd-bbworker:debian10 +docker build . -f Dockerfile-bbworker.apt --build-arg BASEOS=debian --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=9 -t electriccoinco/zcashd-bbworker-debian9 +docker build . -f Dockerfile-bbworker.apt --build-arg BASEOS=debian --build-arg FROMBASEOS=debian --build-arg FROMBASEOS_BUILD_TAG=10 -t electriccoinco/zcashd-bbworker-debian10 -docker push electriccoinco/zcashd-bbworker:debian9 -docker push electriccoinco/zcashd-bbworker:debian10 +docker push electriccoinco/zcashd-bbworker-debian9 +docker push electriccoinco/zcashd-bbworker-debian10 # Ubuntu -docker build . -f Dockerfile-build.apt --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=18.04 -t electriccoinco/zcashd-build:ubuntu18.04 -docker build . -f Dockerfile-build.apt --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=20.04 -t electriccoinco/zcashd-build:ubuntu20.04 +docker build . -f Dockerfile-build.apt --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=18.04 -t electriccoinco/zcashd-build-ubuntu18.04 +docker build . -f Dockerfile-build.apt --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=20.04 -t electriccoinco/zcashd-build-ubuntu20.04 -docker push electriccoinco/zcashd-build:ubuntu18.04 -docker push electriccoinco/zcashd-build:ubuntu20.04 +docker push electriccoinco/zcashd-build-ubuntu18.04 +docker push electriccoinco/zcashd-build-ubuntu20.04 -docker build . -f Dockerfile-gitian.apt --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=18.04 -t electriccoinco/zcashd-gitian:ubuntu18.04 -docker build . -f Dockerfile-gitian.apt --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=20.04 -t electriccoinco/zcashd-gitian:ubuntu20.04 +docker build . -f Dockerfile-gitian.apt --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=18.04 -t electriccoinco/zcashd-gitian-ubuntu18.04 +docker build . -f Dockerfile-gitian.apt --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=20.04 -t electriccoinco/zcashd-gitian-ubuntu20.04 -docker push electriccoinco/zcashd-gitian:ubuntu18.04 -docker push electriccoinco/zcashd-gitian:ubuntu20.04 +docker push electriccoinco/zcashd-gitian-ubuntu18.04 +docker push electriccoinco/zcashd-gitian-ubuntu20.04 -docker build . -f Dockerfile-bbworker.apt --build-arg BASEOS=ubuntu --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=18.04 -t electriccoinco/zcashd-bbworker:ubuntu18.04 -docker build . -f Dockerfile-bbworker.apt --build-arg BASEOS=ubuntu --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=20.04 -t electriccoinco/zcashd-bbworker:ubuntu20.04 +docker build . -f Dockerfile-bbworker.apt --build-arg BASEOS=ubuntu --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=18.04 -t electriccoinco/zcashd-bbworker-ubuntu18.04 +docker build . -f Dockerfile-bbworker.apt --build-arg BASEOS=ubuntu --build-arg FROMBASEOS=ubuntu --build-arg FROMBASEOS_BUILD_TAG=20.04 -t electriccoinco/zcashd-bbworker-ubuntu20.04 -docker push electriccoinco/zcashd-bbworker:ubuntu18.04 -docker push electriccoinco/zcashd-bbworker:ubuntu20.04 \ No newline at end of file +docker push electriccoinco/zcashd-bbworker-ubuntu18.04 +docker push electriccoinco/zcashd-bbworker-ubuntu20.04 + +# Centos +docker build . -f Dockerfile-build.centos8 -t electriccoinco/zcashd-build-centos8 +docker build . -f Dockerfile-bbworker.centos8 -t electriccoinco/zcashd-bbworker-centos8 + +docker push electriccoinco/zcashd-build-centos8 +docker push electriccoinco/zcashd-bbworker-centos8 + +# Arch +docker build . -f Dockerfile-build.arch --build-arg ARCHLINUX_TAG=20200908 -t electriccoinco/zcashd-build-arch +docker build . -f Dockerfile-bbworker.arch -t electriccoinco/zcashd-bbworker-arch + +docker push electriccoinco/zcashd-build-arch +docker push electriccoinco/zcashd-bbworker-arch \ No newline at end of file