Skip to content

Commit bd4d8ea

Browse files
authored
chore(jdbc): JDBC presubmit & nightly pipelines (#4066)
1 parent f93c72f commit bd4d8ea

File tree

6 files changed

+226
-4
lines changed

6 files changed

+226
-4
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Copyright 2026 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
# Github action job to test core java library features on
15+
# downstream client libraries before they are released.
16+
options:
17+
workerPool: 'projects/bigquery-devtools-drivers/locations/us-east1/workerPools/java-bigquery-jdbc-pool'
18+
dynamic_substitutions: true
19+
logging: CLOUD_LOGGING_ONLY
20+
21+
timeout: 10000s
22+
steps:
23+
- name: 'gcr.io/cloud-devrel-public-resources/java11'
24+
id: "IT Tests"
25+
timeout: 10000s
26+
entrypoint: 'bash'
27+
args: ['.kokoro/build.sh']
28+
env:
29+
- 'JOB_TYPE=jdbc-integration'
30+
secretEnv: ['SA_EMAIL', 'KMS_RESOURCE_PATH', 'SA_SECRET']
31+
- name: 'gcr.io/cloud-devrel-public-resources/java11'
32+
id: "IT Nightly Tests"
33+
timeout: 10000s
34+
entrypoint: 'bash'
35+
args: ['.kokoro/build.sh']
36+
env:
37+
- 'JOB_TYPE=jdbc-nightly-integration'
38+
39+
availableSecrets:
40+
secretManager:
41+
- versionName: projects/$PROJECT_ID/secrets/jdbc-presubmit-sa-email/versions/latest
42+
env: 'SA_EMAIL'
43+
- versionName: projects/$PROJECT_ID/secrets/kms_resource_path/versions/latest
44+
env: 'KMS_RESOURCE_PATH'
45+
- versionName: projects/$PROJECT_ID/secrets/GoogleJDBCServiceAccountSecret/versions/latest
46+
env: 'SA_SECRET'
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Copyright 2026 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
# Github action job to test core java library features on
15+
# downstream client libraries before they are released.
16+
options:
17+
workerPool: 'projects/bigquery-devtools-drivers/locations/us-east1/workerPools/java-bigquery-jdbc-pool'
18+
dynamic_substitutions: true
19+
logging: CLOUD_LOGGING_ONLY
20+
21+
substitutions:
22+
_JOB_TYPE: "jdbc-integration"
23+
24+
timeout: 2000s
25+
steps:
26+
- name: 'gcr.io/cloud-devrel-public-resources/java11'
27+
id: "IT Tests"
28+
timeout: 2000s
29+
entrypoint: 'bash'
30+
args: ['.kokoro/build.sh']
31+
env:
32+
- 'JOB_TYPE=${_JOB_TYPE}'
33+
secretEnv: ['SA_EMAIL', 'KMS_RESOURCE_PATH', 'SA_SECRET']
34+
availableSecrets:
35+
secretManager:
36+
- versionName: projects/$PROJECT_ID/secrets/jdbc-presubmit-sa-email/versions/latest
37+
env: 'SA_EMAIL'
38+
- versionName: projects/$PROJECT_ID/secrets/kms_resource_path/versions/latest
39+
env: 'KMS_RESOURCE_PATH'
40+
- versionName: projects/$PROJECT_ID/secrets/GoogleJDBCServiceAccountSecret/versions/latest
41+
env: 'SA_SECRET'

java-bigquery/.kokoro/build.sh

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ javadoc)
6161
;;
6262
integration)
6363
mvn -B ${INTEGRATION_TEST_ARGS} \
64+
-pl "!google-cloud-bigquery-jdbc" \
6465
-ntp \
6566
-Penable-integration-tests \
6667
-DtrimStackTrace=false \
@@ -70,9 +71,39 @@ integration)
7071
verify
7172
RETURN_CODE=$?
7273
;;
74+
jdbc-integration)
75+
mvn -B ${INTEGRATION_TEST_ARGS} \
76+
-pl "google-cloud-bigquery-jdbc" \
77+
-ntp \
78+
-Dtest=ITBigQueryJDBCTest \
79+
-DtrimStackTrace=false \
80+
-Dclirr.skip=true \
81+
-Denforcer.skip=true \
82+
-fae \
83+
verify
84+
RETURN_CODE=$?
85+
;;
86+
jdbc-nightly-integration)
87+
mvn -B ${INTEGRATION_TEST_ARGS} \
88+
-pl "google-cloud-bigquery-jdbc" \
89+
-ntp \
90+
-Dtest=ITNightlyBigQueryTest \
91+
-DtrimStackTrace=false \
92+
-Dclirr.skip=true \
93+
-Denforcer.skip=true \
94+
-fae \
95+
-DargLine="-Xmx32g" \
96+
-e \
97+
verify
98+
RETURN_CODE=$?
99+
;;
73100
graalvm)
74101
# Run Unit and Integration Tests with Native Image
75-
mvn -B ${INTEGRATION_TEST_ARGS} -ntp -Pnative test
102+
mvn -B ${INTEGRATION_TEST_ARGS} \
103+
-pl "!google-cloud-bigquery-jdbc" \
104+
-ntp \
105+
-Pnative \
106+
test
76107
RETURN_CODE=$?
77108
;;
78109
samples)

java-bigquery/google-cloud-bigquery-jdbc/pom.xml

Lines changed: 104 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<modelVersion>4.0.0</modelVersion>
2121
<groupId>com.google.cloud</groupId>
2222
<artifactId>google-cloud-bigquery-jdbc</artifactId>
23-
<version>0.1.0-SNAPSHOT</version>
23+
<version>0.1.0</version><!-- {x-version-update:google-cloud-bigquery-jdbc:current} -->
2424
<packaging>jar</packaging>
2525
<name>BigQuery JDBC</name>
2626
<url>https://github.com/googleapis/java-bigquery-jdbc</url>
@@ -55,6 +55,18 @@
5555
<artifactId>jacoco-maven-plugin</artifactId>
5656
<version>0.8.13</version>
5757
</plugin>
58+
<plugin>
59+
<groupId>org.apache.maven.plugins</groupId>
60+
<artifactId>maven-dependency-plugin</artifactId>
61+
<configuration>
62+
<ignoredUsedUndeclaredDependencies>
63+
<ignoredUsedUndeclaredDependency>com.google.*:*</ignoredUsedUndeclaredDependency>
64+
<ignoredUsedUndeclaredDependency>org.apache.arrow:*</ignoredUsedUndeclaredDependency>
65+
<ignoredUsedUndeclaredDependency>org.apache.httpcomponents.*:*</ignoredUsedUndeclaredDependency>
66+
<ignoredUsedUndeclaredDependency>io.grpc:*</ignoredUsedUndeclaredDependency>
67+
</ignoredUsedUndeclaredDependencies>
68+
</configuration>
69+
</plugin>
5870
</plugins>
5971
</build>
6072

@@ -86,6 +98,97 @@
8698
</exclusion>
8799
</exclusions>
88100
</dependency>
101+
102+
<!-- Transitive Dependencies -->
103+
<dependency>
104+
<groupId>com.google.api</groupId>
105+
<artifactId>api-common</artifactId>
106+
</dependency>
107+
<dependency>
108+
<groupId>com.google.api</groupId>
109+
<artifactId>gax</artifactId>
110+
</dependency>
111+
<dependency>
112+
<groupId>com.google.api</groupId>
113+
<artifactId>gax-grpc</artifactId>
114+
</dependency>
115+
<dependency>
116+
<groupId>com.google.api.grpc</groupId>
117+
<artifactId>proto-google-cloud-bigquerystorage-v1</artifactId>
118+
</dependency>
119+
120+
<dependency>
121+
<groupId>com.google.auth</groupId>
122+
<artifactId>google-auth-library-oauth2-http</artifactId>
123+
</dependency>
124+
<dependency>
125+
<groupId>com.google.auth</groupId>
126+
<artifactId>google-auth-library-credentials</artifactId>
127+
</dependency>
128+
129+
<dependency>
130+
<groupId>com.google.cloud</groupId>
131+
<artifactId>google-cloud-core</artifactId>
132+
</dependency>
133+
<dependency>
134+
<groupId>com.google.cloud</groupId>
135+
<artifactId>google-cloud-core-http</artifactId>
136+
</dependency>
137+
138+
<dependency>
139+
<groupId>com.google.code.findbugs</groupId>
140+
<artifactId>jsr305</artifactId>
141+
</dependency>
142+
<dependency>
143+
<groupId>com.google.code.gson</groupId>
144+
<artifactId>gson</artifactId>
145+
</dependency>
146+
147+
<dependency>
148+
<groupId>com.google.guava</groupId>
149+
<artifactId>guava</artifactId>
150+
</dependency>
151+
152+
<dependency>
153+
<groupId>com.google.protobuf</groupId>
154+
<artifactId>protobuf-java</artifactId>
155+
</dependency>
156+
<dependency>
157+
<groupId>com.google.http-client</groupId>
158+
<artifactId>google-http-client</artifactId>
159+
</dependency>
160+
161+
<dependency>
162+
<groupId>io.grpc</groupId>
163+
<artifactId>grpc-api</artifactId>
164+
</dependency>
165+
<dependency>
166+
<groupId>io.grpc</groupId>
167+
<artifactId>grpc-core</artifactId>
168+
</dependency>
169+
<dependency>
170+
<groupId>io.grpc</groupId>
171+
<artifactId>grpc-netty-shaded</artifactId>
172+
</dependency>
173+
174+
175+
<dependency>
176+
<groupId>org.apache.arrow</groupId>
177+
<artifactId>arrow-vector</artifactId>
178+
</dependency>
179+
<dependency>
180+
<groupId>org.apache.arrow</groupId>
181+
<artifactId>arrow-memory-core</artifactId>
182+
</dependency>
183+
<dependency>
184+
<groupId>org.apache.httpcomponents.client5</groupId>
185+
<artifactId>httpclient5</artifactId>
186+
</dependency>
187+
<dependency>
188+
<groupId>org.apache.httpcomponents.core5</groupId>
189+
<artifactId>httpcore5</artifactId>
190+
</dependency>
191+
89192
<!-- Test Dependencies -->
90193
<dependency>
91194
<groupId>com.google.truth</groupId>

java-bigquery/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@
153153
<modules>
154154
<module>google-cloud-bigquery</module>
155155
<module>google-cloud-bigquery-bom</module>
156+
<module>google-cloud-bigquery-jdbc</module>
156157
</modules>
157158

158159
<build>
@@ -259,4 +260,3 @@
259260
</profile>
260261
</profiles>
261262
</project>
262-

java-bigquery/versions.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Format:
22
# module:released-version:current-version
33

4-
google-cloud-bigquery:2.57.2:2.57.2
4+
google-cloud-bigquery:2.57.2:2.57.2
5+
google-cloud-bigquery-jdbc:0.1.0:0.1.0

0 commit comments

Comments
 (0)