googleapis / googleapis/google-cloud-java

[java-cloud-bom] Add tests for "No downgrade policy"

Open
#13,756 1 comment 0 reactions 0 assignees View on GitHub
priority: p2 type: process
Dominant language
Java
Stars
2.1k
Forks
1.2k
Avg merge
1d 23h
Merged PRs (30d)
154

Description

All dependencies of the Cloud SDK should come from the [shared-dependencies](https://github.com/googleapis/sdk-platform-java/tree/main/java-shared-dependencies). The libraires-bom only aggregates them together and makes sure all client libraries use the same versions of shared-dependencies.

However, the libraries-bom may accidentally downgrade some dependencies. For example,

- Spanner upgraded grpc-gcp to 1.9.0 but shared-dependencies still uses 1.7.0. We had to [explicitly override](https://github.com/googleapis/java-cloud-bom/pull/7308) grpc-gcp version in the libraries-bom. This is a short term solution and we will remove it in the next release cycle.
- For the RC release, we didn't merge the first-party-dependencies upgrade and caused enforcer errors. This is fixed in https://github.com/googleapis/java-cloud-bom/pull/7332.

We need to add tests to make sure no dependencies are downgraded.

Possible solutions:

- [BomContentTest](https://github.com/googleapis/java-cloud-bom/blame/main/tests/src/test/java/com/google/cloud/BomContentTest.java#L69) is already testing some convergency, I was expecting it to fail but it didn't. We might be able to extend the tests for "No downgrade rule".
- Create a test app for each and every handwritten libraries, run Maven enforcer plugin before release.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.