Repository navigation
fix(cli): resolve prebuilt Java provider versions via repo1.maven.org - #285
Merged
Merged
Conversation
X-Guardian
force-pushed
the
test/java-maven-retry
branch
from
June 29, 2026 13:22
4847cf1 to
e7be99c
Compare
X-Guardian
force-pushed
the
test/java-maven-retry
branch
3 times, most recently
from
June 30, 2026 09:01
8f8bcf4 to
580ac34
Compare
X-Guardian
force-pushed
the
test/java-maven-retry
branch
from
June 30, 2026 10:03
08ab89a to
07bdd77
Compare
X-Guardian
marked this pull request as ready for review
June 30, 2026 14:30
jsteinich
requested changes
Jul 1, 2026
added 2 commits
July 2, 2026 11:06
jsteinich
approved these changes
Jul 2, 2026
so0k
pushed a commit
that referenced
this pull request
Jul 3, 2026
🤖 Release PR — merge to cut a new release. Kept open and rebased as commits land on `main`. --- <details><summary>0.23.4</summary> ## [0.23.4](v0.23.3...v0.23.4) (2026-07-02) ### Features * **cli:** validate Terraform CLI feature versions ([#237](#237)) ([32d434c](32d434c)) * declared Terraform/OpenTofu target versions (validation foundation) ([#269](#269)) ([0aa2343](0aa2343)) * **lib:** S3-backend - Add `useLockfile` field and update `dynamodbTable` deprecated JSDoc ([#234](#234)) ([32a408f](32a408f)) * **lib:** validate Fn usage against Terraform/OpenTofu versions ([#268](#268)) ([cdf8115](cdf8115)) ### Bug Fixes * **cli:** don't mistake terraform error output for a missing-variable prompt ([#267](#267)) ([0ea946f](0ea946f)) * **cli:** release terraform state lock when interrupting diff/deploy ([#284](#284)) ([de617db](de617db)) * **cli:** resolve prebuilt Java provider versions via repo1.maven.org ([#285](#285)) ([d5af07d](d5af07d)) * **gha:** Adding CHANGELOG.md to prettier ignore list ([#258](#258)) ([5160469](5160469)) * **gha:** pull jsii-terraform CI image from GHCR instead of Docker Hub ([#261](#261)) ([f19d34b](f19d34b)) * **provider-generator:** copy only publishable files into the jsii compile bundle ([#292](#292)) ([562d4c7](562d4c7)) * **provider-generator:** match shorthand provider sources against OpenTofu schema keys ([#293](#293)) ([fda0103](fda0103)) * **release:** add Changelog title for correct release-please insertion ([#255](#255)) ([004818a](004818a)) * **release:** drop devEngines.packageManager that broke npm publish ([ef508a6](ef508a6)) * **tools:** repair generate-function-bindings tool ([#273](#273)) ([821e1cf](821e1cf)) ### Miscellaneous Chores * Add Gradle to Mise config ([#271](#271)) ([1578270](1578270)) * add pnpm to mise ([#266](#266)) ([48ab91f](48ab91f)) * add uv to mise ([#260](#260)) ([163cf3d](163cf3d)) * **deps:** bump nrwl/nx-set-shas from 38457b511e60ee4e1da09255b658e480748a1af4 to afb73a62d26e41464e9254689e1fd6122ee683c1 ([#236](#236)) ([b5ac018](b5ac018)) * **deps:** bump the github-actions-backward-compatible group across 1 directory with 7 updates ([#235](#235)) ([de67d9f](de67d9f)) * **deps:** replace uuid dependency with node:crypto.randomUUID ([#291](#291)) ([6d3657a](6d3657a)) * ESLint ignore test edge-provider-bindings ([#270](#270)) ([ba407bb](ba407bb)) * Fix Verdaccio logging config ([#272](#272)) ([aded64b](aded64b)) * **gha:** parallelize provider binding generation for documentation examples ([#244](#244)) ([0a9c955](0a9c955)) * Migrate package manager from yarn to pnpm ([#170](#170)) ([d23da4e](d23da4e)) * migrate planning artifacts to cdktn-planning [skip ci] ([968c358](968c358)) * **release:** add release-please automation for versioning ([#243](#243)) ([c759eec](c759eec)) * Remove dependency-pinner tool ([#250](#250)) ([42c27d5](42c27d5)) * Remove unused dependencies ([#281](#281)) ([c7de65e](c7de65e)) * **tests:** run verdaccio in-process ([#248](#248)) ([c17677d](c17677d)) * Update JSII version constraint ([#245](#245)) ([d89558f](d89558f)) * Update scheduled workflows to only run on open-constructs/cdk-terrain ([#256](#256)) ([ba408cf](ba408cf)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: open-constructs-cdktn[bot] <291052431+open-constructs-cdktn[bot]@users.noreply.github.com>
Contributor
|
I'm going to lock this pull request because it has been closed for 30 days. This helps our maintainers find and focus on the active issues. If you've found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Description
The Java integration tests (
provider-add,provider-list,provider-upgrade) have been intermittently failing, resolving a prebuilt provider package version one or two below the expected maximum (e.g.0.2.55→0.2.53/0.2.54).Example Failed jobs
Cause
When adding a prebuilt Java provider, the resolver walks the npm candidate versions highest-to-lowest and installs the first that exists on Maven Central, using
JavaPackageManager.isNpmVersionAvailableto decide existence. That check queries thesearch.maven.org/solrsearchindex — a separate service from the artifact repository, and a flaky one: under load it returnsHTTP 502and can take ~90s to respond. A failed search response reads as "version not found", so the resolver drops to an older package.Fix
This PR points the existence check at the artifact repository directly:
repo1.maven.org(package-manager.ts):JavaPackageManager.isNpmVersionAvailablerequests the artifact's.pomdirectly (https://repo1.maven.org/maven2/<group>/<artifact>/<version>/<artifact>-<version>.pom) with a plainfetch, matching the shape of the other package managers' probes —200means present, anything else means not available.repo1.maven.orgis the Fastly-fronted artifact CDN every Maven build already relies on, so it is both the source of truth for "is this artifact published" and reliably fast (~0.05s).Why a direct file check rather than the
central.sonatype.comsearch API: the artifact CDN is the most reliable signal and the fastest, with the fewest moving parts. The Sonatype Central search API is the documented successor tosearch.maven.org, but it is still a search index in front of the same artifacts; querying the artifact directly depends only on the artifact itself.Checklist