ci: Test upper bound dependenices file in Github CI#3877
Merged
Conversation
d5b2be5 to
6e96807
Compare
6e96807 to
e1575ba
Compare
Member
Author
|
@gemini-cli /review |
There was a problem hiding this comment.
📋 Review Summary
This PR introduces a new GitHub Actions workflow to test for dependency compatibility using an upper-bounds dependency file. This is a great addition to help ensure the stability of the project.
🔍 General Feedback
- The shell script and workflow are well-structured and easy to understand.
- The use of
workflow_dispatchis a good feature for manual testing. - There are a few minor issues with duplicate keys in the dependencies file and missing newlines at the end of files.
Overall, this is a solid contribution. Once the minor issues are addressed, this will be ready to merge.
Member
Author
|
@gemini-cli /review |
blakeli0
reviewed
Aug 14, 2025
blakeli0
reviewed
Aug 14, 2025
blakeli0
approved these changes
Aug 14, 2025
|
|
lqiu96
added a commit
that referenced
this pull request
Aug 21, 2025
See b/436286826 for more information Example workflow run: https://github.com/googleapis/sdk-platform-java/actions/runs/16759125283/job/47449497271?pr=3877 ## Sample run with upper-bounds file Running locally: `./.github/scripts/test_dependency_compatibility.sh` ``` mvn verify -Penable-integration-tests -Dclirr.skip -Dcheckstyle.skip -Dfmt.skip -Denforcer.skip -Djavax.annotation-api.version=1.3.2 -Dgrpc.version=1.74.0 -Dgoogle.auth.version=1.37.1 -Dgoogle.http-client.version=1.47.1 -Dgson.version=2.13.1 -Dguava.version=33.4.8-jre -Dprotobuf.version=4.31.1 -Dopentelemetry.version=1.52.0 -Derrorprone.version=4.15.1 -Dj2objc-annotations.version=3.0.0 -Dthreetenbp.version=1.7.1 -Dslf4j.version=2.0.17 -Dgrpc-gcp.version=1.6.1 -Dgoogle.oauth-client.version=1.39.0 -Dgoogle.api-client.version=2.8.0 -Dthreeten-extra.version=1.8.0 -Dopencensus.version=0.31.0 -Dfindbugs.version=3.0.2 -Derrorprone.version=2.41.0 -Dcodec.version=1.19.0 -Dhttpcomponents.httpcore.version=4.4.16 -Dhttpcomponents.httpclient.version=4.5.14 -Dapache-httpclient-5.version=5.5 -Dapache-httpcore-5.version=5.3.4 -Dperfmark-api.version=0.27.0 -Dj2objc-annotations.version=3.0.0 -Dgoogle.cloud.opentelemetry.version=0.36.0 -Dopentelemetry-semconv.version=1.34.0 -Dflogger.version=0.9 -Darrow.version=18.3.0 -Ddev.cel.version=0.10.1 -Dcom.google.crypto.tink.version=1.18.0 -Dio.opentelemetry.contrib.opentelemetry-gcp-resources.version=1.48.0-alpha ``` ## Expected error when using an incompatible Deps version Running locally with Protobuf 4.26.0: `./.github/scripts/test_dependency_compatibility.sh -l protobuf=4.26.0` Results: ``` [ERROR] /Users/lawrenceqiu/IdeaProjects/sdk-platform-java/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/OAuthRequirements.java:[65,42] cannot find symbol [ERROR] symbol: class UnusedPrivateParameter [ERROR] location: class com.google.api.OAuthRequirements [ERROR] /Users/lawrenceqiu/IdeaProjects/sdk-platform-java/java-common-protos/proto-google-common-protos/src/main/java/com/google/api/OAuthRequirements.java:[74,51] package com.google.protobuf.GeneratedMessageV3 does not exist ``` ## Future This does not cover binary or behavior compatibility issues. We plan on using downstream unit and integration tests to test those incompatibilities in a future date.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



See b/436286826 for more information
Example workflow run: https://github.com/googleapis/sdk-platform-java/actions/runs/16759125283/job/47449497271?pr=3877
Sample run with upper-bounds file
Running locally:
./.github/scripts/test_dependency_compatibility.shExpected error when using an incompatible Deps version
Running locally with Protobuf 4.26.0:
./.github/scripts/test_dependency_compatibility.sh -l protobuf=4.26.0Results:
Future
This does not cover binary or behavior compatibility issues. We plan on using downstream unit and integration tests to test those incompatibilities in a future date.