You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1012 B

  1. #!/usr/bin/env bash
  2. source util/travis_utils.sh
  3. if [[ "$TRAVIS_COMMIT_MESSAGE" == *"[skip build]"* ]]; then
  4. echo "Skipping due to commit message"
  5. exit 0
  6. fi
  7. if [ "$LOCAL_BRANCH" == "master" ] || [ "$NUM_CORE_CHANGES" != "0" ]; then
  8. echo "Making default keymaps for all keyboards"
  9. make all:default
  10. exit $?
  11. fi
  12. exit_code=0
  13. for KB in $(make list-keyboards); do
  14. KEYBOARD_CHANGES=$(echo "$QMK_CHANGES" | grep -E '^(keyboards/'${KB}'/)')
  15. if [[ -z "$KEYBOARD_CHANGES" ]]; then
  16. # skip as no changes for this keyboard
  17. continue
  18. fi
  19. KEYMAP_ONLY=$(echo "$KEYBOARD_CHANGES" | grep -cv /keymaps/)
  20. if [[ $KEYMAP_ONLY -gt 0 ]]; then
  21. echo "Making all keymaps for $KB"
  22. make ${KB}:all
  23. : $((exit_code = $exit_code + $?))
  24. else
  25. CHANGED_KEYMAPS=$(echo "$KEYBOARD_CHANGES" | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_-]+)(?=\/)')
  26. for KM in $CHANGED_KEYMAPS ; do
  27. echo "Making $KM for $KB"
  28. make ${KB}:${KM}
  29. : $((exit_code = $exit_code + $?))
  30. done
  31. fi
  32. done
  33. exit $exit_code