diff --git a/.travis.yml b/.travis.yml index ba0dec67..76765d98 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,10 @@ addons: - avr-libc - wget +cache: + directories: + - downloads + install: ./scripts/travis-install.sh script: ./scripts/travis-build.sh diff --git a/scripts/travis-install.sh b/scripts/travis-install.sh index 759a8c01..ce1f7f9a 100755 --- a/scripts/travis-install.sh +++ b/scripts/travis-install.sh @@ -5,6 +5,8 @@ # Stop script early on any error; check variables; be verbose set -eux +DOWNLOAD_DIR=${PWD}/downloads + ###################################################################### # Install embedded arm gcc @@ -15,13 +17,19 @@ GCC_ARM_URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2017q4/g GCC_ARM_SHA="96a029e2ae130a1210eaa69e309ea40463028eab18ba19c1086e4c2dafe69a6a gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2" GCC_ARM_FILE="$(basename ${GCC_ARM_URL})" -wget "$GCC_ARM_URL" +mkdir -p ${DOWNLOAD_DIR} +cd ${DOWNLOAD_DIR} + +if [ ! -f ${GCC_ARM_FILE} ]; then + wget "$GCC_ARM_URL" +fi FOUND_SHA=`sha256sum "$GCC_ARM_FILE"` if [ "$FOUND_SHA" != "$GCC_ARM_SHA" ]; then echo "ERROR: Mismatch on gcc arm sha256" exit -1 fi -tar xf "$GCC_ARM_FILE" +cd .. +tar xf "${DOWNLOAD_DIR}/${GCC_ARM_FILE}" ######################################################################