-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not depend on fabric8 extensions directly #1404
Conversation
When we import fabric8 extensions directly (not via Quarkus boms), native compilation consumes too much memory. The recommended solution is to use io.quarkus:openshift-client, but unfortunately, it doesn't contain KnativeClient which we use in io.quarkus.test.bootstrap.inject.OpenShiftClient, so we have to import quarkus-kubernetes-deployment, which provides knative classes.
run tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really mind changes, but I don't understand how PR description can be true. You are changing Quarkus Qe Test OpenShift dependencies that are always in the test scope. Do you say that native imagine takes into consideration test scope dependencies?
@michalvavrik it seems so: quarkusio/quarkus#43360 (see comments). Case in point: when I enable this test and run it without this change, it hangs, but when I do the same with this change, the test works. You can try it for yourself. Maybe the dependencies somehow leak to production scope. |
Dependencies changed in https://github.com/quarkus-qe/quarkus-test-suite/pull/2059/files were not in the test scope. Build steps shouldn't be executed for these test dependencies because in native mode because we build production application, so Quarkus build shouldn't be in a test mode. If they are there, it is a mistake.
If you are not in a hurry, I'd like to test it later this week. Also I am preparing #1375 that I'd like to reduce changes in that PR and finish this week. That alone should completely remove these test scope dependencies from the native build. I don't think changes in this PR are wrong, I just want to understand them better. @mjurc please feel free to review & approve. |
I definitely not in a hurry. If you consider #1375 to be in a good shape, I can test locally, whether it fixes CliProdModeNativeIT; if it does, we can drop this change and go forth with yours, since other tests are not affected |
I basically need to drop everything I did there for OpenShift (because identifying criteria when we can reuse native build in OCP is really hard) and re-check code. I'll prepare it and ask you for the review when it is ready. Thanks |
@fedinskiy I had a look into
Could you try to enable it without any adjustments and see if GH CI pass, please? I'll deal with #1375 separately as it cannot help for the CLI tests. |
BTW I think it would be really interesting to report it as a bug to upstream if you can gather some numbers for upstream engineers. |
@michalvavrik I run the tests a couple more times and it looks like the bug happens randomly and not related to openshift client. Therefore I will close the PR, thank you for the inquiry! |
Summary
When we import fabric8 extensions directly (not via Quarkus boms), native compilation consumes too much memory.
The recommended solution is to use io.quarkus:openshift-client, but unfortunately, it doesn't contain KnativeClient which we use in io.quarkus.test.bootstrap.inject.OpenShiftClient, so we have to import quarkus-kubernetes-deployment, which provides knative classes.
Please check the relevant options
run tests
phrase in comment)Checklist: