apache / incubator-kie-kogito-examples

Kogito examples - Kogito is a cloud-native business automation technology for building cloud-ready business applications.
http://kogito.kie.org
256 stars 383 forks source link

[incubator-kie-issues-1401] Fix build kogito-examples.build-and-test in kogito nightly.native folder #1987

Closed tkobayas closed 3 months ago

tkobayas commented 3 months ago

Issue:

https://github.com/apache/incubator-kie-kogito-examples/pull/1986 is a fix for 10.0.x branch, but this PR is for main branch to be a fundamental fix:

jstastny-cz commented 3 months ago

I suspect this problem might come from fact that the serverless-workflow-examples-parent is actually a sibling of modules which are using it. I couldn't find the right place, but noticed, that the following construct is a problem on its own: https://github.com/apache/incubator-kie-kogito-examples/blob/main/serverless-workflow-examples/pom.xml#L41

If the examples are built with "any" profile being active (either using -P or by any other activation means), this default profile is not activated at all, so the parent module falls out of the reactor.

tkobayas commented 3 months ago

Hi @pefernan , What do you think about @jstastny-cz 's point? : https://github.com/apache/incubator-kie-kogito-examples/pull/1987#issuecomment-2257817372 (I see that it was introduced by https://github.com/apache/incubator-kie-kogito-examples/pull/1852 )

I think this is not rushed for v10 release, but if you think this can be improved, please file a GH issue.

kie-ci3 commented 3 months ago

PR job #1 was: UNSTABLE Possible explanation: This should be test failures

Reproducer build-chain build full_downstream -f 'https://raw.githubusercontent.com/${AUTHOR:apache}/incubator-kie-kogito-pipelines/${BRANCH:main}/.ci/buildchain-config-pr-cdb.yaml' -o 'bc' -p apache/incubator-kie-kogito-examples -u https://github.com/apache/incubator-kie-kogito-examples/pull/1987 --skipParallelCheckout NOTE: To install the build-chain tool, please refer to https://github.com/kiegroup/github-action-build-chain#local-execution

Please look here: https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest_jobs/job/kogito-examples-pr/job/PR-1987/1/display/redirect

Test results:

Those are the test failures:

org.acme.AcmeExchangeResourceIT.unauthorizedTest java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkus.oidc.deployment.devservices.keycloak.KeycloakDevServicesProcessor#startKeycloakContainer threw an exception: java.lang.RuntimeException: org.testcontainers.containers.ContainerLaunchException: Container startup failed for image quay.io/keycloak/keycloak:23.0.7
at io.quarkus.oidc.deployment.devservices.keycloak.KeycloakDevServicesProcessor.startKeycloakContainer(KeycloakDevServicesProcessor.java:249)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
at java.base/java.lang.Thread.run(Thread.java:840)
at org.jboss.threads.JBossThread.run(JBossThread.java:501)
Caused by: org.testcontainers.containers.ContainerLaunchException: Container startup failed for image quay.io/keycloak/keycloak:23.0.7
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:359)
at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:330)
at io.quarkus.oidc.deployment.devservices.keycloak.KeycloakDevServicesProcessor.lambda$startContainer$4(KeycloakDevServicesProcessor.java:376)
at java.base/java.util.Optional.orElseGet(Optional.java:364)
at io.quarkus.oidc.deployment.devservices.keycloak.KeycloakDevServicesProcessor.startContainer(KeycloakDevServicesProcessor.java:401)
at io.quarkus.oidc.deployment.devservices.keycloak.KeycloakDevServicesProcessor.startKeycloakContainer(KeycloakDevServicesProcessor.java:197)
... 11 more
Caused by: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception
at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:88)
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:344)
... 16 more
Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container
at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:563)
at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:354)
at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
... 17 more
Caused by: org.testcontainers.containers.ContainerLaunchException: Timed out waiting for log output matching '.*Keycloak.*started.*'
at org.testcontainers.containers.wait.strategy.LogMessageWaitStrategy.waitUntilReady(LogMessageWaitStrategy.java:47)
at org.testcontainers.containers.wait.strategy.AbstractWaitStrategy.waitUntilReady(AbstractWaitStrategy.java:52)
at org.testcontainers.containers.GenericContainer.waitUntilContainerStarted(GenericContainer.java:909)
at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:500)
... 19 more
pefernan commented 3 months ago

@tkobayas oh. I don't remember the reason why, but the swf examples had no parent at the time and we needed that serverless-workflow-examples-parent so all the examples could have a common parent so they could inherit the java.module.name... that was a quick fix we did.

IDK if removing it and setting serverless-workflow-examples as with other examples (quarkus / springboot) would help here.

tkobayas commented 3 months ago

Thanks @pefernan , I filed https://github.com/apache/incubator-kie-kogito-examples/issues/1989

For now, we may go ahead with this PR.

tkobayas commented 3 months ago

jenkins/pr-head: This error is being seen these days. Not related to this PR.

[2024-07-30T10:20:15.960Z] [ERROR] Tests run: 4, Failures: 0, Errors: 1, Skipped: 3, Time elapsed: 80.135 s <<< FAILURE! - in org.acme.AcmeExchangeResourceIT
...
[2024-07-30T10:20:15.960Z] Caused by: org.testcontainers.containers.ContainerLaunchException: Container startup failed for image quay.io/keycloak/keycloak:23.0.7
tkobayas commented 3 months ago

The setup-branch change might be affected by the dev ML discussion "[DISCUSS] Kogito Examples and Properties". But at the moment, it's safe to merge, I think.