diff --git a/.circleci/config.yml b/.circleci/config.yml index fe1c5aa96df..2b3d692fb12 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -116,6 +116,8 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_ECR_READ_ONLY} export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_ECR_READ_ONLY} eval $(aws ecr get-login --region us-east-1 --no-include-email) + - restore_cache: + key: v1.0-tutorial-{{ .Environment.CIRCLE_JOB }} - run: name: Build no_output_timeout: "20h" @@ -164,11 +166,35 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults fi set -x + # This also copies the cached build to docker. docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace" export COMMAND='((echo "source ./workspace/env" && echo "sudo chown -R jenkins workspace && cd workspace && ./ci_build_script.sh") | docker exec -u jenkins -i "$id" bash) 2>&1' echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts + # Copy the last build from docker + docker cp "$id:/var/lib/jenkins/workspace/_build" /home/circleci/project + docker cp "$id:/var/lib/jenkins/workspace/docs" /home/circleci/project + docker cp "$id:/var/lib/jenkins/workspace/advanced" /home/circleci/project + docker cp "$id:/var/lib/jenkins/workspace/beginner" /home/circleci/project + docker cp "$id:/var/lib/jenkins/workspace/intermediate" /home/circleci/project + docker cp "$id:/var/lib/jenkins/workspace/prototype" /home/circleci/project + docker cp "$id:/var/lib/jenkins/workspace/recipes" /home/circleci/project + docker cp "$id:/var/lib/jenkins/workspace/src" /home/circleci/project + + - save_cache: + # Save to cache for incremental build + key: v1.0-tutorial-{{ .Environment.CIRCLE_JOB }} + paths: + - /home/circleci/project/_build + - /home/circleci/project/docs + - /home/circleci/project/advanced + - /home/circleci/project/beginner + - /home/circleci/project/intermediate + - /home/circleci/project/prototype + - /home/circleci/project/recipes + - /home/circleci/project/src + pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults environment: DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7"