diff --git a/.travis.yml b/.travis.yml index 5017cd805b8..0615b222c54 100644 --- a/.travis.yml +++ b/.travis.yml @@ -83,6 +83,9 @@ jobs: - name: "Generate Documentation" # Only run for non-PR commits to the real master branch. if: branch = master AND head_branch IS blank + cache: + directories: + - $HOME/SpacemanDMM install: - tools/travis/install_spaceman_dmm.sh dmdoc before_script: diff --git a/tools/travis/install_spaceman_dmm.sh b/tools/travis/install_spaceman_dmm.sh index 39464193f88..d92dca4e950 100755 --- a/tools/travis/install_spaceman_dmm.sh +++ b/tools/travis/install_spaceman_dmm.sh @@ -3,6 +3,17 @@ set -euo pipefail source dependencies.sh -wget -O ~/$1 "https://github.com/SpaceManiac/SpacemanDMM/releases/download/$SPACEMAN_DMM_VERSION/$1" -chmod +x ~/$1 +if [ ! -f ~/$1 ]; then + mkdir -p "$HOME/SpacemanDMM" + CACHEFILE="$HOME/SpacemanDMM/$1" + + if ! [ -f "$CACHEFILE.version" ] || ! grep -Fxq "$SPACEMAN_DMM_VERSION" "$CACHEFILE.version"; then + wget -O "$CACHEFILE" "https://github.com/SpaceManiac/SpacemanDMM/releases/download/$SPACEMAN_DMM_VERSION/$1" + chmod +x "$CACHEFILE" + echo "$SPACEMAN_DMM_VERSION" >"$CACHEFILE.version" + fi + + ln -s "$CACHEFILE" ~/$1 +fi + ~/$1 --version