From 603bf395c599a5e59b4d6f3a4bb7e3d1519cd663 Mon Sep 17 00:00:00 2001 From: Yi Hu Date: Thu, 23 Feb 2023 11:38:27 -0500 Subject: [PATCH 1/4] Disable triggering most IO_Direct precommit on buildSrc and core change --- .test-infra/jenkins/PrecommitJobBuilder.groovy | 8 +++++++- .../jenkins/job_PreCommit_Java_Amqp_IO_Direct.groovy | 3 ++- .../jenkins/job_PreCommit_Java_Cassandra_IO_Direct.groovy | 2 +- .../jenkins/job_PreCommit_Java_Cdap_IO_Direct.groovy | 2 +- .../job_PreCommit_Java_Clickhouse_IO_Direct.groovy | 1 + .../jenkins/job_PreCommit_Java_Debezium_IO_Direct.groovy | 2 +- .../job_PreCommit_Java_ElasticSearch_IO_Direct.groovy | 2 +- .../jenkins/job_PreCommit_Java_HCatalog_IO_Direct.groovy | 2 +- .../jenkins/job_PreCommit_Java_Hbase_IO_Direct.groovy | 2 +- .../jenkins/job_PreCommit_Java_InfluxDb_IO_Direct.groovy | 2 +- .../jenkins/job_PreCommit_Java_Jms_IO_Direct.groovy | 3 ++- .../jenkins/job_PreCommit_Java_Kudu_IO_Direct.groovy | 2 +- .../jenkins/job_PreCommit_Java_Mqtt_IO_Direct.groovy | 2 +- .../jenkins/job_PreCommit_Java_Neo4j_IO_Direct.groovy | 2 +- .../jenkins/job_PreCommit_Java_Pulsar_IO_Direct.groovy | 3 ++- .../jenkins/job_PreCommit_Java_RabbitMq_IO_Direct.groovy | 2 +- .../jenkins/job_PreCommit_Java_Redis_IO_Direct.groovy | 2 +- .../job_PreCommit_Java_Singlestore_IO_Direct.groovy | 2 +- .../jenkins/job_PreCommit_Java_Solr_IO_Direct.groovy | 2 +- .../jenkins/job_PreCommit_Java_Splunk_IO_Direct.groovy | 3 ++- .../jenkins/job_PreCommit_Java_Thrift_IO_Direct.groovy | 3 ++- .../jenkins/job_PreCommit_Java_Tika_IO_Direct.groovy | 3 ++- 22 files changed, 34 insertions(+), 21 deletions(-) diff --git a/.test-infra/jenkins/PrecommitJobBuilder.groovy b/.test-infra/jenkins/PrecommitJobBuilder.groovy index 2d7ef1eee1f4..95c27dc76a3e 100644 --- a/.test-infra/jenkins/PrecommitJobBuilder.groovy +++ b/.test-infra/jenkins/PrecommitJobBuilder.groovy @@ -47,6 +47,12 @@ class PrecommitJobBuilder { /** Whether to trigger on new PR commits. Useful to set to false when testing new jobs. */ boolean commitTriggering = true + /** + * Whether to configure defaultPathTriggers. + * Set to false for PreCommit only runs on certain code path change. + */ + boolean defaultPathTriggering = true + /** * Define a set of pre-commit jobs. * @@ -82,7 +88,7 @@ class PrecommitJobBuilder { '^gradle.bat$', '^settings.gradle.kts$' ] - if (triggerPathPatterns) { + if (defaultPathTriggering && triggerPathPatterns) { triggerPathPatterns.addAll defaultPathTriggers } job.with { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Amqp_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Amqp_IO_Direct.groovy index 07225b2da1a9..f640a43a662f 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Amqp_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Amqp_IO_Direct.groovy @@ -29,9 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', + '^sdks/java/io/common/.*$', '^sdks/java/io/amqp/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Cassandra_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Cassandra_IO_Direct.groovy index 2f081e011e53..ff2e540db400 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Cassandra_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Cassandra_IO_Direct.groovy @@ -29,10 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/cassandra/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Cdap_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Cdap_IO_Direct.groovy index e6c88011ef06..6a88f563e5f8 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Cdap_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Cdap_IO_Direct.groovy @@ -29,12 +29,12 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/hadoop-common/.*$', '^sdks/java/io/hadoop-format/.*$', '^sdks/java/io/cdap/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Clickhouse_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Clickhouse_IO_Direct.groovy index 1c5852cdfaea..6b2d0ae23383 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Clickhouse_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Clickhouse_IO_Direct.groovy @@ -32,6 +32,7 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '^sdks/java/core/src/main/.*$', '^sdks/java/io/pulsar/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Debezium_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Debezium_IO_Direct.groovy index ae404325a4fb..245f3f8349e8 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Debezium_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Debezium_IO_Direct.groovy @@ -32,10 +32,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( ], // spotless checked in separate pre-commit triggerPathPatterns: [ '^runners/google-cloud-dataflow-java/.*$', - '^sdks/java/core/src/main/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/debezium/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_ElasticSearch_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_ElasticSearch_IO_Direct.groovy index ecc733f0f813..c7402f6e8f26 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_ElasticSearch_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_ElasticSearch_IO_Direct.groovy @@ -34,11 +34,11 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/elasticsearch/.*$', '^sdks/java/io/elasticsearch-tests/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_HCatalog_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_HCatalog_IO_Direct.groovy index a5c4c27a5795..fa7f5bbb67bd 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_HCatalog_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_HCatalog_IO_Direct.groovy @@ -29,11 +29,11 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/hadoop-common/.*$', '^sdks/java/io/hcatalog/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Hbase_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Hbase_IO_Direct.groovy index 7c9231c191fd..9c767a6944ba 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Hbase_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Hbase_IO_Direct.groovy @@ -29,11 +29,11 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/hadoop-common/.*$', '^sdks/java/io/hbase/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_InfluxDb_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_InfluxDb_IO_Direct.groovy index 3d962128dab4..c674e8bcec87 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_InfluxDb_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_InfluxDb_IO_Direct.groovy @@ -29,10 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/influxdb/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Jms_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Jms_IO_Direct.groovy index 77931f346ecf..676269b683c1 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Jms_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Jms_IO_Direct.groovy @@ -29,9 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', + '^sdks/java/io/common/.*$', '^sdks/java/io/jms/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Kudu_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Kudu_IO_Direct.groovy index d00b5b04bb7a..a22450e3e580 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Kudu_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Kudu_IO_Direct.groovy @@ -29,10 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/kudu/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Mqtt_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Mqtt_IO_Direct.groovy index 71baed4af786..7615eeab3eaf 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Mqtt_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Mqtt_IO_Direct.groovy @@ -29,10 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/mqtt/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Neo4j_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Neo4j_IO_Direct.groovy index 0d0374d013b0..818863a8e7b0 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Neo4j_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Neo4j_IO_Direct.groovy @@ -30,11 +30,11 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/testing/test-utils/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/neo4j/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Pulsar_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Pulsar_IO_Direct.groovy index f57407da2b50..ccd3c2ba2347 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Pulsar_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Pulsar_IO_Direct.groovy @@ -29,9 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', + '^sdks/java/io/common/.*$', '^sdks/java/io/pulsar/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_RabbitMq_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_RabbitMq_IO_Direct.groovy index aa496d636554..5da3186992dd 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_RabbitMq_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_RabbitMq_IO_Direct.groovy @@ -29,10 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/rabbitmq/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Redis_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Redis_IO_Direct.groovy index 267e5addc359..1f323bb87dcd 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Redis_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Redis_IO_Direct.groovy @@ -29,10 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/redis/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Singlestore_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Singlestore_IO_Direct.groovy index 1dfbda362dd7..d4a5eab85828 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Singlestore_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Singlestore_IO_Direct.groovy @@ -29,11 +29,11 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/testing/test-utils/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/singlestore/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Solr_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Solr_IO_Direct.groovy index 0adc99cef634..33101634a43d 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Solr_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Solr_IO_Direct.groovy @@ -29,10 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', '^sdks/java/io/common/.*$', '^sdks/java/io/solr/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Splunk_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Splunk_IO_Direct.groovy index 606d8852a66e..b91f8528e24a 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Splunk_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Splunk_IO_Direct.groovy @@ -29,9 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', + '^sdks/java/io/common/.*$', '^sdks/java/io/splunk/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Thrift_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Thrift_IO_Direct.groovy index 2d4556642617..12132bf1ee7c 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Thrift_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Thrift_IO_Direct.groovy @@ -29,9 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', + '^sdks/java/io/common/.*$', '^sdks/java/io/thrift/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_Tika_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Tika_IO_Direct.groovy index 694ea38fccc4..5a13a35bb15a 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Tika_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Tika_IO_Direct.groovy @@ -29,9 +29,10 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', + '^sdks/java/io/common/.*$', '^sdks/java/io/tika/.*$', ], + defaultPathTriggering: false, timeoutMins: 60, ) builder.build { From 71633bd45a33d79dca2da4fa8aeb2356f67e6b64 Mon Sep 17 00:00:00 2001 From: Yi Hu Date: Thu, 23 Feb 2023 12:30:50 -0500 Subject: [PATCH 2/4] Add jobs to README --- .test-infra/jenkins/README.md | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/.test-infra/jenkins/README.md b/.test-infra/jenkins/README.md index a99d4b0c9bd7..047fe3949015 100644 --- a/.test-infra/jenkins/README.md +++ b/.test-infra/jenkins/README.md @@ -30,15 +30,41 @@ Beam Jenkins overview page: [link](https://ci-beam.apache.org/) | beam_PreCommit_CommunityMetrics | [commit](https://ci-beam.apache.org/job/beam_PreCommit_CommunityMetrics_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_CommunityMetrics_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_CommunityMetrics_Phrase/) | `Run CommunityMetrics PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_CommunityMetrics_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_CommunityMetrics_Cron) | | beam_PreCommit_Go | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Go_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Go_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Go_Phrase/) | `Run Go PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Go_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Go_Cron) | | beam_PreCommit_Java | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Phrase/) | `Run Java PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cron) | -| beam_PreCommit_Java_Debezium_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Debezium_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Debezium_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Debezium_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Debezium_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Debezium_IO_Direct_Cron/) | | beam_PreCommit_Java_Examples_Dataflow | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Phrase/) | `Run Java_Examples_Dataflow PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Cron) | | beam_PreCommit_Java_Examples_Dataflow_Java11 | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Java11_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Java11_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Java11_Phrase/) | `Run Java_Examples_Dataflow_Java11 PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Java11_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Examples_Dataflow_Java11_Cron/) | +| beam_PreCommit_Java_Amazon-Web-Services_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amazon-Web-Services_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amazon-Web-Services_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amazon-Web-Services_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amazon-Web-Services_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amazon-Web-Services_IO_Direct_Cron/) | +| beam_PreCommit_Java_Amazon-Web-Services2_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amazon-Web-Services2_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amazon-Web-Services2_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amazon-Web-Services2_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amazon-Web-Services2_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amazon-Web-Services2_IO_Direct_Cron/) | +| beam_PreCommit_Java_Amqp_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amqp_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amqp_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amqp_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amqp_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Amqp_IO_Direct_Cron/) | +| beam_PreCommit_Java_Azure_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Azure_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Azure_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Azure_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Azure_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Azure_IO_Direct_Cron/) | +| beam_PreCommit_Java_Cassandra_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cassandra_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cassandra_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cassandra_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cassandra_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cassandra_IO_Direct_Cron/) | +| beam_PreCommit_Java_Cdap_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cdap_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cdap_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cdap_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cdap_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Cdap_IO_Direct_Cron/) | +| beam_PreCommit_Java_Clickhouse_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Clickhouse_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Clickhouse_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Clickhouse_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Clickhouse_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Clickhouse_IO_Direct_Cron/) | +| beam_PreCommit_Java_Debezium_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Debezium_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Debezium_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Debezium_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Debezium_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Debezium_IO_Direct_Cron/) | +| beam_PreCommit_Java_ElasticSearch_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_ElasticSearch_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_ElasticSearch_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_ElasticSearch_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_ElasticSearch_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_ElasticSearch_IO_Direct_Cron/) | | beam_PreCommit_Java_GCP_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_GCP_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_GCP_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_GCP_IO_Direct_Phrase/) | `Run Java_GCP_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_GCP_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_GCP_IO_Direct_Cron/) | +| beam_PreCommit_Java_Hadoop_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Hadoop_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Hadoop_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Hadoop_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Hadoop_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Hadoop_IO_Direct_Cron/) | +| beam_PreCommit_Java_HBase_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_HBase_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_HBase_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_HBase_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_HBase_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_HBase_IO_Direct_Cron/) | +| beam_PreCommit_Java_HCatalog_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_HCatalog_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_HCatalog_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_HCatalog_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_HCatalog_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_HCatalog_IO_Direct_Cron/) | +| beam_PreCommit_Java_InfluxDb_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_InfluxDb_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_InfluxDb_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_InfluxDb_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_InfluxDb_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_InfluxDb_IO_Direct_Cron/) | | beam_PreCommit_Java_JDBC_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_JDBC_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_JDBC_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_JDBC_IO_Direct_Phrase/) | `Run Java_JDBC_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_JDBC_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_JDBC_IO_Direct_Cron/) | +| beam_PreCommit_Java_Jms_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Jms_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Jms_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Jms_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Jms_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Jms_IO_Direct_Cron/) | | beam_PreCommit_Java_Kafka_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kafka_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kafka_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kafka_IO_Direct_Phrase/) | `Run Java_Kafka_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kafka_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kafka_IO_Direct_Cron/) | | beam_PreCommit_Java_Kinesis_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kinesis_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kinesis_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kinesis_IO_Direct_Phrase/) | `Run Java_Kinesis_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kinesis_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kinesis_IO_Direct_Cron/) | +| beam_PreCommit_Java_Kudu_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kudu_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kudu_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kudu_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kudu_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Kudu_IO_Direct_Cron/) | +| beam_PreCommit_Java_MongoDb_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_MongoDb_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_MongoDb_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_MongoDb_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_MongoDb_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_MongoDb_IO_Direct_Cron/) | +| beam_PreCommit_Java_Mqtt_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Mqtt_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Mqtt_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Mqtt_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Mqtt_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Mqtt_IO_Direct_Cron/) | +| beam_PreCommit_Java_Neo4j_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Neo4j_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Neo4j_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Neo4j_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Neo4j_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Neo4j_IO_Direct_Cron/) | | beam_PreCommit_Java_Neo4j_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Neo4j_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Neo4j_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Neo4j_IO_Direct_Phrase/) | `Run Java_Neo4j_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Neo4j_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Neo4j_IO_Direct_Cron/) | +| beam_PreCommit_Java_Parquet_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Parquet_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Parquet_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Parquet_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Parquet_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Parquet_IO_Direct_Cron/) | +| beam_PreCommit_Java_Pulsar_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Pulsar_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Pulsar_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Pulsar_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Pulsar_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Pulsar_IO_Direct_Cron/) | +| beam_PreCommit_Java_RabbitMq_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_RabbitMq_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_RabbitMq_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_RabbitMq_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_RabbitMq_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_RabbitMq_IO_Direct_Cron/) | +| beam_PreCommit_Java_Redis_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Redis_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Redis_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Redis_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Redis_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Redis_IO_Direct_Cron/) | | beam_PreCommit_Java_SingleStore_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_SingleStore_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_SingleStore_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_SingleStore_IO_Direct_Phrase/) | `Run Java_SingleStore_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_SingleStore_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_SingleStore_IO_Direct_Cron/) | +| beam_PreCommit_Java_Snowflake_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Snowflake_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Snowflake_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Snowflake_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Snowflake_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Snowflake_IO_Direct_Cron/) | +| beam_PreCommit_Java_Solr_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Solr_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Solr_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Solr_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Solr_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Solr_IO_Direct_Cron/) | +| beam_PreCommit_Java_Splunk_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Cron/) | +| beam_PreCommit_Java_Thrift_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Cron/) | +| beam_PreCommit_Java_Tika_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Cron/) | | beam_PreCommit_Portable_Python | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Phrase/) | `Run Portable_Python PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Cron) | | beam_PreCommit_PythonLint | [commit](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Phrase/) | `Run PythonLint PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Cron) | | beam_PreCommit_Python | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Python_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Python_Phrase/) | `Run Python PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron) | @@ -156,7 +182,7 @@ Beam Jenkins overview page: [link](https://ci-beam.apache.org/) | beam_PerformanceTests_Compressed_TextIOIT | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_Compressed_TextIOIT/), [hdfs_cron](https://ci-beam.apache.org/job/beam_PerformanceTests_Compressed_TextIOIT_HDFS/) | `Run Java CompressedTextIO Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_Compressed_TextIOIT/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_Compressed_TextIOIT) [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_Compressed_TextIOIT_HDFS/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_Compressed_TextIOIT_HDFS) | | beam_PerformanceTests_HadoopFormat | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_HadoopFormat/) | `Run Java HadoopFormatIO Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_HadoopFormat/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_HadoopFormat) | | beam_PerformanceTests_JDBC | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_JDBC/) | `Run Java JdbcIO Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_JDBC/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_JDBC) | -| beam_PerformanceTests_KafkaIOIT | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_Kafka_IO/) | `Run Java KafkaIO Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_Kafka_IO/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_Kafka_IO) [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_Kafka_IO/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_Kafka_IO) | +| beam_PerformanceTests_KafkaIOIT | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_Kafka_IO/) | `Run Java KafkaIO Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_Kafka_IO/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_Kafka_IO) | | beam_PerformanceTests_ManyFiles_TextIOIT | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_ManyFiles_TextIOIT/), [hdfs_cron](https://ci-beam.apache.org/job/beam_PerformanceTests_ManyFiles_TextIOIT_HDFS/) | `Run Java ManyFilesTextIO Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_ManyFiles_TextIOIT/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_ManyFiles_TextIOIT) [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_ManyFiles_TextIOIT_HDFS/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_ManyFiles_TextIOIT_HDFS) | | beam_PerformanceTests_MongoDBIOIT | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_MongoDBIO_IT/) | `Run Java MongoDBIO Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_MongoDBIO_IT/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_MongoDBIO_IT) | | beam_PerformanceTests_ParquetIOIT | [cron](https://ci-beam.apache.org/job/beam_PerformanceTests_ParquetIOIT/), [hdfs_cron](https://ci-beam.apache.org/job/beam_PerformanceTests_ParquetIOIT_HDFS/) | `Run Java ParquetIO Performance Test` | [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_ParquetIOIT/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_ParquetIOIT) [![Build Status](https://ci-beam.apache.org/job/beam_PerformanceTests_ParquetIOIT_HDFS/badge/icon)](https://ci-beam.apache.org/job/beam_PerformanceTests_ParquetIOIT_HDFS) | From 0d37bdd709003a0a153f723d7a1611da7db12d13 Mon Sep 17 00:00:00 2001 From: Yi Hu Date: Thu, 23 Feb 2023 17:57:24 -0500 Subject: [PATCH 3/4] Create an umbrella IO job --- .../jenkins/PrecommitJobBuilder.groovy | 10 +- .test-infra/jenkins/README.md | 1 + .../job_PreCommit_Java_Amqp_IO_Direct.groovy | 42 ----- ..._PreCommit_Java_Cassandra_IO_Direct.groovy | 42 ----- .../job_PreCommit_Java_Cdap_IO_Direct.groovy | 44 ------ ...PreCommit_Java_Clickhouse_IO_Direct.groovy | 42 ----- ...b_PreCommit_Java_Debezium_IO_Direct.groovy | 45 ------ ...Commit_Java_ElasticSearch_IO_Direct.groovy | 48 ------ ...b_PreCommit_Java_HCatalog_IO_Direct.groovy | 43 ------ .../job_PreCommit_Java_Hbase_IO_Direct.groovy | 43 ------ .../jenkins/job_PreCommit_Java_IOs.groovy | 146 ++++++++++++++++++ ...b_PreCommit_Java_InfluxDb_IO_Direct.groovy | 42 ----- .../job_PreCommit_Java_Jms_IO_Direct.groovy | 42 ----- .../job_PreCommit_Java_Kudu_IO_Direct.groovy | 42 ----- .../job_PreCommit_Java_Mqtt_IO_Direct.groovy | 42 ----- .../job_PreCommit_Java_Neo4j_IO_Direct.groovy | 44 ------ ...job_PreCommit_Java_Pulsar_IO_Direct.groovy | 3 +- ...b_PreCommit_Java_RabbitMq_IO_Direct.groovy | 42 ----- .../job_PreCommit_Java_Redis_IO_Direct.groovy | 42 ----- ...reCommit_Java_Singlestore_IO_Direct.groovy | 43 ------ ..._PreCommit_Java_Snowflake_IO_Direct.groovy | 45 ------ .../job_PreCommit_Java_Solr_IO_Direct.groovy | 42 ----- ...job_PreCommit_Java_Splunk_IO_Direct.groovy | 42 ----- ...job_PreCommit_Java_Thrift_IO_Direct.groovy | 42 ----- .../job_PreCommit_Java_Tika_IO_Direct.groovy | 42 ----- build.gradle.kts | 30 ++++ 26 files changed, 187 insertions(+), 904 deletions(-) delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Amqp_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Cassandra_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Cdap_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Clickhouse_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Debezium_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_ElasticSearch_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_HCatalog_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Hbase_IO_Direct.groovy create mode 100644 .test-infra/jenkins/job_PreCommit_Java_IOs.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_InfluxDb_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Jms_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Kudu_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Mqtt_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Neo4j_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_RabbitMq_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Redis_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Singlestore_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Snowflake_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Solr_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Splunk_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Thrift_IO_Direct.groovy delete mode 100644 .test-infra/jenkins/job_PreCommit_Java_Tika_IO_Direct.groovy diff --git a/.test-infra/jenkins/PrecommitJobBuilder.groovy b/.test-infra/jenkins/PrecommitJobBuilder.groovy index 95c27dc76a3e..844473114de0 100644 --- a/.test-infra/jenkins/PrecommitJobBuilder.groovy +++ b/.test-infra/jenkins/PrecommitJobBuilder.groovy @@ -47,6 +47,12 @@ class PrecommitJobBuilder { /** Whether to trigger on new PR commits. Useful to set to false when testing new jobs. */ boolean commitTriggering = true + /** + * Whether to trigger on cron run. Useful to set jobs that runs tasks covered by + * other test suites but are deemed to triggered on pull request only. + */ + boolean cronTriggering = true + /** * Whether to configure defaultPathTriggers. * Set to false for PreCommit only runs on certain code path change. @@ -59,7 +65,9 @@ class PrecommitJobBuilder { * @param additionalCustomization Job DSL closure with additional customization to apply to the job. */ void build(Closure additionalCustomization = {}) { - defineCronJob additionalCustomization + if (cronTriggering) { + defineCronJob additionalCustomization + } if (commitTriggering) { defineCommitJob additionalCustomization } diff --git a/.test-infra/jenkins/README.md b/.test-infra/jenkins/README.md index 047fe3949015..10ca75530755 100644 --- a/.test-infra/jenkins/README.md +++ b/.test-infra/jenkins/README.md @@ -65,6 +65,7 @@ Beam Jenkins overview page: [link](https://ci-beam.apache.org/) | beam_PreCommit_Java_Splunk_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Cron/) | | beam_PreCommit_Java_Thrift_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Cron/) | | beam_PreCommit_Java_Tika_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Cron/) | +| beam_PreCommit_Java_IOs_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_IOs_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_IOs_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_IOs_Direct_Phrase/) | `Run Java_IOs_Direct PreCommit` | | | beam_PreCommit_Portable_Python | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Phrase/) | `Run Portable_Python PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Cron) | | beam_PreCommit_PythonLint | [commit](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Phrase/) | `Run PythonLint PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Cron) | | beam_PreCommit_Python | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Python_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Python_Phrase/) | `Run Python PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron) | diff --git a/.test-infra/jenkins/job_PreCommit_Java_Amqp_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Amqp_IO_Direct.groovy deleted file mode 100644 index f640a43a662f..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Amqp_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Amqp_IO_Direct', - gradleTasks: [ - ':sdks:java:io:amqp:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/amqp/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Cassandra_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Cassandra_IO_Direct.groovy deleted file mode 100644 index ff2e540db400..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Cassandra_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Cassandra_IO_Direct', - gradleTasks: [ - ':sdks:java:io:cassandra:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/cassandra/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Cdap_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Cdap_IO_Direct.groovy deleted file mode 100644 index 6a88f563e5f8..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Cdap_IO_Direct.groovy +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Cdap_IO_Direct', - gradleTasks: [ - ':sdks:java:io:cdap:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/hadoop-common/.*$', - '^sdks/java/io/hadoop-format/.*$', - '^sdks/java/io/cdap/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Clickhouse_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Clickhouse_IO_Direct.groovy deleted file mode 100644 index 6b2d0ae23383..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Clickhouse_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Clickhouse_IO_Direct', - gradleTasks: [ - ':sdks:java:io:clickhouse:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', - '^sdks/java/io/pulsar/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Debezium_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Debezium_IO_Direct.groovy deleted file mode 100644 index 245f3f8349e8..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Debezium_IO_Direct.groovy +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Debezium_IO_Direct', - gradleTasks: [ - ':sdks:java:io:debezium:build', - ':sdks:java:io:debezium:expansion-service:build', - ':sdks:java:io:debezium:integrationTest', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^runners/google-cloud-dataflow-java/.*$', - '^sdks/java/io/common/.*$', - '^sdks/java/io/debezium/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_ElasticSearch_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_ElasticSearch_IO_Direct.groovy deleted file mode 100644 index c7402f6e8f26..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_ElasticSearch_IO_Direct.groovy +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_ElasticSearch_IO_Direct', - gradleTasks: [ - ':sdks:java:io:elasticsearch-tests:elasticsearch-tests-5:build', - ':sdks:java:io:elasticsearch-tests:elasticsearch-tests-6:build', - ':sdks:java:io:elasticsearch-tests:elasticsearch-tests-7:build', - ':sdks:java:io:elasticsearch-tests:elasticsearch-tests-8:build', - ':sdks:java:io:elasticsearch-tests:elasticsearch-tests-common:build', - ':sdks:java:io:elasticsearch:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/elasticsearch/.*$', - '^sdks/java/io/elasticsearch-tests/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_HCatalog_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_HCatalog_IO_Direct.groovy deleted file mode 100644 index fa7f5bbb67bd..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_HCatalog_IO_Direct.groovy +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_HCatalog_IO_Direct', - gradleTasks: [ - ':sdks:java:io:hcatalog:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/hadoop-common/.*$', - '^sdks/java/io/hcatalog/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Hbase_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Hbase_IO_Direct.groovy deleted file mode 100644 index 9c767a6944ba..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Hbase_IO_Direct.groovy +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_HBase_IO_Direct', - gradleTasks: [ - ':sdks:java:io:hbase:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/hadoop-common/.*$', - '^sdks/java/io/hbase/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_IOs.groovy b/.test-infra/jenkins/job_PreCommit_Java_IOs.groovy new file mode 100644 index 000000000000..5555ac192e17 --- /dev/null +++ b/.test-infra/jenkins/job_PreCommit_Java_IOs.groovy @@ -0,0 +1,146 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import PrecommitJobBuilder + +// Define a PreCommit job running IO unit tests that were excluded in the default job_PreCommit_Java.groovy +PrecommitJobBuilder builder = new PrecommitJobBuilder( + scope: this, + nameBase: 'Java_IOs_Direct', + gradleTasks: [ + ':javaioPreCommit', + ], + gradleSwitches: [ + '-PdisableSpotlessCheck=true', + '-PdisableCheckStyle=true' + ], // spotless checked in separate pre-commit + triggerPathPatterns: [ + '^sdks/java/io/common/.*$', + '^sdks/java/core/src/main/.*$', + ], + // disable cron run because the tasks are covered by the single IO precommits below + cronTriggering: false, + timeoutMins: 120, + ) +builder.build { + publishers { + archiveJunit('**/build/test-results/**/*.xml') + } +} + +// define precommit jobs for each of these IO only run on corresponding module code change +def ioModules = [ + 'amqp', + 'cassandra', + 'cdap', + 'clickhouse', + 'debezium', + 'elasticsearch', + 'hbase', + 'hcatalog', + 'influxdb', + 'jms', + 'kudu', + 'mqtt', + 'neo4j', + 'rabbitmq', + 'redis', + 'singlestore', + 'snowflake', + 'solr', + 'splunk', + 'thrift', + 'tika' +] + +// any additional trigger path besides the module path and 'sdk/io/common' +def additionalTriggerPaths = [ + cdap: [ + '^sdks/java/io/hadoop-common/.*$', + '^sdks/java/io/hadoop-format/.*$', + ], + elasticsearch: [ + '^sdks/java/io/elasticsearch-tests/.*$', + ], + hbase: [ + '^sdks/java/io/hadoop-common/.*$', + ], + hcatalog: [ + '^sdks/java/io/hadoop-common/.*$', + ], + neo4j: [ + '^sdks/java/testing/test-utils/.*$', + ], + singlestore: [ + '^sdks/java/testing/test-utils/.*$', + ], + snowflake: [ + '^sdks/java/extensions/google-cloud-platform-core/.*$', + '^sdks/java/testing/test-utils/.*$',] +] + +// any additional tasks besides 'build'. +// Additional :build tasks should be made sync with build.gradle:kts's :javaioPreCommit task which will be triggered on commit to java core and buildSrc +// While integration tasks (e.g. :integrationTest) does not need to add there. +def additionalTasks = [ + debezium: [ + ':sdks:java:io:debezium:expansion-service:build', + ':sdks:java:io:debezium:integrationTest', + ], + elasticsearch: [ + ':sdks:java:io:elasticsearch-tests:elasticsearch-tests-5:build', + ':sdks:java:io:elasticsearch-tests:elasticsearch-tests-6:build', + ':sdks:java:io:elasticsearch-tests:elasticsearch-tests-7:build', + ':sdks:java:io:elasticsearch-tests:elasticsearch-tests-8:build', + ':sdks:java:io:elasticsearch-tests:elasticsearch-tests-common:build', + ], + neo4j: [ + ':sdks:java:io:kinesis:integrationTest', + ], + snowflake: [ + ':sdks:java:io:snowflake:expansion-service:build', + ], +] + +ioModules.forEach { + def triggerPaths = [ + '^sdks/java/io/' + it + '/.*$', + ] + triggerPaths.addAll(additionalTriggerPaths.get(it, [])) + def tasks = [ + ':sdks:java:io:' + it + ':build' + ] + tasks.addAll(additionalTasks.get(it, [])) + PrecommitJobBuilder builderSingle = new PrecommitJobBuilder( + scope: this, + nameBase: 'Java_' + it.capitalize() + '_IO_Direct', + gradleTasks: tasks, + gradleSwitches: [ + '-PdisableSpotlessCheck=true', + '-PdisableCheckStyle=true' + ], // spotless checked in separate pre-commit + triggerPathPatterns: triggerPaths, + defaultPathTriggering: false, + timeoutMins: 60, + ) + builderSingle.build { + publishers { + archiveJunit('**/build/test-results/**/*.xml') + } + } +} diff --git a/.test-infra/jenkins/job_PreCommit_Java_InfluxDb_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_InfluxDb_IO_Direct.groovy deleted file mode 100644 index c674e8bcec87..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_InfluxDb_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_InfluxDb_IO_Direct', - gradleTasks: [ - ':sdks:java:io:influxdb:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/influxdb/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Jms_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Jms_IO_Direct.groovy deleted file mode 100644 index 676269b683c1..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Jms_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Jms_IO_Direct', - gradleTasks: [ - ':sdks:java:io:jms:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/jms/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Kudu_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Kudu_IO_Direct.groovy deleted file mode 100644 index a22450e3e580..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Kudu_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Kudu_IO_Direct', - gradleTasks: [ - ':sdks:java:io:kudu:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/kudu/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Mqtt_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Mqtt_IO_Direct.groovy deleted file mode 100644 index 7615eeab3eaf..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Mqtt_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Mqtt_IO_Direct', - gradleTasks: [ - ':sdks:java:io:mqtt:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/mqtt/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Neo4j_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Neo4j_IO_Direct.groovy deleted file mode 100644 index 818863a8e7b0..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Neo4j_IO_Direct.groovy +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Neo4j_IO_Direct', - gradleTasks: [ - ':sdks:java:io:neo4j:build', - ':sdks:java:io:kinesis:integrationTest', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/testing/test-utils/.*$', - '^sdks/java/io/common/.*$', - '^sdks/java/io/neo4j/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Pulsar_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Pulsar_IO_Direct.groovy index ccd3c2ba2347..f57407da2b50 100644 --- a/.test-infra/jenkins/job_PreCommit_Java_Pulsar_IO_Direct.groovy +++ b/.test-infra/jenkins/job_PreCommit_Java_Pulsar_IO_Direct.groovy @@ -29,10 +29,9 @@ PrecommitJobBuilder builder = new PrecommitJobBuilder( '-PdisableCheckStyle=true' ], // spotless checked in separate pre-commit triggerPathPatterns: [ - '^sdks/java/io/common/.*$', + '^sdks/java/core/src/main/.*$', '^sdks/java/io/pulsar/.*$', ], - defaultPathTriggering: false, timeoutMins: 60, ) builder.build { diff --git a/.test-infra/jenkins/job_PreCommit_Java_RabbitMq_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_RabbitMq_IO_Direct.groovy deleted file mode 100644 index 5da3186992dd..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_RabbitMq_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_RabbitMq_IO_Direct', - gradleTasks: [ - ':sdks:java:io:rabbitmq:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/rabbitmq/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Redis_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Redis_IO_Direct.groovy deleted file mode 100644 index 1f323bb87dcd..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Redis_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Redis_IO_Direct', - gradleTasks: [ - ':sdks:java:io:redis:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/redis/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Singlestore_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Singlestore_IO_Direct.groovy deleted file mode 100644 index d4a5eab85828..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Singlestore_IO_Direct.groovy +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_SingleStore_IO_Direct', - gradleTasks: [ - ':sdks:java:io:singlestore:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/testing/test-utils/.*$', - '^sdks/java/io/common/.*$', - '^sdks/java/io/singlestore/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Snowflake_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Snowflake_IO_Direct.groovy deleted file mode 100644 index d20c214910d0..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Snowflake_IO_Direct.groovy +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Snowflake_IO_Direct', - gradleTasks: [ - ':sdks:java:io:snowflake:build', - ':sdks:java:io:snowflake:expansion-service:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/core/src/main/.*$', - '^sdks/java/extensions/google-cloud-platform-core/.*$', - '^sdks/java/testing/test-utils/.*$', - '^sdks/java/io/common/.*$', - '^sdks/java/io/snowflake/.*$', - ], - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Solr_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Solr_IO_Direct.groovy deleted file mode 100644 index 33101634a43d..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Solr_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Solr_IO_Direct', - gradleTasks: [ - ':sdks:java:io:solr:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/solr/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Splunk_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Splunk_IO_Direct.groovy deleted file mode 100644 index b91f8528e24a..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Splunk_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Splunk_IO_Direct', - gradleTasks: [ - ':sdks:java:io:splunk:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/splunk/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Thrift_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Thrift_IO_Direct.groovy deleted file mode 100644 index 12132bf1ee7c..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Thrift_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Thrift_IO_Direct', - gradleTasks: [ - ':sdks:java:io:thrift:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/thrift/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/.test-infra/jenkins/job_PreCommit_Java_Tika_IO_Direct.groovy b/.test-infra/jenkins/job_PreCommit_Java_Tika_IO_Direct.groovy deleted file mode 100644 index 5a13a35bb15a..000000000000 --- a/.test-infra/jenkins/job_PreCommit_Java_Tika_IO_Direct.groovy +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PrecommitJobBuilder - -PrecommitJobBuilder builder = new PrecommitJobBuilder( - scope: this, - nameBase: 'Java_Tika_IO_Direct', - gradleTasks: [ - ':sdks:java:io:tika:build', - ], - gradleSwitches: [ - '-PdisableSpotlessCheck=true', - '-PdisableCheckStyle=true' - ], // spotless checked in separate pre-commit - triggerPathPatterns: [ - '^sdks/java/io/common/.*$', - '^sdks/java/io/tika/.*$', - ], - defaultPathTriggering: false, - timeoutMins: 60, - ) -builder.build { - publishers { - archiveJunit('**/build/test-results/**/*.xml') - } -} diff --git a/build.gradle.kts b/build.gradle.kts index e715ce661fa3..5e116a6f7e07 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -316,6 +316,36 @@ tasks.register("javaPreCommit") { dependsOn(":sdks:java:container:java8:docker") } +// a precommit task build multiple IOs (except those splitting into single jobs) +tasks.register("javaioPreCommit") { + dependsOn(":sdks:java:io:amqp:build") + dependsOn(":sdks:java:io:cassandra:build") + dependsOn(":sdks:java:io:cdap:build") + dependsOn(":sdks:java:io:clickhouse:build") + dependsOn(":sdks:java:io:debezium:expansion-service:build") + dependsOn(":sdks:java:io:debezium:build") + dependsOn(":sdks:java:io:elasticsearch-tests:elasticsearch-tests-5:build") + dependsOn(":sdks:java:io:elasticsearch-tests:elasticsearch-tests-6:build") + dependsOn(":sdks:java:io:elasticsearch-tests:elasticsearch-tests-7:build") + dependsOn(":sdks:java:io:elasticsearch-tests:elasticsearch-tests-8:build") + dependsOn(":sdks:java:io:elasticsearch-tests:elasticsearch-tests-common:build") + dependsOn(":sdks:java:io:elasticsearch:build") + dependsOn(":sdks:java:io:hbase:build") + dependsOn(":sdks:java:io:hcatalog:build") + dependsOn(":sdks:java:io:influxdb:build") + dependsOn(":sdks:java:io:jms:build") + dependsOn(":sdks:java:io:kudu:build") + dependsOn(":sdks:java:io:mqtt:build") + dependsOn(":sdks:java:io:neo4j:build") + dependsOn(":sdks:java:io:rabbitmq:build") + dependsOn(":sdks:java:io:redis:build") + dependsOn(":sdks:java:io:singlestore:build") + dependsOn(":sdks:java:io:solr:build") + dependsOn(":sdks:java:io:splunk:build") + dependsOn(":sdks:java:io:thrift:build") + dependsOn(":sdks:java:io:tika:build") +} + tasks.register("sqlPreCommit") { dependsOn(":sdks:java:extensions:sql:runBasicExample") dependsOn(":sdks:java:extensions:sql:runPojoExample") From d06056bd6cb9772b24ff3396aa080b62aec4119a Mon Sep 17 00:00:00 2001 From: Yi Hu Date: Thu, 23 Feb 2023 18:57:18 -0500 Subject: [PATCH 4/4] Fix readme: IOs job does not have cron --- .test-infra/jenkins/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.test-infra/jenkins/README.md b/.test-infra/jenkins/README.md index 10ca75530755..9b01da4b5a90 100644 --- a/.test-infra/jenkins/README.md +++ b/.test-infra/jenkins/README.md @@ -65,7 +65,7 @@ Beam Jenkins overview page: [link](https://ci-beam.apache.org/) | beam_PreCommit_Java_Splunk_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Splunk_IO_Direct_Cron/) | | beam_PreCommit_Java_Thrift_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Thrift_IO_Direct_Cron/) | | beam_PreCommit_Java_Tika_IO_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Phrase/) | `Run Java_Debezium_IO_Direct PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Java_Tika_IO_Direct_Cron/) | -| beam_PreCommit_Java_IOs_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_IOs_Direct_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Java_IOs_Direct_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_IOs_Direct_Phrase/) | `Run Java_IOs_Direct PreCommit` | | +| beam_PreCommit_Java_IOs_Direct | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Java_IOs_Direct_Commit/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Java_IOs_Direct_Phrase/) | `Run Java_IOs_Direct PreCommit` | | | beam_PreCommit_Portable_Python | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Phrase/) | `Run Portable_Python PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Portable_Python_Cron) | | beam_PreCommit_PythonLint | [commit](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Phrase/) | `Run PythonLint PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_PythonLint_Cron) | | beam_PreCommit_Python | [commit](https://ci-beam.apache.org/job/beam_PreCommit_Python_Commit/), [cron](https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron/), [phrase](https://ci-beam.apache.org/job/beam_PreCommit_Python_Phrase/) | `Run Python PreCommit` | [![Build Status](https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron/badge/icon)](https://ci-beam.apache.org/job/beam_PreCommit_Python_Cron) |