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

[incubator-kie-issues#1473] Introduce Transactional annotation, conditionally deleted #3671

Merged
merged 27 commits into from
Oct 3, 2024

Conversation

gitgabrio
Copy link
Contributor

@gitgabrio gitgabrio commented Sep 18, 2024

Fixes apache/incubator-kie-issues#1473

Depends on
apache/incubator-kie-drools#6090

This PR:

  1. define a property (kogito.processes.transactionEnabled) to conditionally enable transaction (default is true= enabled)
  2. implement code to conditionally add transactional annotation during code-generation
  3. implement code to insert thread delay for quarkus/createResource_ rest endpoints
  4. unit-test the above
  5. introduce small refactoring to allow method-specific unit-testing
How to replicate CI configuration locally?

Build Chain tool does "simple" maven build(s), the builds are just Maven commands, but because the repositories relates and depends on each other and any change in API or class method could affect several of those repositories there is a need to use build-chain tool to handle cross repository builds and be sure that we always use latest version of the code for each repository.

build-chain tool is a build tool which can be used on command line locally or in Github Actions workflow(s), in case you need to change multiple repositories and send multiple dependent pull requests related with a change you can easily reproduce the same build by executing it on Github hosted environment or locally in your development environment. See local execution details to get more information about it.

Gabriele-Cardosi added 2 commits September 17, 2024 17:23
…nd annotations with optional removal. Add unit tests. Small refactoring to allow unit testing/ TDD
…1473

# Conflicts:
#	kogito-codegen-modules/kogito-codegen-processes/src/main/resources/class-templates/RestResourceUserTaskQuarkusTemplate.java
#	kogito-codegen-modules/kogito-codegen-processes/src/main/resources/class-templates/RestResourceUserTaskSpringTemplate.java
Copy link
Contributor

@pibizza pibizza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor comments for tests.

Now the annotation is conditionally add during code generation.
@kie-ci3
Copy link
Contributor

kie-ci3 commented Sep 18, 2024

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-runtimes -u #3671 --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-runtimes-pr/job/PR-3671/1/display/redirect

Test results:

  • PASSED: 3059
  • FAILED: 31

Those are the test failures:

org.jbpm.bpmn2.IntermediateEventTest.testTimerBoundaryEventInterrupting
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testIntermediateCatchEventTimerDuration
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testEventBasedSplit2
expected: 2
but was: 1
org.kie.kogito.quarkus.workflows.AsyncAPIIT.testConsumer 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CallbackStateTimeoutsIT.callbackStateWithError 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CallbackStateTimeoutsIT.callbackStateTimeoutsSuccessful 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CallbackStateWithTimeoutsErrorHandlerIT.callbackStateWithError 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CompensationRestIT.testErrorRest2 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CustomRestIT.testCustomFunction 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.EmitEnumRPCGreetIT.testStateIsUnknown 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.EventFlowIT.testNotStartingMultipleEventTimeoutExclusive 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.EventTimedoutIT.testTimedout 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.ExpressionRestIT.testExpressionRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.GreetRestIT.testGreetRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.GreetRestIT.testGreetHiddenRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.GreetRestIT.testGreetUnknownRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.HelloWorldIT.testeEmptyBodyHelloWorld 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.MultipleTimerInstancesIT.eventStateTimeouts 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.OpenAPIArrayFlowIT.testArray 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.ParallelStateIT.testAllParallelRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.ParallelStateIT.testPartialParallelRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.PojoServiceIT.testPojo 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.RPCGreetIT.testDefaultLanguage 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.RetriggerIT.testRetrigger 1 expectation failed.
Expected status code <200> but was <404>.
org.kie.kogito.quarkus.workflows.SwitchStateDataConditionBasedIT.switchStateDataConditionEndApproved 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.SwitchStateDataConditionBasedIT.switchStateDefaultConditionEnd 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.SwitchStateDataConditionBasedIT.switchStateDefaultConditionTransition 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.SwitchStateEventConditionBasedIT.switchStateEventConditionTimeoutsTransition2Approved 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.SwitchStateEventConditionBasedIT.switchStateEventConditionTimeoutsTransitionApproved 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.integrationtests.quarkus.reactive.ProcessSvgAddonIT.testGetSvgProcessInstances 1 expectation failed.
Response body doesn't match expectation.
Expected: Expected namespace uri 'http://www.w3.org/2000/svg' but was 'null' - comparing at /svg[1]/defs[1] to at /svg[1]/defs[1]:

Actual:

EndStartProcessSecond Line Approval First Line Approval
org.kie.kogito.integrationtests.quarkus.ProcessSvgAddonIT.testGetSvgProcessInstances 1 expectation failed.
Response body doesn't match expectation.
Expected: Expected namespace uri 'http://www.w3.org/2000/svg' but was 'null' - comparing at /svg[1]/defs[1] to at /svg[1]/defs[1]:

Actual:

EndStartProcessSecond Line Approval First Line Approval

@kie-ci3
Copy link
Contributor

kie-ci3 commented Sep 18, 2024

PR job #2 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-runtimes -u #3671 --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-runtimes-pr/job/PR-3671/2/display/redirect

Test results:

  • PASSED: 2277
  • FAILED: 5

Those are the test failures:

org.jbpm.bpmn2.IntermediateEventTest.testTimerBoundaryEventInterrupting
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testIntermediateCatchEventTimerDuration
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testEventBasedSplit2
expected: 2
but was: 1
org.kie.kogito.process.dynamic.DynamicCallResourceTest.testConcurrentDynamicCalls java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step org.kie.kogito.quarkus.common.deployment.KogitoAssetsProcessor#generateModel threw an exception: org.kie.memorycompiler.KieMemoryCompilerException: [org/kie/kogito/serverless/DynamicWaitResource.java (53:39) : cannot find symbol
symbol: class Attachment
location: package org.kie.kogito.process.workitem, org/kie/kogito/serverless/DynamicWaitResource.java (54:39) : cannot find symbol
symbol: class AttachmentInfo
location: package org.kie.kogito.process.workitem, org/kie/kogito/serverless/DynamicWaitResource.java (55:39) : cannot find symbol
symbol: class Comment
location: package org.kie.kogito.process.workitem, org/kie/kogito/serverless/DynamicWaitResource.java (56:39) : cannot find symbol
symbol: class Policies
location: package org.kie.kogito.process.workitem, org/kie/kogito/serverless/DynamicWaitResource.java (140:30) : cannot find symbol
symbol: method getTasks(org.kie.kogito.process.Process,java.lang.String,org.kie.kogito.auth.SecurityPolicy)
location: variable processService of type org.kie.kogito.process.ProcessService]
at org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:140)
at org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:108)
at org.drools.quarkus.util.deployment.DroolsQuarkusResourceUtils.compileGeneratedSources(DroolsQuarkusResourceUtils.java:148)
at org.kie.kogito.quarkus.common.deployment.KogitoAssetsProcessor.createGeneratedBeanBuildItemsFromJavaSources(KogitoAssetsProcessor.java:301)
at org.kie.kogito.quarkus.common.deployment.KogitoAssetsProcessor.generateModel(KogitoAssetsProcessor.java:188)
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)
org.kie.kogito.svg.service.SpringBootProcessSvgServiceTest.annotateExecutedPathTest
Expecting value to be false but was true

Gabriele-Cardosi added 3 commits September 18, 2024 16:13
…ntextBuilders for rest-specific tests.

Enforced exclusion of "Java" context from processes' rest generation.
…oot-starter to be always available for springboot projects
@kie-ci3
Copy link
Contributor

kie-ci3 commented Sep 18, 2024

PR job #5 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-runtimes -u #3671 --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-runtimes-pr/job/PR-3671/5/display/redirect

Test results:

  • PASSED: 3294
  • FAILED: 28

Those are the test failures:

org.kie.kogito.quarkus.workflows.AsyncAPIIT.testConsumer 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.AsyncAPIIT.testPublisher 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CallbackStateWithTimeoutsErrorHandlerIT.callbackStateWithError 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CompensationRestIT.testErrorRest2 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CompensationRestIT.testErrorRest3 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.ConversationFlowIT.sanityVerification 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.EmitEnumRPCGreetIT.testStateIsUnknown 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.ErrorRestIT.testErrorRepeatedRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.ErrorRestIT.testErrorGenericRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.EventFlowIT.testNotStartingMultipleEventExclusive2 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.ForEachRestIT.testForEachWorkItem(String)[2] 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.GreetRestIT.testGreetRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.GreetRestIT.testGreetUnknownRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.HelloWorldIT.testeEmptyBodyHelloWorld 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.MultipleTimerInstancesIT.eventStateTimeouts 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.OpenAPIEnumParameterIT.test 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.PojoServiceIT.testPojo 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.RPCGreetIT.testEnglish 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.RetriggerIT.testRetrigger 1 expectation failed.
Expected status code <200> but was <404>.
org.kie.kogito.quarkus.workflows.SwitchStateDataConditionBasedIT.switchStateDataConditionEndApproved 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.SwitchStateDataConditionBasedIT.switchStateDataConditionTransitionDenied 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.SwitchStateEventConditionBasedIT.switchStateEventConditionTimeoutsEndTApproved 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.SwitchStateEventConditionBasedIT.switchStateEventConditionTimeoutsTransition2Approved
expected: "process_result_event_transition2"
but was: "process_result_event_condition_end"
org.kie.kogito.quarkus.workflows.SwitchStateEventConditionBasedIT.switchStateEventConditionTimeoutsTransitionApproved 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.integrationtests.quarkus.reactive.ProcessSvgAddonIT.testGetSvgProcessInstances 1 expectation failed.
Response body doesn't match expectation.
Expected: Expected namespace uri 'http://www.w3.org/2000/svg' but was 'null' - comparing at /svg[1]/defs[1] to at /svg[1]/defs[1]:

Actual:

EndStartProcessSecond Line Approval First Line Approval
org.kie.kogito.integrationtests.quarkus.ProcessSvgAddonIT.testGetSvgProcessInstances 1 expectation failed.
Response body doesn't match expectation.
Expected: Expected namespace uri 'http://www.w3.org/2000/svg' but was 'null' - comparing at /svg[1]/defs[1] to at /svg[1]/defs[1]:

Actual:

EndStartProcessSecond Line Approval First Line Approval
org.kie.kogito.svg.service.SpringBootProcessSvgServiceTest.annotateExecutedPathTest
Expecting value to be false but was true
org.kie.kogito.integrationtests.springboot.ProcessSvgAddonTest.testGetSvgProcessInstances 1 expectation failed.
Response body doesn't match expectation.
Expected: Expected namespace uri 'http://www.w3.org/2000/svg' but was 'null' - comparing at /svg[1]/defs[1] to at /svg[1]/defs[1]:

Actual:

EndStartProcessSecond Line Approval First Line Approval

@gitgabrio
Copy link
Contributor Author

Failures:

apache_incubator-kie-kogito-runtimes/quarkus/integration-tests/integration-tests-quarkus-processes/src/test/java/org/kie/kogito/integrationtests/quarkus/ProcessSvgAddonIT.java
apache_incubator-kie-kogito-runtimes/springboot/addons/process-svg/src/test/java/org/kie/kogito/svg/service/SpringBootProcessSvgServiceTest

Unrelated (already present here)

…gito-quarkus-workflow-common to be always available for quarkus projects
@kie-ci3
Copy link
Contributor

kie-ci3 commented Sep 19, 2024

PR job #6 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-runtimes -u #3671 --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-runtimes-pr/job/PR-3671/6/display/redirect

Test results:

  • PASSED: 2958
  • FAILED: 5

Those are the test failures:

org.jbpm.bpmn2.IntermediateEventTest.testTimerBoundaryEventInterrupting
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testIntermediateCatchEventTimerDuration
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testEventBasedSplit2
expected: 2
but was: 1
org.kie.kogito.svg.service.SpringBootProcessSvgServiceTest.annotateExecutedPathTest
Expecting value to be false but was true
org.kie.kogito.integrationtests.springboot.ProcessSvgAddonTest.testGetSvgProcessInstances 1 expectation failed.
Response body doesn't match expectation.
Expected: Expected namespace uri 'http://www.w3.org/2000/svg' but was 'null' - comparing at /svg[1]/defs[1] to at /svg[1]/defs[1]:

Actual:

EndStartProcessSecond Line Approval First Line Approval

@gitgabrio gitgabrio marked this pull request as ready for review September 19, 2024 15:24
@kie-ci3
Copy link
Contributor

kie-ci3 commented Sep 23, 2024

PR job #8 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-runtimes -u #3671 --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-runtimes-pr/job/PR-3671/8/display/redirect

Test results:

  • PASSED: 3281
  • FAILED: 41

Those are the test failures:

org.kie.kogito.quarkus.workflows.AsyncAPIIT.testConsumer 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CallbackStateTimeoutsIT.callbackStateWithError 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CallbackStateTimeoutsIT.callbackStateTimeoutsSuccessful 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CallbackStateTimeoutsIT.callbackStateTimeoutsExceeded 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CallbackStateWithTimeoutsErrorHandlerIT.callbackStateWithError 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.CallbackStateWithTimeoutsErrorHandlerIT.callbackStateTimeoutsSuccessful 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.EmitEnumRPCGreetIT.testStateIsUnknown 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.ErrorRestIT.testErrorRepeatedRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.ErrorRestIT.testErrorGenericRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.ErrorRestIT.testErrorRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.EventFlowIT.testNotStartingMultipleEventTimeoutExclusive 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.EventFlowIT.testNotStartingMultipleEventExclusive3 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.EventFlowIT.testNotStartingEventWorkflowTimeout 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.EventFlowIT.testNotStartingEvent 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.EventFlowIT.testNotStartingMultipleEvent 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.EventTimedoutIT.testTimedout 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.ForEachRestIT.testForEachWorkItem(String)[1] 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.GreetRestIT.testGreetRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.GreetRestIT.testGreetHiddenRest 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.HelloWorldIT.testNoBodyHelloWorld 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.HelloWorldIT.testEmptyWorkflowDataHelloWorld 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.KeepActiveIT.testEndIt 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.MultipleTimerInstancesIT.eventStateTimeouts 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.PojoServiceIT.testPojo 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.PojoServiceIT.testTypesPojo 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.RPCGreetIT.testEnglish 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.RPCGreetIT.testUnsupportedLanguage 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.RPCGreetIT.testDefaultLanguage 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.RPCGreetIT.testSpanish 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.RetriggerIT.testRetrigger 1 expectation failed.
Expected status code <200> but was <404>.
org.kie.kogito.quarkus.workflows.SwitchStateDataConditionBasedIT.switchStateDefaultConditionEnd 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.SwitchStateEventConditionBasedIT.switchStateEventConditionTimeoutsEndTApproved 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.SwitchStateEventConditionBasedIT.switchStateEventConditionTimeoutsTransition2Denied 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.SwitchStateEventConditionBasedIT.switchStateEventConditionTimeoutsTransitionApproved 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.SwitchStateEventConditionBasedIT.switchStateEventConditionTimeoutsTransition2TimeoutsExceeded 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.SwitchStateEventConditionBasedIT.switchStateEventConditionTimeoutsTransitionTimeoutsExceeded 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.quarkus.workflows.WorkflowEventIT.testWorkflowEvents 1 expectation failed.
Expected status code <201> but was <500>.
org.kie.kogito.integrationtests.quarkus.reactive.ProcessSvgAddonIT.testGetSvgProcessInstances 1 expectation failed.
Response body doesn't match expectation.
Expected: Expected namespace uri 'http://www.w3.org/2000/svg' but was 'null' - comparing at /svg[1]/defs[1] to at /svg[1]/defs[1]:

Actual:

EndStartProcessSecond Line Approval First Line Approval
org.kie.kogito.integrationtests.quarkus.ProcessSvgAddonIT.testGetSvgProcessInstances 1 expectation failed.
Response body doesn't match expectation.
Expected: Expected namespace uri 'http://www.w3.org/2000/svg' but was 'null' - comparing at /svg[1]/defs[1] to at /svg[1]/defs[1]:

Actual:

EndStartProcessSecond Line Approval First Line Approval
org.kie.kogito.svg.service.SpringBootProcessSvgServiceTest.annotateExecutedPathTest
Expecting value to be false but was true
org.kie.kogito.integrationtests.springboot.ProcessSvgAddonTest.testGetSvgProcessInstances 1 expectation failed.
Response body doesn't match expectation.
Expected: Expected namespace uri 'http://www.w3.org/2000/svg' but was 'null' - comparing at /svg[1]/defs[1] to at /svg[1]/defs[1]:

Actual:

EndStartProcessSecond Line Approval First Line Approval

…d serverless transaction. Disable transaction workaround.
@kie-ci3
Copy link
Contributor

kie-ci3 commented Sep 30, 2024

PR job #15 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-runtimes -u #3671 --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-runtimes-pr/job/PR-3671/15/display/redirect

Test results:

  • PASSED: 2281
  • FAILED: 1

Those are the test failures:

org.kie.kogito.process.dynamic.DynamicCallResourceTest.testConcurrentDynamicCalls io.quarkus.bootstrap.BootstrapException: Failed to create the application model for org.kie:kie-addons-quarkus-process-dynamic-integration-tests::jar:999-SNAPSHOTnull

@kie-ci3
Copy link
Contributor

kie-ci3 commented Sep 30, 2024

PR job #16 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-runtimes -u #3671 --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-runtimes-pr/job/PR-3671/16/display/redirect

Test results:

  • PASSED: 3318
  • FAILED: 4

Those are the test failures:

org.jbpm.bpmn2.IntermediateEventTest.testTimerBoundaryEventInterrupting
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testIntermediateCatchEventTimerDuration
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testEventBasedSplit2
expected: 2
but was: 1
org.kie.kogito.codegen.process.ProcessResourceGeneratorTest.testManageTransactionalEnabled(Builder)[1]
Expected size: 9 but was: 2 in:
[ProcessInstance<$Type$> pi = processService.createProcessInstance(process, businessKey, Optional.ofNullable(resource).orElse(new $Type$Input()).toModel(), httpHeaders.getRequestHeaders(), httpHeaders.getHeaderString("X-KOGITO-StartFromNode"));,
return Response.created(uriInfo.getAbsolutePathBuilder().path(pi.id()).build()).entity(pi.checkError().variables().toModel()).build();]

return new ProcessCodegen(context, processes);
}

protected static GeneratedInfo<KogitoWorkflowProcess> parseWorkflowFile(Resource r, KogitoBuildContext context) {
InternalResource resource = (InternalResource) r;
try (Reader reader = resource.getReader()) {
ServerlessWorkflowParser parser = ServerlessWorkflowParser.of(reader, WorkflowFormat.fromFileName(resource.getSourcePath()), context);
ServerlessWorkflowParser parser = ServerlessWorkflowParser.of(reader,
Copy link
Contributor

@fjtirado fjtirado Sep 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmmm, the formatter is changing this, curious ;), someone knows why?


rgs.add(processResourceGenerator);
//Creating and adding the ResourceGenerator for REST generation
if (!context().name().equals("Java")) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmmmm, this smells fishy (something a former boss used to say in reviews ;)), what was failing when the context is set to Java?

Copy link
Contributor Author

@gitgabrio gitgabrio Oct 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fjtirado I've been told that for "java" projects (i.e. not Quarkus nor Springboot) rest endpoints should not be generated.
@elguardian could you please confirm ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @gitgabrio is right, REST endpoints aren't generated for Java. There's not even a RestResourceJavaTemplate.

I think that this if is right, because otherwise there would be an exception thrown because of the missing template.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is a call in the context to check this already called if globably available. That should work. it search for rest classes in the classpath

execModelGen.className(),
applicationCanonicalName(),
trigger));
megs.computeIfAbsent(new ProcessCloudEventMeta(workFlowProcess.getId(), trigger),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same, the format changes are making difficult to review the PR

Copy link
Contributor

@fjtirado fjtirado left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are lot of format changes that I do not think should be there, can we check why many lines were split?
It seems a picky comment, but, for example, the only logic change in ProcessCodeGen file is the check of context to Java to avoid the rest generation, which looks a bit hacky and is somehow hidden by a lot of format changes.
I actually believe ProcessCodeGen file should not be modified by this PR.
Besides that, since the annotation generation is configurable, I feel the transaction module should be configurable too (and not added always, regardless the property value). Maybe this should have been designed as an addon.

* running before and the mapped ports are ready before running any test.
* This avoids connection issues with the container when using container managers that do the port mapping after the container has started.
*/
this.waitStrategy = new WaitAllStrategy()
Copy link
Contributor

@fjtirado fjtirado Sep 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is unrelated, isnt it?
Good fix anyway.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a good addition for developers not using Docker Desktop :D

@@ -45,6 +45,10 @@
<groupId>org.jbpm</groupId>
<artifactId>jbpm-quarkus</artifactId>
</dependency>
<dependency>
Copy link
Contributor

@fjtirado fjtirado Sep 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmmm,
should not be this dependency optional according to the PR description?
I mean, if transaction annotation generation is disabled, the dependency should not be there

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The transaction is enabled by default.
If a user want to disable it, it need to

  1. declare the kogito.processes.transactionEnabled=false
  2. manually exclude unwanted dependencies.

Gabriele-Cardosi added 2 commits October 1, 2024 09:01
…1473

# Conflicts:
#	kogito-test-utils/src/main/java/org/kie/kogito/testcontainers/KogitoPostgreSqlContainer.java
@kie-ci3
Copy link
Contributor

kie-ci3 commented Oct 1, 2024

PR job #17 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-runtimes -u #3671 --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-runtimes-pr/job/PR-3671/17/display/redirect

Test results:

  • PASSED: 2321
  • FAILED: 4

Those are the test failures:

org.jbpm.bpmn2.IntermediateEventTest.testTimerBoundaryEventInterrupting
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testIntermediateCatchEventTimerDuration
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testEventBasedSplit2
expected: 2
but was: 1
org.kie.kogito.codegen.process.ProcessResourceGeneratorTest.testManageTransactionalEnabled(Builder)[1]
Expected size: 9 but was: 2 in:
[ProcessInstance<$Type$> pi = processService.createProcessInstance(process, businessKey, Optional.ofNullable(resource).orElse(new $Type$Input()).toModel(), httpHeaders.getRequestHeaders(), httpHeaders.getHeaderString("X-KOGITO-StartFromNode"));,
return Response.created(uriInfo.getAbsolutePathBuilder().path(pi.id()).build()).entity(pi.checkError().variables().toModel()).build();]

@kie-ci3
Copy link
Contributor

kie-ci3 commented Oct 1, 2024

PR job #18 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-runtimes -u #3671 --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-runtimes-pr/job/PR-3671/18/display/redirect

Test results:

  • PASSED: 2086
  • FAILED: 4

Those are the test failures:

org.jbpm.bpmn2.IntermediateEventTest.testTimerBoundaryEventInterrupting
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testIntermediateCatchEventTimerDuration
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testEventBasedSplit2
expected: 2
but was: 1
org.kie.kogito.process.dynamic.DynamicCallResourceTest.testConcurrentDynamicCalls io.quarkus.bootstrap.BootstrapException: Failed to create the application model for org.kie:kie-addons-quarkus-process-dynamic-integration-tests::jar:999-SNAPSHOTnull

@kie-ci3
Copy link
Contributor

kie-ci3 commented Oct 1, 2024

PR job #19 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-runtimes -u #3671 --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-runtimes-pr/job/PR-3671/19/display/redirect

Test results:

  • PASSED: 2293
  • FAILED: 1

Those are the test failures:

org.kie.kogito.process.dynamic.DynamicCallResourceTest.testConcurrentDynamicCalls io.quarkus.bootstrap.BootstrapException: Failed to create the application model for org.kie:kie-addons-quarkus-process-dynamic-integration-tests::jar:999-SNAPSHOTnull

@gitgabrio
Copy link
Contributor Author

org.kie.kogito.process.dynamic.DynamicCallResourceTest.testConcurrentDynamicCalls failure unrelated.
Present also in other PR (e.g. here )

Copy link
Contributor

@pefernan pefernan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great job @gitgabrio. Just left a comment regarding the Java context check, but thast's just nip picking.

Thank you!

@@ -468,7 +472,7 @@ protected Collection<GeneratedFile> internalGenerate() {
svgs.keySet().stream().forEach(key -> storeFile(GeneratedFileType.INTERNAL_RESOURCE, "META-INF/processSVG/" + key + ".svg", svgs.get(key)));
}

if (context().hasRESTForGenerator(this)) {
if (!context().name().equals("Java") && context().hasRESTForGenerator(this)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

being picky, since we are repeating this check, maybe we could have it in a single place, but that's ok.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not 100% sure to follow.
The !context().name().equals("Java") check is done at line 357 and 475, but those refers to different things.
I kept the original structure, and the conditional execution based on context().hasRESTForGenerator(this) was already there.
If I remove the context().name().equals("Java") check at line 475, those REST_ENDPOINT would be generated also for Java: does this make sense ? Am I missing something ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry if I wasn't clear @gitgabrio I was refering to the context().name().equals("Java"), maybe we could have a single isJavaContext() method wrapping this, but this is just nip picking

*
*/
protected void manageTransactional(CompilationUnit compilationUnit) {
if (transactionEnabled && context.hasDI() && !process.getType().equals("SW")) { // disabling transaction for serverless
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd prefer having the "SW" check added in a different manner, but I think that's the only way to discriminate if we have to add Transactional annotations if sw and bpm coexist in the same project. +1

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SW is a constant provided already in the class path

Copy link
Contributor Author

@gitgabrio gitgabrio Oct 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pefernan @elguardian
I found that "by chance", during debugging, and I'm not extremely happy of that, too.
Following your comments, I refactored it a bit, but the logic is the same.
Let me know if there is a different/better way, I would be happy to implement it.

….hasRest() instead of name.equals("Java") to check for rest endpoint creation. Implemented MockQuarkusKogitoBuildContext and MockSpringBootKogitoBuildContext to override the hasRest method during tests.
@gitgabrio
Copy link
Contributor Author

@elguardian @pefernan @fjtirado
Fixed as per PR suggestion. Could you please check again ?

@kie-ci3
Copy link
Contributor

kie-ci3 commented Oct 2, 2024

PR job #20 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-runtimes -u #3671 --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-runtimes-pr/job/PR-3671/20/display/redirect

Test results:

  • PASSED: 2293
  • FAILED: 1

Those are the test failures:

org.kie.kogito.process.dynamic.DynamicCallResourceTest.testConcurrentDynamicCalls io.quarkus.bootstrap.BootstrapException: Failed to create the application model for org.kie:kie-addons-quarkus-process-dynamic-integration-tests::jar:999-SNAPSHOTnull

@kie-ci3
Copy link
Contributor

kie-ci3 commented Oct 2, 2024

PR job #21 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-runtimes -u #3671 --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-runtimes-pr/job/PR-3671/21/display/redirect

Test results:

  • PASSED: 2173
  • FAILED: 3

Those are the test failures:

org.jbpm.bpmn2.IntermediateEventTest.testTimerBoundaryEventInterrupting
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testIntermediateCatchEventTimerDuration
expected: 2
but was: 1
org.jbpm.bpmn2.IntermediateEventTest.testEventBasedSplit2
expected: 2
but was: 1

@elguardian elguardian self-requested a review October 3, 2024 08:36
@elguardian
Copy link
Contributor

failures unrelated to the PR.

Copy link
Contributor

@elguardian elguardian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@gitgabrio gitgabrio merged commit 070876f into apache:main Oct 3, 2024
4 of 6 checks passed
rgdoliveira pushed a commit to rgdoliveira/kogito-runtimes that referenced this pull request Oct 3, 2024
…tionally deleted (apache#3671)

* [incubator-kie-issues#1473] WIP - Implemented transactional imports and annotations with optional removal. Add unit tests. Small refactoring to allow unit testing/ TDD

* [incubator-kie-issues#1473] Simplified following suggestions.
Now the annotation is conditionally add during code generation.

* [incubator-kie-issues#1473] Implemented KogitoContextTestUtils#restContextBuilders for rest-specific tests.
Enforced exclusion of "Java" context from processes' rest generation.

* [incubator-kie-issues#1473] Set log level to debug inside manageTransactional

* [incubator-kie-issues#1473] Add spring-tx dependency to jbpm-spring-boot-starter to be always available for springboot projects

* [incubator-kie-issues#1473] Add quarkus-narayana-jta dependency to kogito-quarkus-workflow-common to be always available for quarkus projects

* [incubator-kie-issues#1473] Add quarkus-narayana-jta-deployment dependency

* [incubator-kie-issues#1473] Introduce nasty workaround (delay) to avoid ARJUNA issues with nested threads

* [incubator-kie-issues#1473] Disabling transaction for sonataflow-quarkus-integration-test

* [incubator-kie-issues#1473] Conditionally add the thread sleep. Fix kogito.processes.transactionEnabled variable

* [incubator-kie-issues#1473] Importing new wait strategy.

* [incubator-kie-issues#1473] WIP - Experimenting Thread.join inside transaction (instead of Thread.sleep)

* [incubator-kie-issues#1473] WIP - fix formatting

* [incubator-kie-issues#1473] WIP - commented out conditionally excluded serverless transaction. Disable transaction workaround.

* [incubator-kie-issues#1473] WIP - commented out conditionally excluded serverless transaction. Disable transaction workaround.

* [incubator-kie-issues#1473] Disabling transaction for serverless

* [incubator-kie-issues#1473] Fix formatting

* [incubator-kie-issues#1473] Fix test

* [incubator-kie-issues#1473] Fixed as per PR suggestion. Using context.hasRest() instead of name.equals("Java") to check for rest endpoint creation. Implemented MockQuarkusKogitoBuildContext and MockSpringBootKogitoBuildContext to override the hasRest method during tests.

---------

Co-authored-by: Gabriele-Cardosi <[email protected]>
@gitgabrio gitgabrio deleted the incubator-kie-issues#1473 branch October 7, 2024 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add transaction annotations to processes endpoints
7 participants