11group : release build
22steps :
3+ # Build ray core components (required for wheel builds)
4+ - name : ray-core-build
5+ label : " wanda: core binary parts py{{matrix}} (x86_64)"
6+ wanda : ci/docker/ray-core.wanda.yaml
7+ matrix :
8+ - " 3.10"
9+ - " 3.11"
10+ - " 3.12"
11+ env_file : rayci.env
12+ env :
13+ PYTHON_VERSION : " {{matrix}}"
14+ ARCH_SUFFIX : " "
15+ HOSTTYPE : " x86_64"
16+ tags : oss
17+
18+ - name : ray-dashboard-build
19+ label : " wanda: dashboard"
20+ wanda : ci/docker/ray-dashboard.wanda.yaml
21+ env_file : rayci.env
22+ env :
23+ ARCH_SUFFIX : " "
24+ HOSTTYPE : " x86_64"
25+ tags : oss
26+
27+ - name : ray-java-build
28+ label : " wanda: java build (x86_64)"
29+ wanda : ci/docker/ray-java.wanda.yaml
30+ tags : oss
31+ env_file : rayci.env
32+ env :
33+ ARCH_SUFFIX : " "
34+ HOSTTYPE : " x86_64"
35+
36+ - name : ray-wheel-build
37+ label : " wanda: wheel py{{matrix}} (x86_64)"
38+ wanda : ci/docker/ray-wheel.wanda.yaml
39+ matrix :
40+ - " 3.10"
41+ - " 3.11"
42+ - " 3.12"
43+ env_file : rayci.env
44+ env :
45+ PYTHON_VERSION : " {{matrix}}"
46+ ARCH_SUFFIX : " "
47+ HOSTTYPE : " x86_64"
48+ tags : oss
49+ depends_on :
50+ - ray-core-build
51+ - ray-java-build
52+ - ray-dashboard-build
53+
354 - name : raycpubaseextra-testdeps
455 label : " wanda: ray.py{{matrix}}.cpu.base-extra-testdeps"
556 wanda : docker/base-extra-testdeps/cpu.wanda.yaml
@@ -65,26 +116,74 @@ steps:
65116 depends_on :
66117 - ray-mlcudabaseextra
67118
68- - label : " :tapioca: build: ray py{{matrix.python}}-{{matrix.platform}} image for release tests"
119+ # Build ray anyscale images using wanda (CPU)
120+ - name : ray-anyscale-cpu-build
121+ label : " wanda: ray-anyscale py{{matrix}} cpu"
122+ wanda : ci/docker/ray-anyscale-cpu.wanda.yaml
123+ env_file : rayci.env
124+ matrix :
125+ # This list should be kept in sync with the list of supported Python in
126+ # release test suite
127+ - " 3.10"
128+ - " 3.11"
129+ - " 3.12"
130+ env :
131+ PYTHON_VERSION : " {{matrix}}"
132+ ARCH_SUFFIX : " "
133+ tags :
134+ - oss
135+ depends_on :
136+ - ray-wheel-build
137+ - raycpubaseextra-testdeps
138+
139+ # Build ray anyscale images using wanda (CUDA)
140+ - name : ray-anyscale-cuda-build
141+ label : " wanda: ray-anyscale py{{matrix.python}} cu{{matrix.cuda}}"
142+ wanda : ci/docker/ray-anyscale-cuda.wanda.yaml
143+ env_file : rayci.env
144+ matrix :
145+ setup :
146+ python :
147+ - " 3.10"
148+ - " 3.11"
149+ - " 3.12"
150+ cuda :
151+ - " 12.3.2-cudnn9"
152+ env :
153+ PYTHON_VERSION : " {{matrix.python}}"
154+ CUDA_VERSION : " {{matrix.cuda}}"
155+ ARCH_SUFFIX : " "
156+ tags :
157+ - oss
158+ depends_on :
159+ - ray-wheel-build
160+ - raycudabaseextra-testdeps
161+
162+ # Push anyscale images to ECR/GCP/Azure registries
163+ - label : " :docker: push: ray-anyscale py{{matrix.python}} {{matrix.platform}}"
69164 key : anyscalebuild
70165 instance_type : release-medium
71166 mount_buildkite_agent : true
72167 tags :
73168 - oss
74169 commands :
75- - bazel run //ci/ray_ci:build_in_docker -- anyscale
76- --python-version {{matrix.python}} --platform {{matrix.platform}}
77- --image-type ray --upload
170+ # Authenticate with GCP and Azure before pushing
171+ - bash release/gcloud_docker_login.sh release/aws2gce_iam.json
172+ - bash release/azure_docker_login.sh
173+ - az acr login --name rayreleasetest
174+ # PATH must include gcloud SDK for crane to use docker credential helper
175+ - export PATH=$(pwd)/google-cloud-sdk/bin:$PATH &&
176+ bazel run //ci/ray_ci/automation:push_anyscale_image --
177+ --python-version {{matrix.python}}
178+ --platform {{matrix.platform}}
179+ --image-type ray
180+ --upload
78181 depends_on :
79- - manylinux-x86_64
80- - forge
81- - raycpubaseextra-testdeps
82- - raycudabaseextra-testdeps
182+ - ray-anyscale-cpu-build
183+ - ray-anyscale-cuda-build
83184 matrix :
84185 setup :
85186 python :
86- # This list should be kept in sync with the list of supported Python in
87- # release test suite
88187 - " 3.10"
89188 - " 3.11"
90189 - " 3.12"
@@ -93,35 +192,95 @@ steps:
93192 - cu12.3.2-cudnn9
94193 - cpu
95194
96- - label : " :tapioca: build: ray-llm py{{matrix}} image for release tests"
195+ # Build ray-llm anyscale image using wanda
196+ - name : ray-llm-anyscale-cuda-build
197+ label : " wanda: ray-llm-anyscale py{{matrix.python}} cu{{matrix.cuda}}"
198+ wanda : ci/docker/ray-llm-anyscale-cuda.wanda.yaml
199+ env_file : rayci.env
200+ matrix :
201+ setup :
202+ python :
203+ - " 3.11"
204+ cuda :
205+ - " 12.8.1-cudnn"
206+ env :
207+ PYTHON_VERSION : " {{matrix.python}}"
208+ CUDA_VERSION : " {{matrix.cuda}}"
209+ ARCH_SUFFIX : " "
210+ tags :
211+ - oss
212+ depends_on :
213+ - ray-wheel-build
214+ - ray-llmbaseextra-testdeps
215+
216+ # Push ray-llm anyscale images to ECR/GCP/Azure registries
217+ - label : " :docker: push: ray-llm-anyscale py{{matrix}} cu12.8.1-cudnn"
97218 key : anyscalellmbuild
98219 instance_type : release-medium
99220 mount_buildkite_agent : true
100221 tags :
101222 - oss
102223 commands :
103- - bazel run //ci/ray_ci:build_in_docker -- anyscale --python-version {{matrix}}
104- --platform cu12.8.1-cudnn --image-type ray-llm --upload
224+ # Authenticate with GCP and Azure before pushing
225+ - bash release/gcloud_docker_login.sh release/aws2gce_iam.json
226+ - bash release/azure_docker_login.sh
227+ - az acr login --name rayreleasetest
228+ # PATH must include gcloud SDK for crane to use docker credential helper
229+ - export PATH=$(pwd)/google-cloud-sdk/bin:$PATH &&
230+ bazel run //ci/ray_ci/automation:push_anyscale_image --
231+ --python-version {{matrix}}
232+ --platform cu12.8.1-cudnn
233+ --image-type ray-llm
234+ --upload
105235 depends_on :
106- - manylinux-x86_64
107- - forge
108- - ray-llmbaseextra-testdeps
236+ - ray-llm-anyscale-cuda-build
109237 matrix :
110238 - " 3.11"
111239
112- - label : " :tapioca: build: ray-ml py{{matrix}} image for release tests"
240+ # Build ray-ml anyscale image using wanda
241+ - name : ray-ml-anyscale-cuda-build
242+ label : " wanda: ray-ml-anyscale py{{matrix.python}} cu{{matrix.cuda}}"
243+ wanda : ci/docker/ray-ml-anyscale-cuda.wanda.yaml
244+ env_file : rayci.env
245+ matrix :
246+ setup :
247+ python :
248+ # This list should be kept in sync with the list of supported Python in
249+ # release test suite
250+ - " 3.10"
251+ cuda :
252+ - " 12.1.1-cudnn8"
253+ env :
254+ PYTHON_VERSION : " {{matrix.python}}"
255+ CUDA_VERSION : " {{matrix.cuda}}"
256+ ARCH_SUFFIX : " "
257+ tags :
258+ - oss
259+ depends_on :
260+ - ray-wheel-build
261+ - ray-mlcudabaseextra-testdeps
262+
263+ # Push ray-ml anyscale images to ECR/GCP/Azure registries
264+ - label : " :docker: push: ray-ml-anyscale py{{matrix}} cu12.1.1-cudnn8"
113265 key : anyscalemlbuild
114266 instance_type : release-medium
115267 mount_buildkite_agent : true
116268 tags :
117269 - oss
118270 commands :
119- - bazel run //ci/ray_ci:build_in_docker -- anyscale --python-version {{matrix}}
120- --platform cu12.1.1-cudnn8 --image-type ray-ml --upload
271+ # Authenticate with GCP and Azure before pushing
272+ - bash release/gcloud_docker_login.sh release/aws2gce_iam.json
273+ - bash release/azure_docker_login.sh
274+ - az acr login --name rayreleasetest
275+ # PATH must include gcloud SDK for crane to use docker credential helper
276+ - export PATH=$(pwd)/google-cloud-sdk/bin:$PATH &&
277+ bazel run //ci/ray_ci/automation:push_anyscale_image --
278+ --python-version {{matrix}}
279+ --platform cu12.1.1-cudnn8
280+ --image-type ray-ml
281+ --upload
121282 depends_on :
122- - manylinux-x86_64
123- - forge
124- - ray-mlcudabaseextra-testdeps
283+ - ray-ml-anyscale-cuda-build
125284 matrix :
126285 # This list should be kept in sync with the list of supported Python in
127286 # release test suite
0 commit comments