Skip to content
This repository has been archived by the owner on Jan 1, 2021. It is now read-only.

Travis speed up: after first build ,then > 4x faster #1273

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
25 changes: 22 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,30 @@ services:
- docker

script:
- docker build -t boot2docker/boot2docker .
- docker run --rm boot2docker/boot2docker > boot2docker.iso
- docker build --rm --cache-from boot2docker/boot2docker -t boot2docker/boot2docker .
- docker run --rm boot2docker/boot2docker > ${TRAVIS_BUILD_DIR}/boot2docker.iso
- if [ -z "${DEPLOY_ISO_TO_GITHUB}" ] ; then export DEPLOY_ISO_TO_GITHUB=false ; fi

cache:
bundler: true
directories:
- $HOME/docker
before_cache:
- imglist=$(find $HOME/docker/ -name "*.tar.gz");test -z "$imglist" && test ! "$FORCE_CACHE_IF_NOT" = "false" && NOT_CACHE_IMG_AFTER_BUILD=false ; test -n "$imglist" && test -z "$NOT_CACHE_IMG_AFTER_BUILD" && NOT_CACHE_IMG_AFTER_BUILD=true ; echo "$imglist"; if [ ! "${NOT_CACHE_IMG_AFTER_BUILD}" = "true" ] ; then mkdir -p $HOME/docker && docker images --filter='dangling=false' --format '{{.Repository}}:{{.Tag}}' | grep -v none | xargs -n 1 -I {x} -t sh -c 'docker save {x} | gzip -2 > $HOME/docker/$(echo {x} | md5sum | awk "{print \$1}" ).tar.gz' ; echo ok ;fi
- bash -c " ls -lA $HOME/docker/ "
before_install:
- if [ ! "${NOT_LOAD_CACHE_BEFORE_BUILD}" = "true" ] ; then if [[ -d $HOME/docker ]]; then imglist=$(find $HOME/docker/ -name "*.tar.gz"); echo "$imglist"; echo "${imglist}" | xargs -t -I {file} sh -c "zcat {file} | docker load"; fi ; bash -c "docker images -a --filter='dangling=false'" ; fi

after_script:
- docker images
- ls -l *.iso

# vim:set et ts=2 sw=2:
deploy:
- provider: releases
api_key: ${github_api_key}
file: boot2docker.iso
skip_cleanup: true
on:
tags: true
condition: $DEPLOY_ISO_TO_GITHUB = true
# vim:set et ts=2 sw=2: