Skip to content

Commit 6a668ed

Browse files
feat(ci): wanda ray image builds, uploads to Dockerhub
Adds Dockerfile and Wanda files for Ray images, pulling artifacts from previous steps. Buildkite steps also updated to use these, including both build and upload steps. Topic: ray-image Relative: push-script Signed-off-by: andrew <[email protected]>
1 parent 6efc009 commit 6a668ed

8 files changed

+408
-47
lines changed

.buildkite/build.rayci.yml

Lines changed: 275 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ steps:
107107
- ray-java-build
108108
- ray-dashboard-build
109109

110-
# Upload cpp wheel to S3
111110
- label: ":s3: upload: cpp wheel (x86_64)"
112111
key: linux_cpp_wheels_upload
113112
instance_type: small
@@ -136,89 +135,317 @@ steps:
136135
depends_on: manylinux-x86_64
137136
job_env: manylinux-x86_64
138137

139-
- label: ":tapioca: build: ray py{{matrix}} docker (x86_64)"
140-
key: ray_images
138+
- name: ray-image-cpu-build
139+
label: "wanda: ray py{{matrix}} cpu (x86_64)"
140+
wanda: ci/docker/ray-image-cpu.wanda.yaml
141+
matrix:
142+
- "3.10"
143+
- "3.11"
144+
- "3.12"
145+
env:
146+
PYTHON_VERSION: "{{matrix}}"
147+
ARCH_SUFFIX: ""
148+
RAY_VERSION: "3.0.0.dev0"
141149
tags:
142150
- python_dependencies
143151
- docker
144152
- oss
145-
instance_type: medium
146-
commands:
147-
- bazel run //ci/ray_ci:build_in_docker -- docker --python-version {{matrix}}
148-
--platform cu11.7.1-cudnn8 --platform cu11.8.0-cudnn8
149-
--platform cu12.1.1-cudnn8 --platform cu12.3.2-cudnn9
150-
--platform cu12.4.1-cudnn --platform cu12.5.1-cudnn
151-
--platform cu12.6.3-cudnn --platform cu12.8.1-cudnn
152-
--platform cu12.9.1-cudnn
153-
--platform cpu
154-
--image-type ray --upload
155153
depends_on:
156-
- manylinux-x86_64
157-
- forge
158-
- raycudabase
154+
- ray-wheel-build
159155
- raycpubase
156+
157+
- label: ":docker: push: ray py{{matrix}} cpu (x86_64)"
158+
key: ray_images_cpu_push
159+
instance_type: small
160+
commands:
161+
- bazel run //.buildkite:copy_files -- --destination docker_login
162+
- bazel run //ci/ray_ci/automation:push_ray_image --
163+
--python-version {{matrix}}
164+
--platform cpu
165+
--image-type ray
166+
--architecture x86_64
167+
--upload
160168
matrix:
161169
- "3.10"
162170
- "3.11"
163171
- "3.12"
172+
depends_on:
173+
- ray-image-cpu-build
174+
tags:
175+
- python_dependencies
176+
- docker
177+
- skip-on-premerge
178+
- oss
164179

165-
- label: ":tapioca: build: ray-extra py{{matrix}} docker (x86_64)"
166-
key: ray_extra_images
180+
- name: ray-image-cuda-build
181+
label: "wanda: ray py{{matrix.python}} cu{{matrix.cuda}} (x86_64)"
182+
wanda: ci/docker/ray-image-cuda.wanda.yaml
183+
matrix:
184+
setup:
185+
python:
186+
- "3.10"
187+
- "3.11"
188+
- "3.12"
189+
cuda:
190+
- "11.7.1-cudnn8"
191+
- "11.8.0-cudnn8"
192+
- "12.1.1-cudnn8"
193+
- "12.3.2-cudnn9"
194+
- "12.4.1-cudnn"
195+
- "12.5.1-cudnn"
196+
- "12.6.3-cudnn"
197+
- "12.8.1-cudnn"
198+
- "12.9.1-cudnn"
199+
env:
200+
PYTHON_VERSION: "{{matrix.python}}"
201+
CUDA_VERSION: "{{matrix.cuda}}"
202+
ARCH_SUFFIX: ""
203+
RAY_VERSION: "3.0.0.dev0"
167204
tags:
168205
- python_dependencies
169206
- docker
170207
- oss
171-
instance_type: medium
208+
depends_on:
209+
- ray-wheel-build
210+
- raycudabase
211+
212+
- label: ":docker: push: ray py{{matrix.python}} cu{{matrix.cuda}} (x86_64)"
213+
key: ray_images_cuda_push
214+
instance_type: small
172215
commands:
173-
- bazel run //ci/ray_ci:build_in_docker -- docker --python-version {{matrix}}
174-
--platform cu11.7.1-cudnn8 --platform cu11.8.0-cudnn8
175-
--platform cu12.1.1-cudnn8 --platform cu12.3.2-cudnn9
176-
--platform cu12.4.1-cudnn --platform cu12.5.1-cudnn
177-
--platform cu12.6.3-cudnn --platform cu12.8.1-cudnn
178-
--platform cu12.9.1-cudnn
179-
--platform cpu
180-
--image-type ray-extra --upload
216+
- bazel run //.buildkite:copy_files -- --destination docker_login
217+
- bazel run //ci/ray_ci/automation:push_ray_image --
218+
--python-version {{matrix.python}}
219+
--platform cu{{matrix.cuda}}
220+
--image-type ray
221+
--architecture x86_64
222+
--upload
223+
matrix:
224+
setup:
225+
python:
226+
- "3.10"
227+
- "3.11"
228+
- "3.12"
229+
cuda:
230+
- "11.7.1-cudnn8"
231+
- "11.8.0-cudnn8"
232+
- "12.1.1-cudnn8"
233+
- "12.3.2-cudnn9"
234+
- "12.4.1-cudnn"
235+
- "12.5.1-cudnn"
236+
- "12.6.3-cudnn"
237+
- "12.8.1-cudnn"
238+
- "12.9.1-cudnn"
181239
depends_on:
182-
- manylinux-x86_64
183-
- forge
184-
- raycpubaseextra
185-
- raycudabaseextra
240+
- ray-image-cuda-build
241+
tags:
242+
- python_dependencies
243+
- docker
244+
- skip-on-premerge
245+
- oss
246+
247+
- name: ray-extra-image-cpu-build
248+
label: "wanda: ray-extra py{{matrix}} cpu (x86_64)"
249+
wanda: ci/docker/ray-extra-image-cpu.wanda.yaml
186250
matrix:
187251
- "3.10"
188252
- "3.11"
189253
- "3.12"
254+
env:
255+
PYTHON_VERSION: "{{matrix}}"
256+
ARCH_SUFFIX: ""
257+
RAY_VERSION: "3.0.0.dev0"
258+
tags:
259+
- python_dependencies
260+
- docker
261+
- oss
262+
depends_on:
263+
- ray-wheel-build
264+
- raycpubaseextra
190265

191-
- label: ":tapioca: build: ray-llm py{{matrix}} docker (x86_64)"
266+
- name: ray-extra-image-cuda-build
267+
label: "wanda: ray-extra py{{matrix.python}} cu{{matrix.cuda}} (x86_64)"
268+
wanda: ci/docker/ray-extra-image-cuda.wanda.yaml
269+
matrix:
270+
setup:
271+
python:
272+
- "3.10"
273+
- "3.11"
274+
- "3.12"
275+
cuda:
276+
- "11.7.1-cudnn8"
277+
- "11.8.0-cudnn8"
278+
- "12.1.1-cudnn8"
279+
- "12.3.2-cudnn9"
280+
- "12.4.1-cudnn"
281+
- "12.5.1-cudnn"
282+
- "12.6.3-cudnn"
283+
- "12.8.1-cudnn"
284+
- "12.9.1-cudnn"
285+
env:
286+
PYTHON_VERSION: "{{matrix.python}}"
287+
CUDA_VERSION: "{{matrix.cuda}}"
288+
ARCH_SUFFIX: ""
289+
RAY_VERSION: "3.0.0.dev0"
192290
tags:
193291
- python_dependencies
194292
- docker
195293
- oss
196-
instance_type: medium
197-
commands:
198-
- bazel run //ci/ray_ci:build_in_docker -- docker --python-version {{matrix}}
199-
--platform cu12.8.1-cudnn --image-type ray-llm --upload
200294
depends_on:
201-
- manylinux-x86_64
202-
- forge
295+
- ray-wheel-build
296+
- raycudabaseextra
297+
298+
- name: ray-llm-image-cuda-build
299+
label: "wanda: ray-llm py{{matrix.python}} cu{{matrix.cuda}} (x86_64)"
300+
wanda: ci/docker/ray-llm-image-cuda.wanda.yaml
301+
matrix:
302+
setup:
303+
python:
304+
- "3.11"
305+
cuda:
306+
- "12.8.1-cudnn"
307+
env:
308+
PYTHON_VERSION: "{{matrix.python}}"
309+
CUDA_VERSION: "{{matrix.cuda}}"
310+
ARCH_SUFFIX: ""
311+
RAY_VERSION: "3.0.0.dev0"
312+
tags:
313+
- python_dependencies
314+
- docker
315+
- oss
316+
depends_on:
317+
- ray-wheel-build
203318
- ray-llmbase
319+
320+
- name: ray-llm-extra-image-cuda-build
321+
label: "wanda: ray-llm-extra py{{matrix.python}} cu{{matrix.cuda}} (x86_64)"
322+
wanda: ci/docker/ray-llm-extra-image-cuda.wanda.yaml
323+
matrix:
324+
setup:
325+
python:
326+
- "3.11"
327+
cuda:
328+
- "12.8.1-cudnn"
329+
env:
330+
PYTHON_VERSION: "{{matrix.python}}"
331+
CUDA_VERSION: "{{matrix.cuda}}"
332+
ARCH_SUFFIX: ""
333+
RAY_VERSION: "3.0.0.dev0"
334+
tags:
335+
- python_dependencies
336+
- docker
337+
- oss
338+
depends_on:
339+
- ray-wheel-build
340+
- ray-llmbaseextra
341+
342+
- label: ":docker: push: ray-extra py{{matrix}} cpu (x86_64)"
343+
key: ray_extra_images_cpu_push
344+
instance_type: small
345+
commands:
346+
- bazel run //.buildkite:copy_files -- --destination docker_login
347+
- bazel run //ci/ray_ci/automation:push_ray_image --
348+
--python-version {{matrix}}
349+
--platform cpu
350+
--image-type ray-extra
351+
--architecture x86_64
352+
--upload
204353
matrix:
354+
- "3.10"
205355
- "3.11"
356+
- "3.12"
357+
depends_on:
358+
- ray-extra-image-cpu-build
359+
tags:
360+
- python_dependencies
361+
- docker
362+
- skip-on-premerge
363+
- oss
206364

207-
- label: ":tapioca: build: ray-llm-extra py{{matrix}} docker (x86_64)"
365+
- label: ":docker: push: ray-extra py{{matrix.python}} cu{{matrix.cuda}} (x86_64)"
366+
key: ray_extra_images_cuda_push
367+
instance_type: small
368+
commands:
369+
- bazel run //.buildkite:copy_files -- --destination docker_login
370+
- bazel run //ci/ray_ci/automation:push_ray_image --
371+
--python-version {{matrix.python}}
372+
--platform cu{{matrix.cuda}}
373+
--image-type ray-extra
374+
--architecture x86_64
375+
--upload
376+
matrix:
377+
setup:
378+
python:
379+
- "3.10"
380+
- "3.11"
381+
- "3.12"
382+
cuda:
383+
- "11.7.1-cudnn8"
384+
- "11.8.0-cudnn8"
385+
- "12.1.1-cudnn8"
386+
- "12.3.2-cudnn9"
387+
- "12.4.1-cudnn"
388+
- "12.5.1-cudnn"
389+
- "12.6.3-cudnn"
390+
- "12.8.1-cudnn"
391+
- "12.9.1-cudnn"
392+
depends_on:
393+
- ray-extra-image-cuda-build
208394
tags:
209395
- python_dependencies
210396
- docker
397+
- skip-on-premerge
211398
- oss
212-
instance_type: medium
399+
400+
- label: ":docker: push: ray-llm py{{matrix.python}} cu{{matrix.cuda}} (x86_64)"
401+
key: ray_llm_images_cuda_push
402+
instance_type: small
213403
commands:
214-
- bazel run //ci/ray_ci:build_in_docker -- docker --python-version {{matrix}}
215-
--platform cu12.8.1-cudnn --image-type ray-llm-extra --upload
404+
- bazel run //.buildkite:copy_files -- --destination docker_login
405+
- bazel run //ci/ray_ci/automation:push_ray_image --
406+
--python-version {{matrix.python}}
407+
--platform cu{{matrix.cuda}}
408+
--image-type ray-llm
409+
--architecture x86_64
410+
--upload
411+
matrix:
412+
setup:
413+
python:
414+
- "3.11"
415+
cuda:
416+
- "12.8.1-cudnn"
216417
depends_on:
217-
- manylinux-x86_64
218-
- forge
219-
- ray-llmbaseextra
418+
- ray-llm-image-cuda-build
419+
tags:
420+
- python_dependencies
421+
- docker
422+
- skip-on-premerge
423+
- oss
424+
425+
- label: ":docker: push: ray-llm-extra py{{matrix.python}} cu{{matrix.cuda}} (x86_64)"
426+
key: ray_llm_extra_images_cuda_push
427+
instance_type: small
428+
commands:
429+
- bazel run //.buildkite:copy_files -- --destination docker_login
430+
- bazel run //ci/ray_ci/automation:push_ray_image --
431+
--python-version {{matrix.python}}
432+
--platform cu{{matrix.cuda}}
433+
--image-type ray-llm-extra
434+
--architecture x86_64
435+
--upload
220436
matrix:
221-
- "3.11"
437+
setup:
438+
python:
439+
- "3.11"
440+
cuda:
441+
- "12.8.1-cudnn"
442+
depends_on:
443+
- ray-llm-extra-image-cuda-build
444+
tags:
445+
- python_dependencies
446+
- docker
447+
- skip-on-premerge
448+
- oss
222449

223450
- label: ":tapioca: smoke test build-docker.sh"
224451
tags:
@@ -245,6 +472,7 @@ steps:
245472
- bazel run .buildkite:copy_files -- --destination docker_login
246473
- bazel run //ci/ray_ci/automation:generate_index -- --prefix nightly
247474
depends_on:
248-
- ray_images
475+
- ray_images_cpu_push
476+
- ray_images_cuda_push
249477
- ray_images_aarch64
250478
- forge
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: "ray-extra-py$PYTHON_VERSION-cpu$ARCH_SUFFIX"
2+
disable_caching: true
3+
froms:
4+
- "cr.ray.io/rayproject/ray-py$PYTHON_VERSION-cpu-base-extra$ARCH_SUFFIX" # CPU base-extra image
5+
- "cr.ray.io/rayproject/ray-wheel-py$PYTHON_VERSION$ARCH_SUFFIX" # Ray wheel
6+
dockerfile: ci/docker/ray-image.Dockerfile
7+
build_args:
8+
- PYTHON_VERSION
9+
- ARCH_SUFFIX
10+
- IMAGE_TYPE=ray
11+
- PLATFORM=cpu
12+
- BASE_VARIANT=base-extra
13+
- RAY_COMMIT=$BUILDKITE_COMMIT
14+
- RAY_VERSION

0 commit comments

Comments
 (0)