From beb963d3418fb4c574365d4939361aebcc842652 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 2 Oct 2020 22:50:44 -0700 Subject: [PATCH 01/18] Add a tool to be able to set file timestamps to git commit dates. This will eventually be used to help improve arduino caching behavior --- bin/set-timestamps-from-git | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 bin/set-timestamps-from-git diff --git a/bin/set-timestamps-from-git b/bin/set-timestamps-from-git new file mode 100644 index 00000000..05b569bc --- /dev/null +++ b/bin/set-timestamps-from-git @@ -0,0 +1,16 @@ +#!/bin/bash -e + +# This script sets all of the files inside src and example to have mtimes +# that match the times of the last git commit that touched each file + +# This can be useful when build tools depend on file timestamps to +# make caching decisions + +for file in `find src examples -type f` +do + timestamp=$(git log --pretty=format:%ad --date=format:%Y%m%d%H%M.%S -n 1 HEAD "$file" 2> /dev/null) + if [ "x$timestamp" != "x" ]; then + touch -t "$timestamp" "$file" + fi +done + From e378f9cd17a8615b866202068d492a0df38c6868 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 2 Oct 2020 22:53:12 -0700 Subject: [PATCH 02/18] Switch find_sketch to set an env variable, rather than return a value, to reduce the number of times we need to call it. Also, begin to add better support for: kaleidoscope-builder examples/Foo/Bar compile --- bin/kaleidoscope-builder | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/bin/kaleidoscope-builder b/bin/kaleidoscope-builder index 997bad61..727fa508 100755 --- a/bin/kaleidoscope-builder +++ b/bin/kaleidoscope-builder @@ -26,15 +26,15 @@ absolute_filename() { build_version () { - GIT_VERSION="$(cd "$(find_sketch)"; if [ -d .git ]; then echo -n '-g' && git describe --abbrev=4 --dirty --always; fi)" + GIT_VERSION="$(cd "${SKETCH_DIR}"; if [ -d .git ]; then echo -n '-g' && git describe --abbrev=4 --dirty --always; fi)" LIB_PROPERTIES_PATH="${LIB_PROPERTIES_PATH:-"../.."}" - LIB_VERSION="$(cd "$(find_sketch)"; (grep version= "${LIB_PROPERTIES_PATH}/library.properties" 2>/dev/null || echo version=0.0.0) | cut -d= -f2)${GIT_VERSION}" + LIB_VERSION="$(cd "${SKETCH_DIR}"; (grep version= "${LIB_PROPERTIES_PATH}/library.properties" 2>/dev/null || echo version=0.0.0) | cut -d= -f2)${GIT_VERSION}" } build_paths() { # We need that echo because we\re piping to cksum # shellcheck disable=SC2005 - SKETCH_IDENTIFIER="$(echo "$(absolute_filename "$(find_sketch)/${SKETCH}.ino")" | cksum | cut -d ' ' -f 1)-${SKETCH}.ino" + SKETCH_IDENTIFIER="$(echo "$(absolute_filename "${SKETCH_DIR}/${SKETCH}.ino")" | cksum | cut -d ' ' -f 1)-${SKETCH}.ino" KALEIDOSCOPE_TEMP_PATH="${KALEIDOSCOPE_TEMP_PATH:-${TMPDIR:-/tmp}/kaleidoscope-${USER}}" @@ -136,12 +136,17 @@ find_sketch () { echo "SKETCH, LIBRARY, SOURCEDIR, and ROOT need to be set before including this file!" >&2 exit 1 fi + + SKETCH_DIR="$SKETCH" + SKETCH_FILE=$(basename "$SKETCH") - for path in "examples/${LIBRARY}" \ + for path in "${SKETCH_DIR}" \ + "examples/${LIBRARY}" \ "src" \ "."; do - if [ -f "${path}/${SKETCH}.ino" ]; then - echo "${path}" + if [ -f "${path}/${SKETCH_FILE}.ino" ]; then + SKETCH_DIR="${path}" + SKETCH="${SKETCH_FILE}" return fi done @@ -324,6 +329,7 @@ hex_with_bootloader () { } maybe_build () { + find_sketch build_version build_paths build_filenames @@ -342,6 +348,7 @@ build () { } compile () { + find_sketch build_version build_paths build_filenames @@ -349,8 +356,6 @@ compile () { install -d "${OUTPUT_PATH}" - SKETCH_DIR="$(find_sketch)" - echo "Building ${SKETCH_DIR}/${SKETCH}" # This is defined in the (optional) user config. From 6bf70a2fdc998f7734ecbd706b9adef6a4174ac4 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 2 Oct 2020 22:54:47 -0700 Subject: [PATCH 03/18] Don't strip out the path from the sketch before we can make use of it --- bin/kaleidoscope-builder | 6 ------ 1 file changed, 6 deletions(-) diff --git a/bin/kaleidoscope-builder b/bin/kaleidoscope-builder index 727fa508..05990067 100755 --- a/bin/kaleidoscope-builder +++ b/bin/kaleidoscope-builder @@ -742,12 +742,6 @@ done LIBRARY="${SKETCH}" -case "${SKETCH}" in - */*) - SKETCH="$(basename "${SKETCH}")" - ;; -esac - export SKETCH export LIBRARY From d4a14fa7c93423da14f4391ff838fd4ba7614b15 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 2 Oct 2020 22:55:58 -0700 Subject: [PATCH 04/18] expose the function that finds all the buildable sketches as "find_all_sketches" --- bin/kaleidoscope-builder | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/kaleidoscope-builder b/bin/kaleidoscope-builder index 05990067..31d896a0 100755 --- a/bin/kaleidoscope-builder +++ b/bin/kaleidoscope-builder @@ -445,7 +445,7 @@ compile () { FQBN="${SAVED_FQBN}" } -_find_all () { +find_all_sketches () { for plugin in ./*.ino \ $([ -d examples ] && find examples -name '*.ino') \ src/*.ino; do @@ -466,7 +466,7 @@ _find_all () { } build_all () { - plugins="$(_find_all)" + plugins="$(find_all_sketches)" for plugin in ${plugins}; do export SKETCH="${plugin}" @@ -477,7 +477,7 @@ build_all () { compile_all () { - plugins="$(_find_all)" + plugins="$(find_all_sketches)" for plugin in ${plugins}; do export SKETCH="${plugin}" From 919f7753ff15af761a374c853b9c4db6eee3885f Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 2 Oct 2020 22:57:02 -0700 Subject: [PATCH 05/18] We no longer need this, since we do it above. (But also, this was always a repeated call) --- bin/kaleidoscope-builder | 2 -- 1 file changed, 2 deletions(-) diff --git a/bin/kaleidoscope-builder b/bin/kaleidoscope-builder index 31d896a0..f090b0e0 100755 --- a/bin/kaleidoscope-builder +++ b/bin/kaleidoscope-builder @@ -336,8 +336,6 @@ maybe_build () { if [ ! -e "${HEX_FILE_PATH}" ]; then build "$@" - else - SKETCH_DIR="$(find_sketch)" fi } From 1b804a6d0f42b413936dfa0e09ac06ed0d9193df Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 2 Oct 2020 23:00:52 -0700 Subject: [PATCH 06/18] make the timestmap-editor executable --- bin/set-timestamps-from-git | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/set-timestamps-from-git diff --git a/bin/set-timestamps-from-git b/bin/set-timestamps-from-git old mode 100644 new mode 100755 From 1d7f0df72a877f76073902bfd90e16044a6ad2f2 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 2 Oct 2020 23:20:30 -0700 Subject: [PATCH 07/18] Attempt to clean up travis config to enable smoke-sketches --- .travis.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index ef88cc67..3781ee54 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,10 +10,11 @@ addons: env: global: - LC_ALL: C + git: quiet: true before_install: - - ccache --set-config=compiler_check=content -M 5G -F 0 + - ccache --set-config=compiler_check=content -M 1G -F 0 install: - git clone --depth 1 --recurse-submodules https://github.com/keyboardio/Kaleidoscope-Bundle-Keyboardio ../hardware/keyboardio @@ -23,7 +24,7 @@ install: - ln -s $(pwd) ../hardware/keyboardio/avr/libraries/Kaleidoscope jobs: include: - - env: TEST_TARGET=travis-smoke-examples + - env: TEST_TARGET=smoke-sketches - env: TEST_TARGET=travis-simulator-tests - env: TEST_TARGET=cpplint - env: TEST_TARGET=find-filename-conflicts @@ -31,7 +32,12 @@ jobs: - env: TEST_TARGET=travis-check-astyle script: - unset CC - - make $TEST_TARGET KALEIDOSCOPE_TEMP_PATH=$(pwd)/.kaleidoscope-build-cache BOARD_HARDWARE_PATH=$(pwd)/../hardware ARDUINO_PATH="$(pwd)/arduino-1.8.13" + - export KALEIDOSCOPE_TEMP_PATH=$(TRAVIS_BUILD_DIR)/.kaleidoscope-build-cache + - export BOARD_HARDWARE_PATH=$(TRAVIS_BUILD_DIR)/../hardware + - export ARDUINO_PATH=$(TRAVIS_BUILD_DIR)/arduino-1.8.13 + - make adjust-git-timestamps + - make travis-install-arduino + - make -j 4 $TEST_TARGET notifications: email: on_success: change From bbb04d77e9eb53bf9163e5fe155ac66352667c7f Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 2 Oct 2020 23:34:41 -0700 Subject: [PATCH 08/18] got the env variables wrong --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3781ee54..914bd96e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,9 +32,9 @@ jobs: - env: TEST_TARGET=travis-check-astyle script: - unset CC - - export KALEIDOSCOPE_TEMP_PATH=$(TRAVIS_BUILD_DIR)/.kaleidoscope-build-cache - - export BOARD_HARDWARE_PATH=$(TRAVIS_BUILD_DIR)/../hardware - - export ARDUINO_PATH=$(TRAVIS_BUILD_DIR)/arduino-1.8.13 + - export KALEIDOSCOPE_TEMP_PATH=$TRAVIS_BUILD_DIR/.kaleidoscope-build-cache + - export BOARD_HARDWARE_PATH=$TRAVIS_BUILD_DIR/../hardware + - export ARDUINO_PATH=$TRAVIS_BUILD_DIR/arduino-1.8.13 - make adjust-git-timestamps - make travis-install-arduino - make -j 4 $TEST_TARGET From 5774054d61c5b96f4fbf4d7de0fef88733b0d614 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 2 Oct 2020 23:42:54 -0700 Subject: [PATCH 09/18] try to make shellcheck happy --- bin/set-timestamps-from-git | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/set-timestamps-from-git b/bin/set-timestamps-from-git index 05b569bc..7b9d99ce 100755 --- a/bin/set-timestamps-from-git +++ b/bin/set-timestamps-from-git @@ -6,7 +6,7 @@ # This can be useful when build tools depend on file timestamps to # make caching decisions -for file in `find src examples -type f` +for file in $(find src examples -type f -print) do timestamp=$(git log --pretty=format:%ad --date=format:%Y%m%d%H%M.%S -n 1 HEAD "$file" 2> /dev/null) if [ "x$timestamp" != "x" ]; then From 6d00c6d7af48d0325fcd836e192eff31c24afca5 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 2 Oct 2020 23:47:45 -0700 Subject: [PATCH 10/18] add "prepare-ccache" as a tool for travis also bullet-proof setting up ccache against parallelization race conditions --- bin/kaleidoscope-builder | 52 ++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/bin/kaleidoscope-builder b/bin/kaleidoscope-builder index f090b0e0..f35007bf 100755 --- a/bin/kaleidoscope-builder +++ b/bin/kaleidoscope-builder @@ -67,30 +67,30 @@ enable_ccache () { if [ -z "${CCACHE_NOT_SUPPORTED}" ] && [ "$(command -v ccache)" ]; then if ! [ -d "$CCACHE_WRAPPER_PATH" ]; then mkdir -p "$CCACHE_WRAPPER_PATH" - fi - - if ! [ -h "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}${C_COMPILER_BASENAME}" ]; then - ln -s "$(command -v ccache)" "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}${C_COMPILER_BASENAME}" - fi - - if ! [ -h "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}${CXX_COMPILER_BASENAME}" ]; then - ln -s "$(command -v ccache)" "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}${CXX_COMPILER_BASENAME}" - fi - - if ! [ -h "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}nm" ]; then - ln -s "${AVR_NM}" "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}nm" - fi - - if ! [ -h "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}objcopy" ]; then - ln -s "${AVR_OBJCOPY}" "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}objcopy" - fi - - if ! [ -h "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}ar" ]; then - ln -s "${AVR_AR}" "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}ar" - fi - if ! [ -h "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}size" ]; then - ln -s "${AVR_SIZE}" "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}size" + if ! [ -h "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}${C_COMPILER_BASENAME}" ]; then + ln -s "$(command -v ccache)" "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}${C_COMPILER_BASENAME}" + fi + + if ! [ -h "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}${CXX_COMPILER_BASENAME}" ]; then + ln -s "$(command -v ccache)" "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}${CXX_COMPILER_BASENAME}" + fi + + if ! [ -h "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}nm" ]; then + ln -s "${AVR_NM}" "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}nm" + fi + + if ! [ -h "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}objcopy" ]; then + ln -s "${AVR_OBJCOPY}" "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}objcopy" + fi + + if ! [ -h "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}ar" ]; then + ln -s "${AVR_AR}" "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}ar" + fi + + if ! [ -h "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}size" ]; then + ln -s "${AVR_SIZE}" "${CCACHE_WRAPPER_PATH}/${COMPILER_PREFIX}size" + fi fi export CCACHE_PATH=${COMPILER_PATH}/ @@ -345,6 +345,12 @@ build () { size "$@" } + +prepare_ccache () { + build_paths + enable_ccache +} + compile () { find_sketch build_version From 2d4b22db75ab7c23e3d1d52f515d7e71f8b274d9 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 2 Oct 2020 23:49:56 -0700 Subject: [PATCH 11/18] manually set up ccache before parallelization --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 914bd96e..70ac81a2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,6 +37,7 @@ script: - export ARDUINO_PATH=$TRAVIS_BUILD_DIR/arduino-1.8.13 - make adjust-git-timestamps - make travis-install-arduino + - make prepare-ccache - make -j 4 $TEST_TARGET notifications: email: From d7a45afdb577fd5f0647168e960d2b0dbdfe1da1 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 2 Oct 2020 23:59:40 -0700 Subject: [PATCH 12/18] Update the timestamp setting script ti make shellcheck happy --- bin/set-timestamps-from-git | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/bin/set-timestamps-from-git b/bin/set-timestamps-from-git index 7b9d99ce..fea2cc32 100755 --- a/bin/set-timestamps-from-git +++ b/bin/set-timestamps-from-git @@ -6,11 +6,10 @@ # This can be useful when build tools depend on file timestamps to # make caching decisions -for file in $(find src examples -type f -print) -do - timestamp=$(git log --pretty=format:%ad --date=format:%Y%m%d%H%M.%S -n 1 HEAD "$file" 2> /dev/null) +find src examples -type f -exec sh -c ' + timestamp=$(git log --pretty=format:%ad --date=format:%Y%m%d%H%M.%S -n 1 HEAD "$1" 2> /dev/null) if [ "x$timestamp" != "x" ]; then - touch -t "$timestamp" "$file" + touch -t "$timestamp" "$1" fi -done +' sh {} \; From d7ed55db254601804ee8c1ad15d37542b9dc9a07 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Sat, 3 Oct 2020 00:01:01 -0700 Subject: [PATCH 13/18] Try shallow clones of submodules --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 70ac81a2..6b75ea76 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ before_install: - ccache --set-config=compiler_check=content -M 1G -F 0 install: - - git clone --depth 1 --recurse-submodules https://github.com/keyboardio/Kaleidoscope-Bundle-Keyboardio ../hardware/keyboardio + - git clone --depth 1 --recurse-submodules --shallow-submodules git://github.com/keyboardio/Kaleidoscope-Bundle-Keyboardio ../hardware/keyboardio ## We delete the Bundle's version of Kaleidoscope, and symlink ourselves in. ## This makes sure we're using the current version of the library. - rm -rf ../hardware/keyboardio/avr/libraries/Kaleidoscope From ed10a207d43ef7992cff5980592b8ae139b7c6a7 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Sat, 3 Oct 2020 00:12:14 -0700 Subject: [PATCH 14/18] Try moving setup to setup section --- .travis.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6b75ea76..1bc7dc43 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,6 +22,12 @@ install: ## This makes sure we're using the current version of the library. - rm -rf ../hardware/keyboardio/avr/libraries/Kaleidoscope - ln -s $(pwd) ../hardware/keyboardio/avr/libraries/Kaleidoscope + - export KALEIDOSCOPE_TEMP_PATH=$TRAVIS_BUILD_DIR/.kaleidoscope-build-cache + - export BOARD_HARDWARE_PATH=$TRAVIS_BUILD_DIR/../hardware + - export ARDUINO_PATH=$TRAVIS_BUILD_DIR/arduino-1.8.13 + - make adjust-git-timestamps + - make travis-install-arduino + - make prepare-ccache jobs: include: - env: TEST_TARGET=smoke-sketches @@ -32,12 +38,6 @@ jobs: - env: TEST_TARGET=travis-check-astyle script: - unset CC - - export KALEIDOSCOPE_TEMP_PATH=$TRAVIS_BUILD_DIR/.kaleidoscope-build-cache - - export BOARD_HARDWARE_PATH=$TRAVIS_BUILD_DIR/../hardware - - export ARDUINO_PATH=$TRAVIS_BUILD_DIR/arduino-1.8.13 - - make adjust-git-timestamps - - make travis-install-arduino - - make prepare-ccache - make -j 4 $TEST_TARGET notifications: email: From 8f4a418bdb53759287f7044367d1866570e9ab89 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Sat, 3 Oct 2020 00:16:38 -0700 Subject: [PATCH 15/18] try -j2 for travis perf --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1bc7dc43..b0cf0cf9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,7 +38,7 @@ jobs: - env: TEST_TARGET=travis-check-astyle script: - unset CC - - make -j 4 $TEST_TARGET + - make -j 2 $TEST_TARGET notifications: email: on_success: change From 028a43c117009f0493c1f53a5ed745ee70f1f639 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Sat, 3 Oct 2020 00:33:03 -0700 Subject: [PATCH 16/18] -j 32 is too many, but an interesting test --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b0cf0cf9..a50194a1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,7 +38,7 @@ jobs: - env: TEST_TARGET=travis-check-astyle script: - unset CC - - make -j 2 $TEST_TARGET + - make -j 32 $TEST_TARGET notifications: email: on_success: change From adb9cd91dc906ea31c92d2165c6860d2c59f553b Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Sat, 3 Oct 2020 00:44:29 -0700 Subject: [PATCH 17/18] try non-parallel builds --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a50194a1..535c5de1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,7 +38,7 @@ jobs: - env: TEST_TARGET=travis-check-astyle script: - unset CC - - make -j 32 $TEST_TARGET + - make -j 1 $TEST_TARGET notifications: email: on_success: change From db93473e12fe39877a899835919622582eaf3206 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Sat, 3 Oct 2020 01:01:02 -0700 Subject: [PATCH 18/18] It's not faster, but I'd rather have parallelization on, so we don't break it --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 535c5de1..b0cf0cf9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,7 +38,7 @@ jobs: - env: TEST_TARGET=travis-check-astyle script: - unset CC - - make -j 1 $TEST_TARGET + - make -j 2 $TEST_TARGET notifications: email: on_success: change