Skip to content

Commit b1b7bb3

Browse files
authored
Merge pull request #43 from deepnote/hannes/pla-3195-fix-layer-caching-in-prs-of-environments-repo
Use build-cache from main in PRs
2 parents 7f038c0 + 3785230 commit b1b7bb3

File tree

1 file changed

+36
-26
lines changed

1 file changed

+36
-26
lines changed

.circleci/config.yml

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,16 @@ jobs:
4646
- run:
4747
name: Build and push base image
4848
command: |
49+
REPOSITORY="deepnote/python"
50+
TAG="base"
51+
TAG_SUFFIX="${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}"
4952
docker buildx build \
5053
--file=./python/base/Dockerfile.base \
51-
--tag=978928340082.dkr.ecr.us-east-1.amazonaws.com/deepnote/python:base${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}} \
52-
--tag=docker.io/deepnote/python:base${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}} \
53-
--cache-from type=registry,ref=docker.io/deepnote/python:base \
54-
--cache-from type=registry,ref=docker.io/deepnote/python:base${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}-buildcache,mode=max \
55-
--cache-to type=registry,ref=docker.io/deepnote/python:base${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}-buildcache,mode=max,image-manifest=true,oci-mediatypes=true \
54+
--tag=978928340082.dkr.ecr.us-east-1.amazonaws.com/${REPOSITORY}:${TAG}${TAG_SUFFIX} \
55+
--tag=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX} \
56+
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache \
57+
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX}-buildcache \
58+
--cache-to type=registry,ref=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX}-buildcache,mode=max,image-manifest=true,oci-mediatypes=true \
5659
--progress plain \
5760
--platform linux/amd64 \
5861
--provenance=false \
@@ -77,16 +80,18 @@ jobs:
7780
name: Build and push python image
7881
command: |
7982
REPOSITORY="deepnote/python"
80-
TAG="${PYTHON_VERSION}${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}"
83+
TAG="${PYTHON_VERSION}"
84+
TAG_SUFFIX="${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}"
8185
docker buildx build \
8286
--file=./python/python/Dockerfile.python \
83-
--tag=978928340082.dkr.ecr.us-east-1.amazonaws.com/${REPOSITORY}:${TAG} \
84-
--tag=docker.io/${REPOSITORY}:${TAG} \
87+
--tag=978928340082.dkr.ecr.us-east-1.amazonaws.com/${REPOSITORY}:${TAG}${TAG_SUFFIX} \
88+
--tag=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX} \
8589
--build-arg CIRCLE_PULL_REQUEST=${CIRCLE_PULL_REQUEST} \
8690
--build-arg PYTHON_VERSION=${PYTHON_VERSION} \
8791
--build-arg PYTHON_VERSION_PATCH=${PYTHON_VERSION_PATCH} \
88-
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache,mode=max \
89-
--cache-to type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache,mode=max,image-manifest=true,oci-mediatypes=true \
92+
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache \
93+
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX}-buildcache \
94+
--cache-to type=registry,ref=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX}-buildcache,mode=max,image-manifest=true,oci-mediatypes=true \
9095
--progress plain \
9196
--platform linux/amd64 \
9297
--provenance=false \
@@ -111,15 +116,17 @@ jobs:
111116
name: Build and push python-datascience image
112117
command: |
113118
REPOSITORY="deepnote/python"
114-
TAG="${PYTHON_VERSION}-datascience${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}"
119+
TAG="${PYTHON_VERSION}-datascience"
120+
TAG_SUFFIX="${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}"
115121
docker buildx build \
116122
--file=./python/datascience/Dockerfile.datascience \
117-
--tag=978928340082.dkr.ecr.us-east-1.amazonaws.com/${REPOSITORY}:${TAG} \
118-
--tag=docker.io/${REPOSITORY}:${TAG} \
123+
--tag=978928340082.dkr.ecr.us-east-1.amazonaws.com/${REPOSITORY}:${TAG}${TAG_SUFFIX} \
124+
--tag=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX} \
119125
--build-arg CIRCLE_PULL_REQUEST=${CIRCLE_PULL_REQUEST} \
120126
--build-arg PYTHON_VERSION=${PYTHON_VERSION} \
121-
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache,mode=max \
122-
--cache-to type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache,mode=max,image-manifest=true,oci-mediatypes=true \
127+
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache \
128+
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX}-buildcache \
129+
--cache-to type=registry,ref=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX}-buildcache,mode=max,image-manifest=true,oci-mediatypes=true \
123130
--progress plain \
124131
--platform linux/amd64 \
125132
--provenance=false \
@@ -144,15 +151,17 @@ jobs:
144151
name: Build and push python-conda image
145152
command: |
146153
REPOSITORY="deepnote/python"
147-
TAG="${PYTHON_VERSION}-conda${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}"
154+
TAG="${PYTHON_VERSION}-conda"
155+
TAG_SUFFIX="${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}"
148156
docker buildx build \
149157
--file=./python/conda/Dockerfile.conda \
150-
--tag=978928340082.dkr.ecr.us-east-1.amazonaws.com/${REPOSITORY}:${TAG} \
151-
--tag=docker.io/${REPOSITORY}:${TAG} \
158+
--tag=978928340082.dkr.ecr.us-east-1.amazonaws.com/${REPOSITORY}:${TAG}${TAG_SUFFIX} \
159+
--tag=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX} \
152160
--build-arg CIRCLE_PULL_REQUEST=${CIRCLE_PULL_REQUEST} \
153161
--build-arg PYTHON_VERSION=${PYTHON_VERSION} \
154-
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache,mode=max \
155-
--cache-to type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache,mode=max,image-manifest=true,oci-mediatypes=true \
162+
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache \
163+
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX}-buildcache \
164+
--cache-to type=registry,ref=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX}-buildcache,mode=max,image-manifest=true,oci-mediatypes=true \
156165
--progress plain \
157166
--platform linux/amd64 \
158167
--provenance=false \
@@ -177,22 +186,23 @@ jobs:
177186
steps:
178187
- checkout
179188
- docker_login
180-
- split_python_version # This provides PYTHON_VERSION
181189
- setup_buildkit_builder
182190
- run:
183191
name: Build and push python image
184192
command: |
185193
REPOSITORY="deepnote/tensorflow"
186-
TAG="${TF_VERSION}${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}-gpu"
194+
TAG="${TF_VERSION}-gpu"
195+
TAG_SUFFIX="${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}"
187196
docker buildx build \
188197
--file=./gpu/Dockerfile \
189-
--tag=978928340082.dkr.ecr.us-east-1.amazonaws.com/${REPOSITORY}:${TAG} \
190-
--tag=docker.io/${REPOSITORY}:${TAG} \
198+
--tag=978928340082.dkr.ecr.us-east-1.amazonaws.com/${REPOSITORY}:${TAG}${TAG_SUFFIX} \
199+
--tag=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX} \
191200
--build-arg CUDA_IMAGE_TAG=${CUDA_TAG} \
192201
--build-arg TF_VERSION=${TF_VERSION} \
193202
--build-arg PYTHON_VER=${PY_VERSION} \
194-
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache,mode=max \
195-
--cache-to type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache,mode=max,image-manifest=true,oci-mediatypes=true \
203+
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache \
204+
--cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX}-buildcache \
205+
--cache-to type=registry,ref=docker.io/${REPOSITORY}:${TAG}${TAG_SUFFIX}-buildcache,mode=max,image-manifest=true,oci-mediatypes=true \
196206
--progress plain \
197207
--platform linux/amd64 \
198208
--provenance=false \

0 commit comments

Comments
 (0)