Skip to content

Commit 03561b1

Browse files
authored
[rayci] microcheck pipeline rayci config (#229)
As title, store this in rayci to obscure its definition. Signed-off-by: can <[email protected]>
1 parent 208fd20 commit 03561b1

File tree

2 files changed

+73
-38
lines changed

2 files changed

+73
-38
lines changed

raycicmd/config.go

+50-38
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,9 @@ const (
148148
rayPRPipeline = "0183465f-a222-467a-b122-3b9ea3e68094"
149149

150150
// v2 pipelines
151-
rayV2PostmergePipeline = "0189e759-8c96-4302-b6b5-b4274406bf89"
152-
rayV2PremergePipeline = "0189942e-0876-4b8f-80a4-617f988ec59b"
151+
rayV2PostmergePipeline = "0189e759-8c96-4302-b6b5-b4274406bf89"
152+
rayV2PremergePipeline = "0189942e-0876-4b8f-80a4-617f988ec59b"
153+
rayV2MicrocheckPipeline = "018f4f1e-1b73-4906-9802-92422e3badaa"
153154

154155
// dev only
155156
rayDevPipeline = "5b097a97-ad35-4443-9552-f5c413ead11c"
@@ -209,49 +210,55 @@ var branchPipelineConfig = &config{
209210
SkipTags: []string{"disabled"},
210211
}
211212

212-
var prPipelineConfig = &config{
213-
name: "ray-pr",
213+
func prPipelineConfig(name string, extraEnv map[string]string) *config {
214+
config := &config{
215+
name: name,
214216

215-
ArtifactsBucket: "ray-ci-artifact-pr-public",
217+
ArtifactsBucket: "ray-ci-artifact-pr-public",
216218

217-
CITemp: "s3://ray-ci-artifact-pr-public/ci-temp/",
218-
CIWorkRepo: rayCIECR + "/rayproject/citemp",
219-
ForgePrefix: defaultForgePrefix,
219+
CITemp: "s3://ray-ci-artifact-pr-public/ci-temp/",
220+
CIWorkRepo: rayCIECR + "/rayproject/citemp",
221+
ForgePrefix: defaultForgePrefix,
220222

221-
BuilderQueues: map[string]string{
222-
"builder": "builder_queue_pr",
223-
"builder-arm64": "builder_queue_arm64_pr",
224-
"builder-windows": "builder_queue_windows_pr",
225-
},
223+
BuilderQueues: map[string]string{
224+
"builder": "builder_queue_pr",
225+
"builder-arm64": "builder_queue_arm64_pr",
226+
"builder-windows": "builder_queue_windows_pr",
227+
},
226228

227-
RunnerQueues: map[string]string{
228-
"default": "runner_queue_small_pr",
229-
"small": "runner_queue_small_pr",
230-
"medium": "runner_queue_medium_pr",
231-
"large": "runner_queue_pr",
232-
"gpu": "gpu_runner_queue_pr",
233-
"gpu-large": "gpu_large_runner_queue_pr",
234-
"trainium": "trainium_runner_queue_pr",
235-
"windows": "windows_queue_pr",
236-
"macos": "macos",
237-
"macos-arm64": "macos-pr-arm64",
238-
239-
"medium-arm64": "runner_queue_arm64_medium_pr",
240-
},
229+
RunnerQueues: map[string]string{
230+
"default": "runner_queue_small_pr",
231+
"small": "runner_queue_small_pr",
232+
"medium": "runner_queue_medium_pr",
233+
"large": "runner_queue_pr",
234+
"gpu": "gpu_runner_queue_pr",
235+
"gpu-large": "gpu_large_runner_queue_pr",
236+
"trainium": "trainium_runner_queue_pr",
237+
"windows": "windows_queue_pr",
238+
"macos": "macos",
239+
"macos-arm64": "macos-pr-arm64",
241240

242-
BuilderPriority: 1,
243-
RunnerPriority: 1,
241+
"medium-arm64": "runner_queue_arm64_medium_pr",
242+
},
244243

245-
Env: map[string]string{
246-
"BUILDKITE_BAZEL_CACHE_URL": rayBazelBuildCache,
247-
"BUILDKITE_CACHE_READONLY": "true",
248-
},
244+
BuilderPriority: 1,
245+
RunnerPriority: 1,
249246

250-
HookEnvKeys: []string{"RAYCI_CHECKOUT_DIR"},
247+
Env: map[string]string{
248+
"BUILDKITE_BAZEL_CACHE_URL": rayBazelBuildCache,
249+
"BUILDKITE_CACHE_READONLY": "true",
250+
},
251251

252-
TagFilterCommand: []string{"./ci/ci_tags_from_change.sh"},
252+
HookEnvKeys: []string{"RAYCI_CHECKOUT_DIR"},
253253

254-
SkipTags: []string{"disabled", "skip-on-premerge"},
254+
TagFilterCommand: []string{"./ci/ci_tags_from_change.sh"},
255+
256+
SkipTags: []string{"disabled", "skip-on-premerge"},
257+
}
258+
for k, v := range extraEnv {
259+
config.Env[k] = v
260+
}
261+
return config
255262
}
256263

257264
func ciDefaultConfig(envs Envs) *config {
@@ -260,11 +267,16 @@ func ciDefaultConfig(envs Envs) *config {
260267
case rayBranchPipeline, rayV2PostmergePipeline, rayCIPipeline:
261268
return branchPipelineConfig
262269
case rayPRPipeline, rayV2PremergePipeline, rayDevPipeline:
263-
return prPipelineConfig
270+
return prPipelineConfig("ray-pr", nil)
271+
case rayV2MicrocheckPipeline:
272+
return prPipelineConfig(
273+
"ray-pr-microcheck",
274+
map[string]string{"RAYCI_MICROCHECK_RUN": "1"},
275+
)
264276
}
265277

266278
// By default, assume it is less privileged.
267-
return prPipelineConfig
279+
return prPipelineConfig("ray-pr", nil)
268280
}
269281

270282
func defaultConfig(envs Envs) *config {

raycicmd/config_test.go

+23
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,25 @@ func TestLoadConfig(t *testing.T) {
3232
}
3333
})
3434

35+
t.Run("load ray microcheck CI config", func(t *testing.T) {
36+
envs := newEnvsMap(map[string]string{
37+
"CI": "true",
38+
"BUILDKITE_PIPELINE_ID": rayV2MicrocheckPipeline,
39+
})
40+
41+
config, err := loadConfig("", envs)
42+
if err != nil {
43+
t.Fatalf("load config: %v", err)
44+
}
45+
if want := "ray-pr-microcheck"; config.name != want {
46+
t.Errorf("config got %q, want %q", config.name, want)
47+
}
48+
val, ok := config.Env["RAYCI_MICROCHECK_RUN"]
49+
if !ok || val != "1" {
50+
t.Errorf("config.Env.RAYCI_MICROCHECK_RUN got %q, want `1`", val)
51+
}
52+
})
53+
3554
t.Run("load ray PR CI config", func(t *testing.T) {
3655
envs := newEnvsMap(map[string]string{
3756
"CI": "true",
@@ -45,6 +64,10 @@ func TestLoadConfig(t *testing.T) {
4564
if want := "ray-pr"; config.name != want {
4665
t.Errorf("config got %q, want %q", config.name, want)
4766
}
67+
val, ok := config.Env["RAYCI_MICROCHECK_RUN"]
68+
if ok || val == "1" {
69+
t.Errorf("config.Env.RAYCI_MICROCHECK_RUN got %q, want not `1`", val)
70+
}
4871
})
4972

5073
t.Run("load config file", func(t *testing.T) {

0 commit comments

Comments
 (0)