]> git.donarmstrong.com Git - qmk_firmware.git/blob - util/travis_compiled_push.sh
more than one en-file, and actually ignore docs
[qmk_firmware.git] / util / travis_compiled_push.sh
1 #!/bin/bash
2
3 set -o errexit -o nounset
4
5 rev=$(git rev-parse --short HEAD)
6
7 git config --global user.name "Travis CI"
8 git config --global user.email "jack.humb+travis.ci@gmail.com"
9
10 chmod 600 id_rsa_qmk_firmware
11 chmod 600 qmk.fm
12 eval `ssh-agent -s`
13 ssh-add id_rsa_qmk_firmware
14 ssh-add qmk.fm
15
16 if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" ]] ; then
17
18 increment_version ()
19 {
20   declare -a part=( ${1//\./ } )
21   part[2]=$((part[2] + 1))
22   new="${part[*]}"
23   echo -e "${new// /.}"
24
25
26 NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)' | grep -Ev '^(docs/)' | wc -l)
27 if [[ $NEFM -gt 0 ]] ; then
28         echo "Essential files modified."
29         git fetch --tags
30         lasttag=$(git tag | grep -Ev '\-' | xargs -I@ git log --format=format:"%ai @%n" -1 @ | sort -V | awk '{print $4}' | tail -1)
31         newtag=$(increment_version $lasttag)
32         git tag $newtag
33         git push --tags
34 else
35         echo "No essential files modified."
36 fi
37
38 if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
39
40         make ergodox-ez AUTOGEN=true
41
42         cd ..
43         git clone git@github.com:qmk/qmk.fm.git
44         cd qmk.fm
45         #git submodule update --init --recursive
46         #rm -rf keyboard
47         #rm -rf keyboards
48         #yes | cp -rf ../qmk_firmware/keyboards .
49         #mkdir keyboards/ergodox_ez/
50         #cp ../qmk_firmware/util/ergodox_ez.html keyboards/ergodox_ez/index.html
51         #cp ../qmk_firmware/readme.md qmk_readme.md
52         #./generate.sh
53         rm -f _compiled/*.hex
54         for file in ../qmk_firmware/keyboards/*/keymaps/*/*.hex; do mv -v "$file" "_compiled/${file##*/}"; done
55
56         git add -A
57         git commit -m "generated from qmk/qmk_firmware@${rev}" 
58         git push
59
60 fi
61
62 fi