From 7d5c82e3e7e4d6e91d775d023181dfd0233d5438 Mon Sep 17 00:00:00 2001 From: Tomas Babej Date: Sat, 4 Sep 2021 11:56:04 -0400 Subject: [PATCH] meta: Expand review build target to allow specifying PR reference for libshared This allows us to conveniently review PRs for libshared using make LIBPR=62 review and taskwarrior PRs that require libshared PRs as well using make PR=2189 LIBPR=63 review --- CMakeLists.txt | 4 ++-- scripts/review-dockerfile | 18 ++++++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 60e9c441d..ff7d0f95d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -166,8 +166,8 @@ foreach (doc_FILE ${doc_FILES}) endforeach (doc_FILE) add_custom_command(OUTPUT run-review - COMMAND docker build -q --build-arg PR=$(PR) -t taskwarrior-review:$(PR) - < scripts/review-dockerfile - COMMAND docker run --rm --memory 1g --hostname pr-$(PR) -it taskwarrior-review:$(PR) bash || : + COMMAND docker build -q --build-arg PR=$(PR) --build-arg LIBPR=$(LIBPR) -t taskwarrior-review:$(PR)s$(LIBPR) - < scripts/review-dockerfile + COMMAND docker run --rm --memory 1g --hostname pr-$(PR)s$(LIBPR) -it taskwarrior-review:$(PR)s$(LIBPR) bash || : ) add_custom_target(review DEPENDS run-review) diff --git a/scripts/review-dockerfile b/scripts/review-dockerfile index 795111a26..f007782a5 100644 --- a/scripts/review-dockerfile +++ b/scripts/review-dockerfile @@ -23,11 +23,21 @@ RUN cmake -DCMAKE_BUILD_TYPE=debug . RUN make -j8 RUN sudo make install -# Install from the PR's branch +# Use specified PR's branch, if provided 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 if [[ ! -z $PR ]]; then \ + git fetch origin refs/pull/${PR}/head:pr-${PR}; \ + git checkout pr-${PR}; fi + +# Use specified libshared PR's branch, if provided +ARG LIBPR +WORKDIR /home/warrior/taskwarrior/src/libshared/ +RUN if [[ ! -z $LIBPR ]]; then \ + git fetch origin refs/pull/${LIBPR}/head:libpr-${LIBPR}; \ + git checkout libpr-${LIBPR}; fi + +# Install taskwarrior +WORKDIR /home/warrior/taskwarrior/ RUN cmake -DCMAKE_BUILD_TYPE=debug . RUN make -j8 RUN sudo make install