`<extensions>true</extensions>` may fail in CI if added to an integration test pom
Describe the bug
See #51372, this PR's build was keeping failing and only passed after <extensions>true</extensions> was removed.
Expected behavior
No response
Actual behavior
No response
How to Reproduce?
No response
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
/cc @quarkusio/devtools (maven)
@Sanne @aloubyansky FYI, perhaps the warning can be removed when the integration tests are run ? Otherwise, as with the linked #51372, CI builds may start failing and it is quite hard to detect why
Why was it failing?
As far as I recall it would fail at the documentation build step, @wjglerum do you recall any details ?
Sanne, perhaps you can try a dedicated PR that adds only <extensions>true</extensions> to the pom of that test ?
No, we can't enable extensions in the Quarkus codebase itself.
Thanks @aloubyansky, so I guess we should tune that warning further to avoid it being shown during the integration tests run, I was definitely considering adding it myself and it is shown every time I run some integration tests...
FYI, I suggested to Sanne to open a dedicated PR to see why it was failing, to answer his question
As far as I recall it would fail at the documentation build step, @wjglerum do you recall any details ?
Sanne, perhaps you can try a dedicated PR that adds only
<extensions>true</extensions>to the pom of that test ?
It happened both for the Documentation CI and Quarkus CI, both for the step:
Populate the .m2 repository (for cache and for shipping to follow-up builds)
See https://github.com/quarkusio/quarkus/actions/runs/19924799617/job/57121812996#step:11:93
Error: The project io.quarkus:quarkus-integration-test-oidc-dev-services:999-SNAPSHOT (/home/runner/_work/quarkus/quarkus/integration-tests/oidc-dev-services/pom.xml) has 1 error
Error: Unresolveable build extension: Plugin io.quarkus:quarkus-maven-plugin:999-SNAPSHOT or one of its dependencies could not be resolved:
Error: Could not find artifact io.quarkus:quarkus-maven-plugin:jar:999-SNAPSHOT
Error: -> [Help 2]
org.apache.maven.plugin.PluginManagerException: Plugin io.quarkus:quarkus-maven-plugin:999-SNAPSHOT or one of its dependencies could not be resolved:```
Thanks @aloubyansky, so I guess we should tune that warning further to avoid it being shown during the integration tests run, I was definitely considering adding it myself and it is shown every time I run some integration tests...
Yeah that would be helpful indeed. Especially that it does work locally if you do this 😄
I'm not understanding what leads you to think that this particular warning about the extensions is failing the build. To be clear, it wasn't merged yesterday - it's been more than two weeks. I assume other PRs have been fine, or are you saying that no CI job could complete successfully for weeks?
AFAIU, they are trying to enable extensions in the Quarkus repo itself.
AFAIU, they are trying to enable extensions in the Quarkus repo itself.
ahh thanks. Ok so the point is that the suggestion is misleading for our own extension maintainers - now I get it.
I don't have any good idea about how to proceed. It's tempting to avoid throwing the warning in case we detect the CI environment, but this seems like terrible practice in general to have code behave differently during a test.
@Sanne
I'm not understanding what leads you to think that this particular warning about the extensions is failing the build.
I guess it is not a warning itself but <extensions>true</extensions>, and #51372 passed only after it was removed.
I assume other PRs have been fine, or are you saying that no CI job could complete successfully for weeks?
I don't see <extensions>true</extensions> in any of the integration-tests poms that are shipped, only in some generated poms. #51372 was apparently the first such integration test update that added <extensions>true</extensions>.
Alexey,
AFAIU, they are trying to enable extensions in the Quarkus repo itself.
Right, if I run an integration test I see a warning
We could add a parameter to disable this warning.
What I'd want is to encourage people (users) to use <extensions>true</extensions>. Our own integration tests are of course a different context altogether.
Now, it turns out this is confusing for us (maintainers) and I'm sorry for that. I'm tempted to remove this warning.. could we perhaps be a little patient and leave the warning in for a couple releases? That would be enough to nudge people to update their projects, after that we remove it: it's not essential at all.
We could add a parameter to disable this warning.
Sure but like I said above it makes me nervous. Not a great quality control pattern to have code behave differently in the testing environment. I guess no big deal if it's all temporary.
I think it's fine having an internal flag to disable it.
Tangentially related: https://github.com/quarkusio/quarkus-updates/pull/408
Sanne,
Now, it turns out this is confusing for us (maintainers) and I'm sorry for that. I'm tempted to remove this warning.. could we perhaps be a little patient and leave the warning in for a couple releases?
Np at all, I don't mind much myself, I'm only concerned that the contributors may be naturally considering fixing the warning when running integration tests, in Quarkus itself or probably even more likely in Quarkiverse extensions they maintain...
Thanks