Skip to content

Align dependencies with libraries-bom 26.89.0 - #100

Open
eschultink wants to merge 4 commits into
mainfrom
s234-modernize-deps
Open

eschultink wants to merge 4 commits into
mainfrom
s234-modernize-deps

Conversation

@eschultink

@eschultink eschultink commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Move this fork onto the same libraries-bom as evalengin (26.89.0, google-cloud-datastore 3.6.0) and replace dependency ranges that reject the app's versions. 0.3+worklytics.14.2 imported libraries-bom 26.83.0, which resolves Datastore 3.0.0. That client always starts a private PeriodicMetricReader and, with OpenTelemetry >= 1.62, exports otel.sdk.* metrics Cloud Monitoring rejects. Datastore 3.2.0+ returns OpenTelemetry.noop() when builtin export is disabled. Export stays off; DatastoreBuiltinMetricsExportTest locks that in for DatastoreOptions.getDefaultInstance().

Datastore 3.6 adds commit/rollback overloads that take DatastoreExecutionOptions. PipelineBackendTransactionImpl delegates those the same way as the no-arg methods: datastore first, then Cloud Tasks.

Maven ) is strictly less than and ] is less than or equal. Ceilings are the next major's -alpha, the first pre-release qualifier, so the range is any compatible release and not the next major. A plain < 34 still admits 34.0.0-rc1, and < 3 still admits 3.0.0-beta. This build resolves to:

Dependency Range Resolved
libraries-bom 26.89.0 google-cloud-datastore 3.6.0, protobuf-java 4.33.6, grpc-api 1.83.0
Guava [33.6.0-jre,34.0.0-alpha) 33.7.1-jre; evalengin's 33.6.0-jre is inside the range
Jackson [2.18.6,3.0.0-alpha) 2.22.3; floor stays the Dependabot 2.18.6 pin
Dagger [2.55,3.0.0-alpha) 2.60.1 (com.google.dagger, not com.squareup.dagger)
Lombok [1.18.42,2.0.0-alpha) 1.18.48, provided
fastutil [8.5.15,9.0.0-alpha) 8.5.19
Mockito [5.23.0,6.0.0-alpha) 5.24.0, test
App Engine SDK [2.0.4,3.0.0-alpha) 2.0.39; includes the app's 2.0.23

javax.servlet-api 3.1.0 stays provided. The test workflow job uses Temurin 21, matching the compile job.

Revision is 0.3+worklytics.14.3. Not published yet.

Change implications

  • breaking change to API? no
  • changes dependencies? yes

Widen compatible ranges so the app's Guava 33.6 and Jackson 2.22 resolve, and implement the Datastore 3.6 commit and rollback overloads.

Co-authored-by: Cursor <cursoragent@cursor.com>
Copilot AI balanced review requested due to automatic review settings September 25, 2026 21:22
@eschultink eschultink self-assigned this Sep 25, 2026
@eschultink
eschultink requested a review from jlorper September 25, 2026 21:22

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

Claude Code Review is paused for this repository. To reconnect it, an admin of this repository's GitHub organization (or the account owner, for personal repositories) who can also manage your Claude organization's Code Review settings needs to re-link GitHub in Code Review settings. This is a one-time step.

Tip: disable this comment in your organization's Code Review settings.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The CI matrix excludes the new regression test and transaction tests, leaving the added behavior unverified.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 2 Medium severity

Open (2)
What changed in this PR

Aligns dependency resolution with libraries-bom 26.89.0 and Datastore 3.6.0.

Changes:

  • Updates dependency versions and ranges.
  • Adds Datastore execution-options transaction overloads.
  • Adds metrics-export regression tests and aligns CI on Temurin 21.
File Description
java/​pom.xml Updates BOM, revision, and dependency ranges.
PipelineBackendTransactionImpl.java Delegates new commit/rollback overloads.
DatastoreBuiltinMetricsExportTest.java Verifies built-in metrics export remains disabled.
.github/​workflows/​test-java.yml Switches test jobs to Temurin.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +89 to +90
public Response commit(DatastoreExecutionOptions options) {
return commitDatastoreThenTasks(txn -> txn.commit(options));
* export was off. 3.2.0 and later return {@link OpenTelemetry#noop()} unless that export is
* enabled. This library must keep the export off, including {@link DatastoreOptions#getDefaultInstance()}.
*/
class DatastoreBuiltinMetricsExportTest {
Maven ')' is strictly less than. Bounding at the next major's alpha excludes that major and its pre-releases; a plain < 34 still admits 34.0.0-rc1.

Co-authored-by: Cursor <cursoragent@cursor.com>
Copilot AI review requested due to automatic review settings September 25, 2026 21:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The new regression test is excluded from CI, and the execution-options transaction paths lack coverage.

Review effort: Balanced
Findings: 2 Medium severity

Open (2)

- Verify commit and rollback pass the exact DatastoreExecutionOptions through before tasks are enqueued.
- Add a Surefire matrix entry for the metrics-export test and the txn package, which the existing package filters skip.

Co-authored-by: Cursor <cursoragent@cursor.com>
Copilot AI review requested due to automatic review settings September 25, 2026 21:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The broad runtime dependency upgrades warrant final human validation despite the focused tests.

Review effort: Balanced
Findings: 2 Medium severity

Open (2)

The CI service-account key is rejected with an invalid JWT signature, so
bucket setup never reaches the tests. Honor STORAGE_EMULATOR_HOST and stop
leveldb reads at the object size, because the emulator's 416 at end-of-object
fails a slice instead of ending the stream.

Co-authored-by: Cursor <cursoragent@cursor.com>
Copilot AI review requested due to automatic review settings September 26, 2026 00:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The dependency alignment and required compatibility changes are coherent and covered by targeted tests.

Review effort: Balanced
Findings: 2 Medium severity

Open (2)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants