Skip to content

Commit

Permalink
Add git hook to skip continous integration
Browse files Browse the repository at this point in the history
if the commit is not related to code under test.
[ci skip]
  • Loading branch information
afh committed Dec 21, 2014
1 parent 5fea9c9 commit 1522a38
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions tools/prepare-commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/sh
#
# Prepare git commit message:
# - Add [ci skip] if the changes seem irrelevant for continuous integration

# Add [ci skip] to the commit message unless there are changes to files
# that are relevant for testing such as src/*, test/*, ledger3.texi, ...
function add_ci_skip()
{
pattern="$1"; shift
if [ $(git diff --cached --name-only | grep --count "$pattern") -eq 0 ]; then
tempfile=$(mktemp $0.XXXXXX)
cat - "$1" <<EOF > "$tempfile"
# It seems the changes to be committed are irrelevant for the continuous
# integration, therefore it will be skipped for this commit.
#
# If you still want continuous integration to run for this commit
# comment or remove the next line.
[ci skip]
EOF
mv "$tempfile" "$1"
fi
}

## MAIN
add_ci_skip '\(^src\|^test\|^doc/ledger3.texi\|CMakeLists.txt\)' "$@"

0 comments on commit 1522a38

Please sign in to comment.