From 6b300b97b40b739ec60f26dee3cd010a67c7dbf0 Mon Sep 17 00:00:00 2001 From: Dan Mick Date: Tue, 14 Mar 2017 13:53:53 -0700 Subject: [PATCH] ceph-docs: Verify push contains docs files; don't build if not Signed-off-by: Dan Mick --- ceph-docs/build/build | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ceph-docs/build/build b/ceph-docs/build/build index 888b1280..01a72095 100644 --- a/ceph-docs/build/build +++ b/ceph-docs/build/build @@ -2,6 +2,22 @@ set -ex +# did any doc/ files change? +# This assumes $GIT_COMMIT is a merge commit (it is usually, because that's how +# we manage ceph, with PRs that include merges). So, noting the three dots, +# this git diff invocation compares the common ancestor between first parent +# (original state of the branch) to the second parent (the branch being merged +# in) i.e., same as git diff $(git merge-base p1 p2) p2 and outputs filenames +# only (--name-only) + +# enclosing doublequotes prevent newlines from disappearing, for grep below +files="$(git diff --name-only ${GIT_COMMIT}^1...${GIT_COMMIT}^2)" +echo -e "changed files:\n$files" +if ! (echo "$files" | grep -sq '^doc/'); then + echo "No doc files changed, skipping build" + exit 0 +fi + ./admin/build-doc REV="$(git rev-parse HEAD)" -- 2.39.5