44 aws-cli : circleci/aws-cli@5.1.1
55 docker : circleci/docker@2.8
66
7-
87commands :
98 split_python_version :
109 steps :
6160 --provenance=false \
6261 --sbom=false \
6362 --output type=registry,push=true \
64- .
63+ ./python/base
6564
6665 build-and-push-python :
6766 machine :
9796 --provenance=false \
9897 --sbom=false \
9998 --output type=registry,push=true \
100- .
99+ ./python/python
101100
102101 build-and-push-python-datascience :
103102 machine :
@@ -167,7 +166,72 @@ jobs:
167166 --provenance=false \
168167 --sbom=false \
169168 --output type=registry,push=true \
170- .
169+ ./python/conda
170+
171+ build-and-push-ir :
172+ machine :
173+ image : ubuntu-2404:current
174+ parameters :
175+ r-version :
176+ type : string
177+ environment :
178+ R_VERSION : << parameters.r-version >>
179+ PYTHON_VERSION : " 3.9"
180+ steps :
181+ - checkout
182+ - docker_login
183+ - setup_buildkit_builder
184+ - run :
185+ name : Build and push ir image
186+ command : |
187+ REPOSITORY="deepnote/ir"
188+ TAG="${R_VERSION}${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}"
189+ docker buildx build \
190+ --file=./ir/ir-base/Dockerfile.ir \
191+ --tag=978928340082.dkr.ecr.us-east-1.amazonaws.com/${REPOSITORY}:${TAG} \
192+ --tag=docker.io/${REPOSITORY}:${TAG} \
193+ --build-arg R_VERSION=${R_VERSION} \
194+ --build-arg PYTHON_VERSION=${PYTHON_VERSION} \
195+ --cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache,mode=max \
196+ --cache-to type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache,mode=max,image-manifest=true,oci-mediatypes=true \
197+ --progress plain \
198+ --platform linux/amd64 \
199+ --provenance=false \
200+ --sbom=false \
201+ --output type=registry,push=true \
202+ ./ir/ir-base
203+ build-and-push-ir-with-libs :
204+ machine :
205+ image : ubuntu-2404:current
206+ parameters :
207+ r-version :
208+ type : string
209+ environment :
210+ R_VERSION : << parameters.r-version >>
211+ PYTHON_VERSION : " 3.9"
212+ steps :
213+ - checkout
214+ - docker_login
215+ - setup_buildkit_builder
216+ - run :
217+ name : Build and push ir with datascience libraries
218+ command : |
219+ REPOSITORY="deepnote/ir-with-libs"
220+ TAG="${R_VERSION}${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}}"
221+ docker buildx build \
222+ --file=./ir/ir-with-libs/Dockerfile.ir \
223+ --tag=978928340082.dkr.ecr.us-east-1.amazonaws.com/${REPOSITORY}:${TAG} \
224+ --tag=docker.io/${REPOSITORY}:${TAG} \
225+ --build-arg R_VERSION=${R_VERSION} \
226+ --build-arg CIRCLE_PULL_REQUEST=${CIRCLE_PULL_REQUEST} \
227+ --cache-from type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache,mode=max \
228+ --cache-to type=registry,ref=docker.io/${REPOSITORY}:${TAG}-buildcache,mode=max,image-manifest=true,oci-mediatypes=true \
229+ --progress plain \
230+ --platform linux/amd64 \
231+ --provenance=false \
232+ --sbom=false \
233+ --output type=registry,push=true \
234+ ./ir/ir-with-libs
171235
172236 build-and-push-gpu :
173237 machine :
@@ -208,14 +272,18 @@ jobs:
208272 --provenance=false \
209273 --sbom=false \
210274 --output type=registry,push=true \
211- .
275+ ./gpu
212276
213277python-versions : &python-versions
214278 - " 3.8.19"
215279 - " 3.9.19"
216280 - " 3.10.15"
217281 - " 3.11.10"
218282
283+ r-versions : &r-versions
284+ - " 4.0.4"
285+ - " 4.2.0"
286+
219287workflows :
220288 build :
221289 jobs :
@@ -242,6 +310,20 @@ workflows:
242310 python-version : *python-versions
243311 requires :
244312 - Building the base image
313+ - build-and-push-ir :
314+ name : R << matrix.r-version >>
315+ matrix :
316+ parameters :
317+ r-version : *r-versions
318+ requires :
319+ - Python 3.9.19
320+ - build-and-push-ir-with-libs :
321+ name : R with libs << matrix.r-version >>
322+ matrix :
323+ parameters :
324+ r-version : *r-versions
325+ requires :
326+ - R << matrix.r-version >>
245327
246328 - build-and-push-gpu :
247329 name : Tensorflow 2.9
0 commit comments