From 522ef20a857d40a5d5b27d310bd656484e6ff786 Mon Sep 17 00:00:00 2001 From: Tomas Babej Date: Fri, 4 Dec 2020 00:16:56 -0500 Subject: [PATCH] scripts: Add a dockerfile to build review images This automates the review process of a given PR by checking out the current HEAD of the given PR and installing TW in a container. --- scripts/review-dockerfile | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 scripts/review-dockerfile diff --git a/scripts/review-dockerfile b/scripts/review-dockerfile new file mode 100644 index 000000000..795111a26 --- /dev/null +++ b/scripts/review-dockerfile @@ -0,0 +1,36 @@ +# Dockerfile for containers to perform PR review in +# Use with make as follows: make PR=1234 review + +FROM centos:8 + +RUN dnf update -y +RUN yum install epel-release -y +RUN dnf install python38 git gcc gcc-c++ cmake make gnutls-devel libuuid-devel libfaketime sudo man -y + +RUN useradd warrior +RUN echo warrior ALL=NOPASSWD:ALL > /etc/sudoers.d/warrior + +USER warrior +WORKDIR /home/warrior/ + +# Setup taskwarrior +# The purpose is to speed up subsequent re-installs due to Docker layer caching +RUN git clone https://github.com/GothenburgBitFactory/taskwarrior.git +WORKDIR /home/warrior/taskwarrior/ +RUN git submodule init +RUN git submodule update +RUN cmake -DCMAKE_BUILD_TYPE=debug . +RUN make -j8 +RUN sudo make install + +# Install from the PR's branch +ARG PR +ADD https://github.com/GothenburgBitFactory/taskwarrior/pull/${PR}.patch . +RUN git fetch origin refs/pull/${PR}/head:pr-${PR} +RUN git checkout pr-${PR} +RUN cmake -DCMAKE_BUILD_TYPE=debug . +RUN make -j8 +RUN sudo make install + +WORKDIR /home/warrior +RUN task rc.confirmation=0 _ids || : # Generate default taskrc