@ -1,38 +0,0 @@ | |||||
os: linux | |||||
dist: trusty | |||||
group: edge | |||||
language: c | |||||
branches: | |||||
except: | |||||
- /^.*-automated-build$/ | |||||
- /^[0-9]+\.[0-9]+\.[0-9]+/ | |||||
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" | |||||
services: | |||||
- docker | |||||
addons: | |||||
apt: | |||||
sources: | |||||
- ubuntu-toolchain-r-test | |||||
- llvm-toolchain-trusty-7 | |||||
packages: | |||||
- diffutils | |||||
- clang-format-7 | |||||
- libstdc++-7-dev | |||||
script: | |||||
- git fetch --depth=50 origin $TRAVIS_BRANCH:$TRAVIS_BRANCH | |||||
- git rev-parse --short HEAD | |||||
- git diff --name-only HEAD $TRAVIS_BRANCH | |||||
- bash util/travis_test.sh | |||||
- bash util/travis_build.sh | |||||
after_script: | |||||
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 |
@ -1,40 +0,0 @@ | |||||
#!/usr/bin/env bash | |||||
source util/travis_utils.sh | |||||
if [[ "$TRAVIS_COMMIT_MESSAGE" == *"[skip build]"* ]]; then | |||||
echo "Skipping due to commit message" | |||||
exit 0 | |||||
fi | |||||
if [ "$LOCAL_BRANCH" == "master" ] || [ "$NUM_CORE_CHANGES" != "0" ]; then | |||||
echo "Making default keymaps for all keyboards" | |||||
make all:default | |||||
exit $? | |||||
fi | |||||
exit_code=0 | |||||
for KB in $(make list-keyboards); do | |||||
KEYBOARD_CHANGES=$(echo "$QMK_CHANGES" | grep -E '^(keyboards/'${KB}'/)') | |||||
if [[ -z "$KEYBOARD_CHANGES" ]]; then | |||||
# skip as no changes for this keyboard | |||||
continue | |||||
fi | |||||
KEYMAP_ONLY=$(echo "$KEYBOARD_CHANGES" | grep -cv /keymaps/) | |||||
if [[ $KEYMAP_ONLY -gt 0 ]]; then | |||||
echo "Making all keymaps for $KB" | |||||
make ${KB}:all | |||||
: $((exit_code = $exit_code + $?)) | |||||
else | |||||
CHANGED_KEYMAPS=$(echo "$KEYBOARD_CHANGES" | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_-]+)(?=\/)') | |||||
for KM in $CHANGED_KEYMAPS ; do | |||||
echo "Making $KM for $KB" | |||||
make ${KB}:${KM} | |||||
: $((exit_code = $exit_code + $?)) | |||||
done | |||||
fi | |||||
done | |||||
exit $exit_code |
@ -1,63 +0,0 @@ | |||||
#!/usr/bin/env bash | |||||
source util/travis_utils.sh | |||||
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 | |||||
git checkout master | |||||
git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | |||||
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.*{hex,bin} ./compiled/ || true | |||||
# get the list of keyboards | |||||
readarray -t keyboards < .keyboards | |||||
# replace / with _ | |||||
keyboards=("${keyboards[@]//[\/]/_}") | |||||
# remove all binaries that don't belong to a keyboard in .keyboards | |||||
for file in "./compiled"/* ; do | |||||
match=0 | |||||
for keyboard in "${keyboards[@]}" ; do | |||||
if [[ ${file##*/} = "${keyboard}_default.bin" ]] || [[ ${file##*/} = "${keyboard}_default.hex" ]]; then | |||||
match=1 | |||||
break | |||||
fi | |||||
done | |||||
if [[ $match = 0 ]]; then | |||||
echo "Removing deprecated binary: $file" | |||||
rm "$file" | |||||
fi | |||||
done | |||||
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 |
@ -1,14 +0,0 @@ | |||||
# Use this by sourcing it in your script. | |||||
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 |
@ -1,19 +0,0 @@ | |||||
#!/usr/bin/env bash | |||||
source util/travis_utils.sh | |||||
if [[ "$TRAVIS_COMMIT_MESSAGE" == *"[skip test]"* ]]; then | |||||
echo "Skipping due to commit message" | |||||
exit 0 | |||||
fi | |||||
exit_code=0 | |||||
if [ "$LOCAL_BRANCH" == "master" ] || [ "$NUM_CORE_CHANGES" != "0" ]; then | |||||
echo "Running tests." | |||||
make test:all | |||||
: $((exit_code = $exit_code + $?)) | |||||
fi | |||||
exit $exit_code |
@ -1,25 +0,0 @@ | |||||
# Use this by sourcing it in your script. | |||||
# Provide sane defaults for travis environment | |||||
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}" | |||||
# test force push | |||||
#TRAVIS_COMMIT_RANGE="c287f1bfc5c8...81f62atc4c1d" | |||||
# Extra variables | |||||
LOCAL_BRANCH=$(git rev-parse --abbrev-ref HEAD) | |||||
QMK_CHANGES=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE}) | |||||
NUM_CORE_CHANGES=$(echo "$QMK_CHANGES" | grep -Ec -e '^Makefile' -e '^[^/]*.mk' -e '^drivers/' -e '^lib/atsam' -e '^lib/lib8tion/' -e '^platforms' -e '^quantum' -e '^tests' -e '^tmk_core') | |||||
# if docker is installed - patch calls to within the qmk docker image | |||||
if command -v docker >/dev/null; then | |||||
function make() { | |||||
docker run --rm -e MAKEFLAGS="$MAKEFLAGS" -w /qmk_firmware/ -v "$PWD":/qmk_firmware --user $(id -u):$(id -g) qmkfm/base_container make "$@" | |||||
} | |||||
function qmk() { | |||||
docker run --rm -w /qmk_firmware/ -v "$PWD":/qmk_firmware --user $(id -u):$(id -g) qmkfm/base_container bin/qmk "$@" | |||||
} | |||||
fi |