Skip to content
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

Build cache - Disable cache for modules with tests having programmatic dependencies #37388

Open
gsmet opened this issue Nov 29, 2023 · 6 comments

Comments

@gsmet
Copy link
Member

gsmet commented Nov 29, 2023

In our codebase, we have tests for which we are dynamically adding a dependency specifically for a test. These dependencies are not tracked anywhere and thus are not input of the build cache.

It's a problem for the build cache but it's also a problem for GIB as GIB don't see these dependencies either.

We got hit by that here: #37349

@quarkus-bot
Copy link

quarkus-bot bot commented Nov 29, 2023

/cc @gwenneg (cache)

@famod
Copy link
Member

famod commented Dec 8, 2023

@gsmet I had a look at #37349 and I'm unable to find the first build which didn't run the ITs (as you mentioned there).
You haven't backed the log up, have you?

I have however tried to simulate a similar case:

  • on main, echo >> vi extensions/container-image/container-image-openshift/deployment/src/main/java/io/quarkus/container/image/openshift/deployment/OpenshiftProcessor.java
  • mvn -Dincremental -Dgib.dbc -Dgib.uc validate (I didn't want to fiddle around with a branch here so I simply went with an untracked change and specified the respective GIB properties)

What I'm seeing is:

[INFO] Reactor Summary for Quarkus - Container Image - OpenShift - Deployment 999-SNAPSHOT:
[INFO]
[INFO] Quarkus - Container Image - OpenShift - Deployment . SUCCESS [  0.776 s]
[INFO] Quarkus - Kubernetes - Openshift - Deployment ...... SUCCESS [  0.286 s]
[INFO] Quarkus - Integration Tests - Kubernetes - Invoker . SUCCESS [  0.367 s]
[INFO] Quarkus - Integration Tests - Kubernetes - Standard  SUCCESS [  0.256 s]
[INFO] Quarkus - Integration Tests - Kubernetes - Standard - Kafka SUCCESS [  0.259 s]
[INFO] Quarkus - Integration Tests - Istio - Invoker ...... SUCCESS [  0.245 s]
[INFO] Quarkus - Documentation ............................ SUCCESS [  0.528 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

So it does seem to build quarkus/integration-tests/kubernetes/quarkus-standard-way, which is no surprise given that those minimal deployment dependencies are present in that IT pom.xml.

Am I missing something?

@famod
Copy link
Member

famod commented Dec 22, 2023

@gsmet if you have more info for me (see previous comment) I can have a look next week.

@gsmet gsmet changed the title Build cache/GIB - Disable cache for modules with tests having programmatic dependencies Build cache - Disable cache for modules with tests having programmatic dependencies Dec 22, 2023
@gsmet
Copy link
Member Author

gsmet commented Dec 22, 2023

Indeed, it's not a problem for GIB in this case.

So have a happy holiday without this to figure out :)

@gsmet
Copy link
Member Author

gsmet commented Dec 22, 2023

@famod ^

@famod
Copy link
Member

famod commented Dec 22, 2023

Haha, alright - thanks. Happy holiday for you too @gsmet!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants