-
Notifications
You must be signed in to change notification settings - Fork 3k
Description
Describe the bug
I've discovered it in our CI Jenkins jobs from quarkus-test-framework here https://github.com/quarkus-qe/quarkus-test-framework/actions/runs/19468224426/job/55710153841?pr=1757
When working on a project explicitly pinned to the 3.20 stream, invoking the quarkus tls command triggers a JBang resolution that fetches the absolute latest version available in Maven Central (3.29.3 at the time of writing) instead of a version aligned with the project's platform (e.g., 3.20.x).
This behavior causes failures in CI environments for 3.20 branches, as the environment attempts to resolve the latest mainline artifacts that may have descriptor issues or incompatibilities with the LTS environment.
Note: I verified this behavior is reproducible using both the Quarkus CLI 3.20.4 runner and the latest upstream CLI. It appears to be a general behavior of the plugin discovery mechanism, ignoring the project stream.
Expected behavior
The CLI should detect the project is on stream 3.20 and resolve quarkus-tls-registry-cli to a version compatible with 3.20 (e.g., 3.20.4), similar to how extensions are managed.
Actual behavior
[ERROR] Failures:
[ERROR] QuarkusCliTlsCommandIT.generateCertificate:49 Quarkus tls command with arguments '[tls, generate-certificate, -c, Dumbledore, --name=dev-certificate, --password=quarkus, -d, /tmp/quarkus-tls-command-tests1758002273697099252/tls-command-test]' failed with output: [jbang] Resolving dependencies...
[jbang] io.quarkus:quarkus-tls-registry-cli:3.29.3
[jbang] [ERROR] Could not read artifact descriptor for io.quarkus:quarkus-tls-registry-cli:jar:3.29.3
[jbang] Run with --verbose for more details. The --verbose must be placed before the jbang command. I.e. jbang --verbose run [...]
[ERROR] QuarkusCliTlsCommandIT.generateQuarkusCa:32 Quarkus tls command with arguments '[tls, generate-quarkus-ca, --truststore, -r]' failed with output: [jbang] Resolving dependencies...
[jbang] io.quarkus:quarkus-tls-registry-cli:3.29.3
[jbang] [ERROR] Could not read artifact descriptor for io.quarkus:quarkus-tls-registry-cli:jar:3.29.3
[jbang] Run with --verbose for more details. The --verbose must be placed before the jbang command. I.e. jbang --verbose run [...]
[ERROR] QuarkusCliTlsCommandIT.runTestsUsingGeneratedCerts:72 Expected successful JVM build, but build command failed with output: [INFO] Scanning for projects...
How to Reproduce?
-
java -jar quarkus-cli-3.20.4.jar create app my-lts-app --stream=3.20
cd my-lts-app -
java -jar ../quarkus-cli-3.20.4.jar tls generate-quarkus-ca
The CLI ignores the local stream configuration and attempts to install/run the latest version from the registry:
Output of uname -a or ver
No response
Output of java -version
No response
Quarkus version or git rev
No response
Build tool (ie. output of mvnw --version or gradlew --version)
No response
Additional information
No response