From e2f96b9d5302930c6559bee9f88c6d7c9d1d67df Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 12 Apr 2019 17:19:50 -0700 Subject: [PATCH] Streamline Travis CI scripting We don't need anything fancy, just a few tests, and that's it. All of the QMK Firmware stuff is excessive for what we need. --- .travis.yml | 13 ++----- util/travis_build.sh | 47 ------------------------- util/travis_compiled_push.sh | 68 ------------------------------------ util/travis_docs.sh | 14 -------- util/travis_push.sh | 19 ---------- 5 files changed, 2 insertions(+), 159 deletions(-) delete mode 100755 util/travis_build.sh delete mode 100755 util/travis_compiled_push.sh delete mode 100755 util/travis_docs.sh delete mode 100755 util/travis_push.sh diff --git a/.travis.yml b/.travis.yml index 41a1019978ad..a827700362fa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,7 @@ branches: env: global: - secure: vBTSL34BDPxDilKUuTXqU4CJ26Pv5hogD2nghatkxSQkI1/jbdnLj/DQdPUrMJFDIY6TK3AltsBx72MaMsLQ1JO/Ou24IeHINHXzUC1FlS9yQa48cpxnhX5kzXNyGs3oa0qaFbvnr7RgYRWtmD52n4bIZuSuW+xpBv05x2OCizdT2ZonH33nATaHGFasxROm4qYZ241VfzcUv766V6RVHgL4x9V08warugs+RENVkfzxxwhk3NmkrISabze0gSVJLHBPHxroZC6EUcf/ocobcuDrCwFqtEt90i7pNIAFUE7gZsN2uE75LmpzAWin21G7lLPcPL2k4FJVd8an1HiP2WmscJU6U89fOfMb2viObnKcCzebozBCmKGtHEuXZo9FcReOx49AnQSpmESJGs+q2dL/FApkTjQiyT4J6O5dJpoww0/r57Wx0cmmqjETKBb5rSgXM51Etk3wO09mvcPHsEwrT7qH8r9XWdyCDoEn7FCLX3/LYnf/D4SmZ633YPl5gv3v9XEwxR5+04akjgnvWDSNIaDbWBdxHNb7l4pMc+WR1bwCyMyA7KXj0RrftEGOrm9ZRLe6BkbT4cycA+j77nbPOMcyZChliV9pPQos+4TOJoTzcK2L8yWVoY409aDNVuAjdP6Yum0R2maBGl/etLmIMpJC35C5/lZ+dUNjJAM= + - MAKEFLAGS="-j3 --output-sync" before_install: - wget http://ww1.microchip.com/downloads/en/DeviceDoc/avr8-gnu-toolchain-3.5.4.1709-linux.any.x86_64.tar.gz || wget http://qmk.fm/avr8-gnu-toolchain-3.5.4.1709-linux.any.x86_64.tar.gz install: @@ -21,8 +22,7 @@ before_script: script: - git rev-parse --short HEAD - make test:all -- bash util/travis_build.sh -- bash util/travis_docs.sh +- make all:default addons: apt: packages: @@ -34,12 +34,3 @@ addons: - diffutils - dos2unix - doxygen -after_success: - bash util/travis_compiled_push.sh -notifications: - webhooks: - urls: - - https://webhooks.gitter.im/e/afce403d65f143dfac09 - on_success: always # options: [always|never|change] default: always - on_failure: always # options: [always|never|change] default: always - on_start: never # options: [always|never|change] default: always diff --git a/util/travis_build.sh b/util/travis_build.sh deleted file mode 100755 index a25d871e2df8..000000000000 --- a/util/travis_build.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -# test force push -#TRAVIS_COMMIT_RANGE="c287f1bfc5c8...81f62atc4c1d" - -TRAVIS_COMMIT_MESSAGE="${TRAVIS_COMMIT_MESSAGE:-none}" -TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}" -MAKE_ALL="make all:default" - -if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then - exit_code=0 - git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} - if [ $? -eq 128 ]; then - echo "Making default keymaps for all keyboards" - eval $MAKE_ALL - : $((exit_code = $exit_code + $?)) - else - NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)' | grep -Ev '^(docs/)' | wc -l) - BRANCH=$(git rev-parse --abbrev-ref HEAD) - if [ $NEFM -gt 0 -o "$BRANCH" = "master" ]; then - echo "Making default keymaps for all keyboards" - eval $MAKE_ALL - : $((exit_code = $exit_code + $?)) - else - MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_\/]+)(?=\/)' | sort -u) - for KB in $MKB ; do - if [[ $KB == *keymaps* ]]; then - continue - fi - KEYMAP_ONLY=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/'${KB}'/keymaps/)' | wc -l) - if [[ $KEYMAP_ONLY -gt 0 ]]; then - echo "Making all keymaps for $KB" - make ${KB}:all - : $((exit_code = $exit_code + $?)) - else - MKM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_]+)(?=\/)' | sort -u) - for KM in $MKM ; do - echo "Making $KM for $KB" - make ${KB}:${KM} - : $((exit_code = $exit_code + $?)) - done - fi - done - fi - fi - exit $exit_code -fi diff --git a/util/travis_compiled_push.sh b/util/travis_compiled_push.sh deleted file mode 100755 index d76030f8310f..000000000000 --- a/util/travis_compiled_push.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash - -source util/travis_push.sh - -set -o errexit -o nounset - -rev=$(git rev-parse --short HEAD) -echo "Using git hash ${rev}" - -if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" ]] ; then - -# convert to unix line-endings -git checkout master -git diff --diff-filter=M --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 dos2unix -git diff --diff-filter=M --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 git add -git commit -m "convert to unix line-endings [skip ci]" && git push git@github.com:qmk/qmk_firmware.git master - -increment_version () -{ - declare -a part=( ${1//\./ } ) - part[2]=$((part[2] + 1)) - new="${part[*]}" - echo -e "${new// /.}" -} - -git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} - -NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)' | grep -Ev '^(docs/)' | grep -Ev '^(users/)' | grep -Ev '^(layouts/)' | wc -l) -if [[ $NEFM -gt 0 ]] ; then - echo "Essential files modified." - git fetch --tags - #lasttag=$(git describe --tags $(git rev-list --tags --max-count=10) | grep -Ev '\-' | xargs -I@ git log --format=format:"%ai @%n" -1 @ | sort -V | awk '{print $4}' | tail -1) - lasttag=$(git describe --tags $(git rev-list --tags --max-count=10) | grep -Ev '\-' | sort -V | tail -1) - newtag=$(increment_version $lasttag) - until git tag $newtag; do - newtag=$(increment_version $newtag) - done - git push --tags git@github.com:qmk/qmk_firmware.git -else - echo "No essential files modified." -fi - -if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then - make generate-keyboards-file SILENT=true > .keyboards - cd .. - git clone git@github.com:qmk/qmk.fm.git - cd qmk.fm - mv ../qmk_firmware/id_rsa_qmk.fm id_rsa_qmk.fm - mv ../qmk_firmware/.keyboards . - ssh-add -D - eval `ssh-agent -s` - ssh-add id_rsa_qmk.fm - - # don't delete files in case not all keyboards are built - # rm -f compiled/*.hex - - # ignore errors here - # In theory, this is more flexible, and will allow for additional expansion of additional types of files and other names - mv ../qmk_firmware/*_default.*[hb][ei][xn] ./compiled/ || true - - bash _util/generate_keyboard_page.sh - git add -A - git commit -m "generated from qmk/qmk_firmware@${rev}" - git push git@github.com:qmk/qmk.fm.git - -fi - -fi diff --git a/util/travis_docs.sh b/util/travis_docs.sh deleted file mode 100755 index 5cfd63466d22..000000000000 --- a/util/travis_docs.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -source util/travis_push.sh - -if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip docs]"* ]] ; then - if git diff --name-only ${TRAVIS_COMMIT_RANGE} | grep -e '^quantum/' -e '^tmk_core/' -e '^docs/internals_.*'; then - echo "Generating internal docs..." - rm -rf doxygen - doxygen Doxyfile - moxygen -q -a -g -o docs/internals_%s.md doxygen/xml - git add docs/internals_* - git commit -m'autogenerated internal docs for ${TRAVIS_COMMIT_RANGE}' || true - fi -fi diff --git a/util/travis_push.sh b/util/travis_push.sh deleted file mode 100755 index d100f9d48f7a..000000000000 --- a/util/travis_push.sh +++ /dev/null @@ -1,19 +0,0 @@ -# Use this by sourcing it in your script. - -TRAVIS_BRANCH="${TRAVIS_BRANCH:master}" -TRAVIS_PULL_REQUEST="${TRAVIS_PULL_REQUEST:false}" -TRAVIS_COMMIT_MESSAGE="${TRAVIS_COMMIT_MESSAGE:-none}" -TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}" - -if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" ]] ; then - git config --global user.name "QMK Bot" - git config --global user.email "hello@qmk.fm" - - openssl aes-256-cbc -K $encrypted_b0ee987fd0fc_key -iv $encrypted_b0ee987fd0fc_iv -in secrets.tar.enc -out secrets.tar -d - tar xvf secrets.tar - - chmod 600 id_rsa_qmk_firmware - chmod 600 id_rsa_qmk.fm - eval `ssh-agent -s` - ssh-add id_rsa_qmk_firmware -fi