Skip to content

Commit

Permalink
[rayci] microcheck pipeline rayci config (#229)
Browse files Browse the repository at this point in the history
As title, store this in rayci to obscure its definition.

Signed-off-by: can <[email protected]>
  • Loading branch information
can-anyscale committed May 7, 2024
1 parent 208fd20 commit 03561b1
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 38 deletions.
88 changes: 50 additions & 38 deletions raycicmd/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,9 @@ const (
rayPRPipeline = "0183465f-a222-467a-b122-3b9ea3e68094"

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

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

var prPipelineConfig = &config{
name: "ray-pr",
func prPipelineConfig(name string, extraEnv map[string]string) *config {
config := &config{
name: name,

ArtifactsBucket: "ray-ci-artifact-pr-public",
ArtifactsBucket: "ray-ci-artifact-pr-public",

CITemp: "s3://ray-ci-artifact-pr-public/ci-temp/",
CIWorkRepo: rayCIECR + "/rayproject/citemp",
ForgePrefix: defaultForgePrefix,
CITemp: "s3://ray-ci-artifact-pr-public/ci-temp/",
CIWorkRepo: rayCIECR + "/rayproject/citemp",
ForgePrefix: defaultForgePrefix,

BuilderQueues: map[string]string{
"builder": "builder_queue_pr",
"builder-arm64": "builder_queue_arm64_pr",
"builder-windows": "builder_queue_windows_pr",
},
BuilderQueues: map[string]string{
"builder": "builder_queue_pr",
"builder-arm64": "builder_queue_arm64_pr",
"builder-windows": "builder_queue_windows_pr",
},

RunnerQueues: map[string]string{
"default": "runner_queue_small_pr",
"small": "runner_queue_small_pr",
"medium": "runner_queue_medium_pr",
"large": "runner_queue_pr",
"gpu": "gpu_runner_queue_pr",
"gpu-large": "gpu_large_runner_queue_pr",
"trainium": "trainium_runner_queue_pr",
"windows": "windows_queue_pr",
"macos": "macos",
"macos-arm64": "macos-pr-arm64",

"medium-arm64": "runner_queue_arm64_medium_pr",
},
RunnerQueues: map[string]string{
"default": "runner_queue_small_pr",
"small": "runner_queue_small_pr",
"medium": "runner_queue_medium_pr",
"large": "runner_queue_pr",
"gpu": "gpu_runner_queue_pr",
"gpu-large": "gpu_large_runner_queue_pr",
"trainium": "trainium_runner_queue_pr",
"windows": "windows_queue_pr",
"macos": "macos",
"macos-arm64": "macos-pr-arm64",

BuilderPriority: 1,
RunnerPriority: 1,
"medium-arm64": "runner_queue_arm64_medium_pr",
},

Env: map[string]string{
"BUILDKITE_BAZEL_CACHE_URL": rayBazelBuildCache,
"BUILDKITE_CACHE_READONLY": "true",
},
BuilderPriority: 1,
RunnerPriority: 1,

HookEnvKeys: []string{"RAYCI_CHECKOUT_DIR"},
Env: map[string]string{
"BUILDKITE_BAZEL_CACHE_URL": rayBazelBuildCache,
"BUILDKITE_CACHE_READONLY": "true",
},

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

SkipTags: []string{"disabled", "skip-on-premerge"},
TagFilterCommand: []string{"./ci/ci_tags_from_change.sh"},

SkipTags: []string{"disabled", "skip-on-premerge"},
}
for k, v := range extraEnv {
config.Env[k] = v
}
return config
}

func ciDefaultConfig(envs Envs) *config {
Expand All @@ -260,11 +267,16 @@ func ciDefaultConfig(envs Envs) *config {
case rayBranchPipeline, rayV2PostmergePipeline, rayCIPipeline:
return branchPipelineConfig
case rayPRPipeline, rayV2PremergePipeline, rayDevPipeline:
return prPipelineConfig
return prPipelineConfig("ray-pr", nil)
case rayV2MicrocheckPipeline:
return prPipelineConfig(
"ray-pr-microcheck",
map[string]string{"RAYCI_MICROCHECK_RUN": "1"},
)
}

// By default, assume it is less privileged.
return prPipelineConfig
return prPipelineConfig("ray-pr", nil)
}

func defaultConfig(envs Envs) *config {
Expand Down
23 changes: 23 additions & 0 deletions raycicmd/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,25 @@ func TestLoadConfig(t *testing.T) {
}
})

t.Run("load ray microcheck CI config", func(t *testing.T) {
envs := newEnvsMap(map[string]string{
"CI": "true",
"BUILDKITE_PIPELINE_ID": rayV2MicrocheckPipeline,
})

config, err := loadConfig("", envs)
if err != nil {
t.Fatalf("load config: %v", err)
}
if want := "ray-pr-microcheck"; config.name != want {
t.Errorf("config got %q, want %q", config.name, want)
}
val, ok := config.Env["RAYCI_MICROCHECK_RUN"]
if !ok || val != "1" {
t.Errorf("config.Env.RAYCI_MICROCHECK_RUN got %q, want `1`", val)
}
})

t.Run("load ray PR CI config", func(t *testing.T) {
envs := newEnvsMap(map[string]string{
"CI": "true",
Expand All @@ -45,6 +64,10 @@ func TestLoadConfig(t *testing.T) {
if want := "ray-pr"; config.name != want {
t.Errorf("config got %q, want %q", config.name, want)
}
val, ok := config.Env["RAYCI_MICROCHECK_RUN"]
if ok || val == "1" {
t.Errorf("config.Env.RAYCI_MICROCHECK_RUN got %q, want not `1`", val)
}
})

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

0 comments on commit 03561b1

Please sign in to comment.