Skip to content

Commit 03341a2

Browse files
v-jizhangbuck-botbrianjoholly1238
authored
Added cache for incremental build. (#1184)
* Added cache for incremental build. * Test cache * Added more content to cache * Added more content to cache * Test build cache Co-authored-by: v-jizhang <[email protected]> Co-authored-by: Brian Johnson <[email protected]> Co-authored-by: holly1238 <[email protected]>
1 parent 72b6df1 commit 03341a2

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

.circleci/config.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults
116116
export AWS_ACCESS_KEY_ID=${CIRCLECI_AWS_ACCESS_KEY_FOR_ECR_READ_ONLY}
117117
export AWS_SECRET_ACCESS_KEY=${CIRCLECI_AWS_SECRET_KEY_FOR_ECR_READ_ONLY}
118118
eval $(aws ecr get-login --region us-east-1 --no-include-email)
119+
- restore_cache:
120+
key: v1.0-tutorial-{{ .Environment.CIRCLE_JOB }}
119121
- run:
120122
name: Build
121123
no_output_timeout: "20h"
@@ -164,11 +166,35 @@ pytorch_tutorial_build_defaults: &pytorch_tutorial_build_defaults
164166
fi
165167
set -x
166168
169+
# This also copies the cached build to docker.
167170
docker cp /home/circleci/project/. "$id:/var/lib/jenkins/workspace"
168171
169172
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'
170173
echo ${COMMAND} > ./command.sh && unbuffer bash ./command.sh | ts
171174
175+
# Copy the last build from docker
176+
docker cp "$id:/var/lib/jenkins/workspace/_build" /home/circleci/project
177+
docker cp "$id:/var/lib/jenkins/workspace/docs" /home/circleci/project
178+
docker cp "$id:/var/lib/jenkins/workspace/advanced" /home/circleci/project
179+
docker cp "$id:/var/lib/jenkins/workspace/beginner" /home/circleci/project
180+
docker cp "$id:/var/lib/jenkins/workspace/intermediate" /home/circleci/project
181+
docker cp "$id:/var/lib/jenkins/workspace/prototype" /home/circleci/project
182+
docker cp "$id:/var/lib/jenkins/workspace/recipes" /home/circleci/project
183+
docker cp "$id:/var/lib/jenkins/workspace/src" /home/circleci/project
184+
185+
- save_cache:
186+
# Save to cache for incremental build
187+
key: v1.0-tutorial-{{ .Environment.CIRCLE_JOB }}
188+
paths:
189+
- /home/circleci/project/_build
190+
- /home/circleci/project/docs
191+
- /home/circleci/project/advanced
192+
- /home/circleci/project/beginner
193+
- /home/circleci/project/intermediate
194+
- /home/circleci/project/prototype
195+
- /home/circleci/project/recipes
196+
- /home/circleci/project/src
197+
172198
pytorch_tutorial_build_worker_defaults: &pytorch_tutorial_build_worker_defaults
173199
environment:
174200
DOCKER_IMAGE: "308535385114.dkr.ecr.us-east-1.amazonaws.com/pytorch/pytorch-linux-xenial-cuda10.2-cudnn7-py3-gcc7"

0 commit comments

Comments
 (0)