aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/travis_build.sh57
1 files changed, 34 insertions, 23 deletions
diff --git a/util/travis_build.sh b/util/travis_build.sh
index c9b5fc323..d12a87a94 100644
--- a/util/travis_build.sh
+++ b/util/travis_build.sh
@@ -1,36 +1,47 @@
1#!/bin/bash 1#!/bin/bash
2 2
3# test force push
4#TRAVIS_COMMIT_RANGE="c287f1bfc5c8...81f62atc4c1d"
5
3TRAVIS_COMMIT_MESSAGE="${TRAVIS_COMMIT_MESSAGE:-none}" 6TRAVIS_COMMIT_MESSAGE="${TRAVIS_COMMIT_MESSAGE:-none}"
4TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}" 7TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}"
8MAKE_ALL="make all:default AUTOGEN=\"true\""
5 9
6if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then 10if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
7 exit_code=0 11 exit_code=0
8 NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)' | grep -Ev '^(docs/)' | wc -l) 12 git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE}
9 BRANCH=$(git rev-parse --abbrev-ref HEAD) 13 if [ $? -eq 128 ]; then
10 if [ $NEFM -gt 0 -o "$BRANCH" = "master" ]; then 14 echo "Making default keymaps for all keyboards"
11 echo "Making all keymaps for all keyboards" 15 eval $MAKE_ALL
12 make all:default AUTOGEN="true"
13 : $((exit_code = $exit_code + $?)) 16 : $((exit_code = $exit_code + $?))
14 else 17 else
15 MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_\/]+)(?=\/)' | sort -u) 18 NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)' | grep -Ev '^(docs/)' | wc -l)
16 for KB in $MKB ; do 19 BRANCH=$(git rev-parse --abbrev-ref HEAD)
17 if [[ $KB == *keymaps* ]]; then 20 if [ $NEFM -gt 0 -o "$BRANCH" = "master" ]; then
18 continue 21 echo "Making default keymaps for all keyboards"
19 fi 22 eval $MAKE_ALL
20 KEYMAP_ONLY=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/'${KB}'/keymaps/)' | wc -l) 23 : $((exit_code = $exit_code + $?))
21 if [[ $KEYMAP_ONLY -gt 0 ]]; then 24 else
22 echo "Making all keymaps for $KB" 25 MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_\/]+)(?=\/)' | sort -u)
23 make ${KB}:all AUTOGEN=true 26 for KB in $MKB ; do
24 : $((exit_code = $exit_code + $?)) 27 if [[ $KB == *keymaps* ]]; then
25 else 28 continue
26 MKM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_]+)(?=\/)' | sort -u) 29 fi
27 for KM in $MKM ; do 30 KEYMAP_ONLY=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/'${KB}'/keymaps/)' | wc -l)
28 echo "Making $KM for $KB" 31 if [[ $KEYMAP_ONLY -gt 0 ]]; then
29 make ${KB}:${KM} AUTOGEN=true 32 echo "Making all keymaps for $KB"
33 make ${KB}:all AUTOGEN=true
30 : $((exit_code = $exit_code + $?)) 34 : $((exit_code = $exit_code + $?))
31 done 35 else
32 fi 36 MKM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_]+)(?=\/)' | sort -u)
33 done 37 for KM in $MKM ; do
38 echo "Making $KM for $KB"
39 make ${KB}:${KM} AUTOGEN=true
40 : $((exit_code = $exit_code + $?))
41 done
42 fi
43 done
44 fi
34 fi 45 fi
35 exit $exit_code 46 exit $exit_code
36fi 47fi