Skip to content

Commit 91c8173

Browse files
authored
Merge branch 'main' into changePreToPost
2 parents a0526a4 + 9603796 commit 91c8173

2,679 files changed

Lines changed: 599536 additions & 11557 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 95 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,46 +6,119 @@ about: Create a report to help us improve
66

77
Thanks for stopping by to let us know something could be better!
88

9-
**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
9+
**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response. We try to review GitHub issues on a regular basis, however we cannot guarantee an SLO.
1010

11-
Please run down the following list and make sure you've tried the usual "quick fixes":
11+
Before creating this issue, please run down the following list and make sure you've tried the usual "quick fixes":
1212

1313
- Search the issues already opened: https://github.com/googleapis/google-cloud-java/issues
1414
- Check for answers on StackOverflow: http://stackoverflow.com/questions/tagged/google-cloud-platform
15+
- Refer to the [Google Cloud Java Getting Started guides](https://docs.cloud.google.com/java/getting-started) for common usage patterns and troubleshooting.
16+
- Verify you are using the latest versions of the Java SDK. If not, is it possible to upgrade? We recommend using the [Libraries-Bom](https://cloud.google.com/java/docs/bom) to manage dependency versions.
1517

16-
If you are still having issues, please include as much information as possible:
18+
To help expedite the resolution of the issue, please fill out as much information as possible. If unable to provide information, please note down why the information is unable to be provided.
1719

18-
#### Environment details
20+
## Issue Details
1921

20-
1. Specify the API at the beginning of the title. For example, "[vision]: ...").
21-
General, Core, and Other are also allowed as types
22-
2. OS type and version:
23-
3. Java version:
24-
4. Version(s):
22+
Required: Provide a detailed description of the issue. Any additional information helps with figuring out the issue.
2523

26-
#### Steps to reproduce
24+
### Example
25+
I am seeing {ISSUE} when running X, Y... after doing Z. This behavior started after the X library upgrade a few weeks ago ...
2726

28-
1. ?
29-
2. ?
27+
## Environment
3028

31-
#### Code example
29+
Required: Provide details about your environment. If relevant, please also provide details about your GCP environment. The environment details MUST be filled out.
3230

33-
```java
34-
// example
31+
Provide the relevant details about your environment:
32+
33+
- OS Type and Version:
34+
- Java Version and JDK Vendor:
35+
- (If using GraalVM) GraalVM Version:
36+
37+
(Optional) If deployed on GCP, provide the relevant details about your GCP deployment environment:
38+
39+
- Project ID:
40+
- Cloud Services:
41+
- Deployment Environment (Compute, GKE, Run, etc):
42+
43+
## Dependencies
44+
45+
Required: Provide a list of the dependencies that are being used. If unable to provide the list, please list the relevant libraries shown below. One of the two sections below MUST be filled out.
46+
47+
1. List your application’s dependency versions. Please provide the output of `mvn dependency:tree`, `gradle dependencies`, or your build system.
48+
49+
### Example `mvn dependency:tree` output
3550
```
51+
maven-dependency-plugin:tree
52+
53+
- com.google.cloud:{X}:{Y}
54+
55+
- com.google.auth:{X}:{Y}
56+
57+
...
58+
```
59+
60+
2. Provide the versions of the relevant libraries:
61+
- Libraries-Bom ([com.google.cloud:libraries-bom](https://central.sonatype.com/artifact/com.google.cloud/libraries-bom)):
62+
- (If not using Libraries-Bom) Client Libraries:
63+
- Gax (gax / gax-grpc / gax-httpjson):
64+
- Auth (google-auth-library-oauth2-http / google-auth-library-credentials):
65+
- Any other relevant Java SDK dependencies:
66+
- Google-Http-Java-Client ([com.google.http-client:google-http-client](https://central.sonatype.com/artifact/com.google.http-client/google-http-client)):
67+
68+
## Reproducer
69+
70+
Required: Provide a reproducer and the steps needed to reproduce this issue locally. If unable to provide a reproducer, please provide code snippets to help reproduce the issue. One of the two sections below MUST be filled out.
3671

37-
#### Stack trace
72+
1. A reproducer is the quickest method to resolve this issue. It could be a test case or a sample application. It is easier for us to troubleshoot the problem and to verify the solution.
73+
74+
Steps to reproduce:
75+
76+
### Example
77+
1. Enable Speech API
78+
2. Upload a .mp4 file to GCS
79+
3. ...
80+
4. See {ERROR}
81+
82+
If unable to provide a reproducer, please provide a reason: ...
83+
84+
2. Provide as many code snippets as possible:
85+
86+
### Example
87+
```java
88+
try (InstancesClient instancesClient = InstancesClient.create()) {
89+
...
90+
}
3891
```
39-
Any relevant stacktrace here.
92+
93+
## Logs and Stack Trace
94+
95+
Required: Provide logs that showcase the error. This will help show the flow of the application and help narrow down the cause. Additionally, provide a stack trace of the error if possible.
96+
97+
The Java SDK has a troubleshooting [guide](https://github.com/googleapis/google-cloud-java/blob/main/TROUBLESHOOTING.md) for enabling logs. This contains information regarding client-server communication, request and response details, and logging in dependency libraries. If using this guide, please obfuscate any private information (bearer tokens, request and response params, etc).
98+
99+
Additionally, please provide a stack trace of the error seen:
100+
101+
### Example
40102
```
103+
TransportContext.java:347|Fatal (CERTIFICATE_UNKNOWN): PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target (
104+
105+
"throwable" : {
41106
42-
#### External references such as API reference guides
107+
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
43108
44-
- ?
109+
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:456)
110+
111+
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:323)
112+
113+
...
114+
```
45115

46-
#### Any additional information below
116+
## Behavior
47117

118+
Optional: Any additional information about the behavior of the error is helpful to debug.
48119

49-
Following these steps guarantees the quickest resolution possible.
120+
Behavioral Questions:
50121

51-
Thanks!
122+
- When did the issue begin? Is this behavior related to any dependency version upgrade?
123+
- Is this behavior flaky? Or is this consistently seen in production?
124+
- Is this behavior related to the volume of data?

.github/workflows/ci.yaml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,62 +56,71 @@ jobs:
5656
units:
5757
runs-on: ubuntu-latest
5858
needs: bulk-filter
59-
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
6059
strategy:
6160
fail-fast: false
6261
matrix:
6362
java: [11, 17, 21, 25]
6463
steps:
6564
- name: Get current week within the year
6665
id: date
66+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
6767
run: echo "::set-output name=week_of_year::$(date +'%W' --utc)"
6868
- uses: actions/checkout@v4
69+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
6970
- uses: actions/setup-java@v4
71+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
7072
with:
7173
distribution: temurin
7274
java-version: ${{matrix.java}}
7375
- run: java -version
76+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
7477
- uses: actions/cache@v4
7578
id: mvn-cache
79+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
7680
with:
7781
path: ~/.m2/repository
7882
key: ${{ runner.os }}-maven-unified-${{ steps.date.outputs.week_of_year }}
7983
- run: .kokoro/build.sh
80-
if: ${{ needs.bulk-filter.outputs.src == 'true' || needs.bulk-filter.outputs.ci == 'true' }}
84+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' && (needs.bulk-filter.outputs.src == 'true' || needs.bulk-filter.outputs.ci == 'true') }}
8185
env:
8286
JOB_TYPE: test
8387
JOB_NAME: units-${{matrix.java}}
8488
units-8-runtime:
8589
runs-on: ubuntu-latest
8690
needs: bulk-filter
87-
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
8891
name: "units (8)"
8992
steps:
9093
- name: Get current week within the year
9194
id: date
95+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
9296
run: echo "::set-output name=week_of_year::$(date +'%W' --utc)"
9397
- uses: actions/checkout@v4
98+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
9499
- uses: actions/setup-java@v4
100+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
95101
with:
96102
java-version: 8
97103
distribution: temurin
98104
- name: "Set jvm system property environment variable for surefire plugin (unit tests)"
99105
# Maven surefire plugin (unit tests) allows us to specify JVM to run the tests.
100106
# https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#jvm
107+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
101108
run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java" >> $GITHUB_ENV
102109
shell: bash
103110
- uses: actions/setup-java@v4
111+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
104112
with:
105113
java-version: 11
106114
distribution: temurin
107115
cache: maven
108116
- uses: actions/cache@v4
109117
id: mvn-cache
118+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' }}
110119
with:
111120
path: ~/.m2/repository
112121
key: ${{ runner.os }}-maven-unified-${{ steps.date.outputs.week_of_year }}
113122
- run: .kokoro/build.sh
114-
if: ${{ needs.bulk-filter.outputs.src == 'true' || needs.bulk-filter.outputs.ci == 'true' }}
123+
if: ${{ needs.bulk-filter.outputs.runnable == 'true' && (needs.bulk-filter.outputs.src == 'true' || needs.bulk-filter.outputs.ci == 'true') }}
115124
shell: bash
116125
env:
117126
JOB_TYPE: test

.github/workflows/generated_files_sync.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ on:
1717
pull_request:
1818
name: generation diff
1919
env:
20-
library_generation_image_tag: 2.73.0-SNAPSHOT # {x-version-update:gapic-generator-java:current}
20+
library_generation_image_tag: 2.73.0 # {x-version-update:gapic-generator-java:current}
2121
jobs:
2222
root-pom:
2323
# root pom.xml does not have diff from generated one

.github/workflows/hermetic_library_generation.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ env:
2121
REPO_FULL_NAME: ${{ github.event.pull_request.head.repo.full_name }}
2222
GITHUB_REPOSITORY: ${{ github.repository }}
2323
# {x-version-update-start:gapic-generator-java:current}
24-
GENERATOR_VERSION: 2.73.0-SNAPSHOT
24+
GENERATOR_VERSION: 2.73.0
2525
# {x-version-update-end}
2626
jobs:
2727
library_generation:

.github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,10 @@ jobs:
2727
fail-fast: false
2828
matrix:
2929
repo:
30-
- java-bigtable
31-
- java-firestore
32-
- java-pubsub
3330
- java-pubsublite
3431
# Default Protobuf-Java versions to use are specified here. Without this, the nightly workflow won't know
3532
# which values to use and would resolve to ''.
36-
protobuf-version: ${{ fromJSON(format('[{0}]', inputs.protobuf_runtime_versions || '"4.33.5"')) }}
33+
protobuf-version: ${{ fromJSON(format('[{0}]', inputs.protobuf_runtime_versions || '"4.35.0"')) }}
3734
steps:
3835
- name: Checkout sdk-platform-java repo
3936
uses: actions/checkout@v4
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
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+
# https://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+
15+
name: Showcase Version Check
16+
17+
on:
18+
schedule:
19+
- cron: '30 3 * * *' # Run daily at 3:30 AM UTC
20+
workflow_dispatch: # Allow manual trigger
21+
pull_request:
22+
paths:
23+
- 'librarian.yaml'
24+
- 'java-showcase/gapic-showcase/pom.xml'
25+
- '.github/workflows/showcase-version-check.yaml'
26+
27+
jobs:
28+
check-version:
29+
runs-on: ubuntu-latest
30+
permissions:
31+
issues: write
32+
steps:
33+
- uses: actions/checkout@v4
34+
- name: Extract showcase version from pom.xml
35+
id: extract_version
36+
shell: bash
37+
run: |
38+
version=$(awk -F'[<>]' '/gapic-showcase.version/{print $3; exit}' java-showcase/gapic-showcase/pom.xml)
39+
echo "version=$version" >> "$GITHUB_OUTPUT"
40+
- name: Set up Go
41+
uses: actions/setup-go@v5
42+
with:
43+
go-version: '1.24'
44+
- name: Extract showcase commit from librarian.yaml
45+
id: extract_commit
46+
shell: bash
47+
run: |
48+
version=$(go run github.com/googleapis/librarian/cmd/librarian@latest config get version)
49+
commit=$(go run "github.com/googleapis/librarian/cmd/librarian@${version}" config get sources.showcase.commit)
50+
echo "commit=$commit" >> "$GITHUB_OUTPUT"
51+
- name: Verify showcase version and commit match
52+
shell: bash
53+
run: |
54+
# 1. Query the remote repository for the specific version tag
55+
REMOTE_URL="https://github.com/googleapis/gapic-showcase.git"
56+
TAG_NAME="v${{ steps.extract_version.outputs.version }}"
57+
58+
OUTPUT=$(git ls-remote "$REMOTE_URL" "refs/tags/$TAG_NAME")
59+
60+
if [ -z "$OUTPUT" ]; then
61+
echo "Error: Tag $TAG_NAME not found on remote $REMOTE_URL"
62+
exit 1
63+
fi
64+
65+
# 2. Grab the commit hash from the very last line of the output
66+
EXPECTED_COMMIT=$(echo "$OUTPUT" | tail -n 1 | awk '{print $1}')
67+
68+
echo "Expected commit for tag $TAG_NAME: $EXPECTED_COMMIT"
69+
echo "Current librarian commit: ${{ steps.extract_commit.outputs.commit }}"
70+
71+
# 3. Cross-reference with librarian.yaml
72+
if [ "${{ steps.extract_commit.outputs.commit }}" != "$EXPECTED_COMMIT" ]; then
73+
echo "Mismatch: librarian.yaml has commit '${{ steps.extract_commit.outputs.commit }}', but tag '$TAG_NAME' is at commit '$EXPECTED_COMMIT'"
74+
echo "MISMATCH=true" >> "$GITHUB_ENV"
75+
exit 2
76+
fi
77+
78+
echo "Showcase version and commit are in sync!"
79+
- name: Create issue on mismatch
80+
if: failure() && env.MISMATCH == 'true'
81+
env:
82+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
83+
run: |
84+
gh issue create \
85+
-R "${{ github.repository }}" \
86+
-t "Showcase Version Mismatch: librarian.yaml and pom.xml out of sync" \
87+
-b "The Showcase version in java-showcase/gapic-showcase/pom.xml and the commit in librarian.yaml do not match. Please update them to match. See logs: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
88+
- name: Create issue on workflow failure
89+
if: failure() && env.MISMATCH != 'true'
90+
env:
91+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
92+
run: |
93+
gh issue create \
94+
-R "${{ github.repository }}" \
95+
-t "Showcase Version Check Workflow Failure" \
96+
-b "The Showcase Version Check workflow has failed due to an unexpected execution error. Please check the logs at ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} for details."

0 commit comments

Comments
 (0)