From dd9faf910c4cc307082ca757813e117f22595865 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Mon, 5 Oct 2020 23:30:21 -0700 Subject: [PATCH] Rework our travis config to be a bit more efficient, moving the work dir to a ramdisk, checking less stuff out of git, etc. --- .travis.yml | 26 ++++++++++++++++---------- .travis/setup-ramdisk.sh | 16 ++++++++++++++++ 2 files changed, 32 insertions(+), 10 deletions(-) create mode 100755 .travis/setup-ramdisk.sh diff --git a/.travis.yml b/.travis.yml index b0cf0cf9..5d77fd0e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ dist: focal +arch: amd64 language: c os: - linux @@ -7,17 +8,22 @@ addons: packages: - shellcheck - cmake + - astyle env: global: - LC_ALL: C - + - CCACHE_WRAPPER_PATH: /tmp/kaleidoscope-ccache + - ARDUINO_DOWNLOAD_URL: https://downloads.arduino.cc/arduino-1.8.13-linux64.tar.xz git: quiet: true + depth: false before_install: + - sh .travis/setup-ramdisk.sh - ccache --set-config=compiler_check=content -M 1G -F 0 install: - - git clone --depth 1 --recurse-submodules --shallow-submodules git://github.com/keyboardio/Kaleidoscope-Bundle-Keyboardio ../hardware/keyboardio + - cd $TRAVIS_BUILD_DIR + - git clone --depth 1 --recurse-submodules=build-tools --recurse-submodules=toolchain --recurse-submodules=avr/libraries/ --jobs 16 --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 @@ -26,19 +32,19 @@ install: - 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 + - wget --quiet $ARDUINO_DOWNLOAD_URL -O - | tar xJf - - make prepare-ccache jobs: include: - - env: TEST_TARGET=smoke-sketches - - env: TEST_TARGET=travis-simulator-tests - - env: TEST_TARGET=cpplint - - env: TEST_TARGET=find-filename-conflicts - - env: TEST_TARGET=shellcheck - - env: TEST_TARGET=travis-check-astyle + - env: TEST_CMD="make -j 2 smoke-sketches" + - env: TEST_CMD="CCACHE_NOT_SUPPORTED=1 make travis-simulator-tests" + - env: TEST_CMD="make cpplint" + - env: TEST_CMD="make find-filename-conflicts" + - env: TEST_CMD="make shellcheck" + - env: TEST_CMD="make travis-check-astyle" script: - unset CC - - make -j 2 $TEST_TARGET + - eval $TEST_CMD notifications: email: on_success: change diff --git a/.travis/setup-ramdisk.sh b/.travis/setup-ramdisk.sh new file mode 100755 index 00000000..f0af2248 --- /dev/null +++ b/.travis/setup-ramdisk.sh @@ -0,0 +1,16 @@ +#!/bin/bash + + +export BLDDIR=/home/travis/build + +df -h +du -sh $HOME +du -sh $BLDDIR +sudo mv $BLDDIR $BLDDIR.ori +sudo mkdir -p $BLDDIR +sudo mount -t tmpfs -o size=8192m tmps $BLDDIR +time sudo cp -R $BLDDIR.ori/. $BLDDIR +sudo chown -R travis:travis $BLDDIR +df -h +du -sh "$HOME" +du -sh "$BLDDIR"