@ -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 |