quarkus icon indicating copy to clipboard operation
quarkus copied to clipboard

`<extensions>true</extensions>` may fail in CI if added to an integration test pom

Open sberyozkin opened this issue 2 weeks ago • 17 comments

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

sberyozkin avatar Dec 04 '25 11:12 sberyozkin

/cc @quarkusio/devtools (maven)

quarkus-bot[bot] avatar Dec 04 '25 12:12 quarkus-bot[bot]

@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

sberyozkin avatar Dec 04 '25 12:12 sberyozkin

Why was it failing?

Sanne avatar Dec 04 '25 12:12 Sanne

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 ?

sberyozkin avatar Dec 04 '25 12:12 sberyozkin

No, we can't enable extensions in the Quarkus codebase itself.

aloubyansky avatar Dec 04 '25 12:12 aloubyansky

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

sberyozkin avatar Dec 04 '25 13:12 sberyozkin

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

wjglerum avatar Dec 04 '25 13:12 wjglerum

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:```

wjglerum avatar Dec 04 '25 13:12 wjglerum

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 😄

wjglerum avatar Dec 04 '25 13:12 wjglerum

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?

Sanne avatar Dec 04 '25 14:12 Sanne

AFAIU, they are trying to enable extensions in the Quarkus repo itself.

aloubyansky avatar Dec 04 '25 14:12 aloubyansky

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 avatar Dec 04 '25 14:12 Sanne

@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

sberyozkin avatar Dec 04 '25 14:12 sberyozkin

We could add a parameter to disable this warning.

aloubyansky avatar Dec 04 '25 14:12 aloubyansky

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.

Sanne avatar Dec 04 '25 14:12 Sanne

I think it's fine having an internal flag to disable it.

Tangentially related: https://github.com/quarkusio/quarkus-updates/pull/408

gsmet avatar Dec 04 '25 14:12 gsmet

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

sberyozkin avatar Dec 04 '25 15:12 sberyozkin