From 1dfc6db21f7db861f90f505d059d76ce306ae018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Wa=C5=9Bko?= Date: Thu, 3 Oct 2024 16:09:08 +0200 Subject: [PATCH] add a cloud related mode --- build/build/src/ci_gen/job.rs | 44 +++++++++++++++++------------------ build/build/src/engine.rs | 8 +++++++ build/cli/src/lib.rs | 9 +++++++ 3 files changed, 39 insertions(+), 22 deletions(-) diff --git a/build/build/src/ci_gen/job.rs b/build/build/src/ci_gen/job.rs index 533652c59634..35ecee1e2ae3 100644 --- a/build/build/src/ci_gen/job.rs +++ b/build/build/src/ci_gen/job.rs @@ -245,31 +245,31 @@ impl JobArchetype for StandardLibraryTests { fn job(&self, target: Target) -> Job { let graal_edition = self.graal_edition; let should_enable_cloud_tests = self.cloud_tests_enabled; + // If cloud tests are enabled, we run only cloud related tests. + let test_scope = + if should_enable_cloud_tests { "std-cloud-related" } else { "standard-library" }; let job_name = format!("Standard Library Tests ({graal_edition})"); - let run_steps_builder = - RunStepsBuilder::new("backend test standard-library").customize(move |step| { - let main_step = step - .with_secret_exposed_as( - secret::ENSO_LIB_S3_AWS_REGION, - crate::libraries_tests::s3::env::ENSO_LIB_S3_AWS_REGION, - ) - .with_secret_exposed_as( - secret::ENSO_LIB_S3_AWS_ACCESS_KEY_ID, - crate::libraries_tests::s3::env::ENSO_LIB_S3_AWS_ACCESS_KEY_ID, - ) - .with_secret_exposed_as( - secret::ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY, - crate::libraries_tests::s3::env::ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY, - ); + let run_command = format!("backend test {test_scope}"); + let run_steps_builder = RunStepsBuilder::new(run_command).customize(move |step| { + let main_step = step + .with_secret_exposed_as( + secret::ENSO_LIB_S3_AWS_REGION, + crate::libraries_tests::s3::env::ENSO_LIB_S3_AWS_REGION, + ) + .with_secret_exposed_as( + secret::ENSO_LIB_S3_AWS_ACCESS_KEY_ID, + crate::libraries_tests::s3::env::ENSO_LIB_S3_AWS_ACCESS_KEY_ID, + ) + .with_secret_exposed_as( + secret::ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY, + crate::libraries_tests::s3::env::ENSO_LIB_S3_AWS_SECRET_ACCESS_KEY, + ); - let updated_main_step = if should_enable_cloud_tests { - enable_cloud_tests(main_step) - } else { - main_step - }; + let updated_main_step = + if should_enable_cloud_tests { enable_cloud_tests(main_step) } else { main_step }; - vec![updated_main_step, step::stdlib_test_reporter(target, graal_edition)] - }); + vec![updated_main_step, step::stdlib_test_reporter(target, graal_edition)] + }); let mut job = build_job_ensuring_cloud_tests_run_on_github( run_steps_builder, target, diff --git a/build/build/src/engine.rs b/build/build/src/engine.rs index 337c1bb537b0..c341af2b58fb 100644 --- a/build/build/src/engine.rs +++ b/build/build/src/engine.rs @@ -149,10 +149,18 @@ pub enum Benchmarks { #[derive(Clone, Copy, Debug, Display, PartialEq, Eq, PartialOrd, Ord, clap::ValueEnum)] pub enum Tests { + /// Run the JVM tests. Jvm, + + /// Run all Standard Library tests. #[clap(alias = "stdlib")] StandardLibrary, + + /// Run the Snowflake tests. StdSnowflake, + + /// Run a subset of Standard Library tests that deals with Cloud-related functionality. + StdCloudRelated, } impl Benchmarks { diff --git a/build/cli/src/lib.rs b/build/cli/src/lib.rs index d2df5d4b0dc2..6ed1dcf72479 100644 --- a/build/cli/src/lib.rs +++ b/build/cli/src/lib.rs @@ -407,6 +407,15 @@ impl Processor { "Snowflake_Tests".to_string() ]), ), + Tests::StdCloudRelated => config.add_standard_library_test_selection( + StandardLibraryTestsSelection::Selected(vec![ + "Base_Tests".to_string(), + // Table tests check integration of e.g. Postgres datalinks + "Table_Tests".to_string(), + // AWS tests check copying between Cloud and S3 + "AWS_Tests".to_string(), + ]), + ), } } let context = self.prepare_backend_context(config);