A Camunda BPM plugin that allows a BPMN Call Activity to dynamically call a child process or perform an asynchronous service call.
You can find the plugin code on the master branch.
This is a community extension and therefore not supported by Camunda as part of its commercial services to enterprise subscription customers.
To check if the plugin has some unexpected side effects to the process engine, you can run the complete engine test suite against a process engine that contains your plugin.
To do this, add the camunda-bpm-platform repository as a remote branch to your repository. Then add your plugin in all variants of camunda.cfg.xml to the engine(s) under test. You can find all configurations in subfolders on src/test/resources with the pattern *camunda*.cfg*.xml.
The steps to do the git branching are listed in details below.
There are several test branches using the Camunda engine test suite:
- engine-test-suite-with-child-processes
- engine-test-suite-without-child-processes
- engine-test-suite-with-child-processes-7.13.0
- engine-test-suite-without-child-processes-7.13.0
- engine-test-suite-with-child-processes-7.14.0
- engine-test-suite-without-child-processes-7.14.0
A GitHub action under maven.yml builds the plugin and runs all tests on GitHub after pushing any change.
- Clone this repository using
git clone [email protected]:camunda-consulting/on-demand-call-activity.git - Add Camunda BPM Platform as remote
git remote add camunda-bpm-platform [email protected]:camunda/camunda-bpm-platform.git - Repeat the following steps for all engine test suite branch variations, which are currently
engine-test-suite-with-child-processesandengine-test-suite-without-child-processes(replace the branch name and version numbers in the comands below):- Checkout branch
git checkout engine-test-suite-with-child-processes-7.13.0with the latest Camunda version - Ensure it is up to date
git pull - Create branch for new version
git checkout -b engine-test-suite-with-child-processes-7.14.0(replace 7.14.0 with the version you're updating to) - Pull new version
git pull camunda-bpm-platform 7.14.0 - If needed edit conflicts
git mergetooland commitgit merge --continue - Push new branch to GitHub
git push --set-upstream origin engine-test-suite-with-child-processes-7.14.0(old versions branches should be kept; replace 7.13.0 with the version you're updating to)
- Checkout branch
- Switch to master branch
git checkout master - Ensure it is up to date
git pull - Edit .github/workflows/maven.yml and add new branches to the matrix of the
testjob, e.g.
test:
needs: build
strategy:
matrix:
branch:
- engine-test-suite-with-child-processes
- engine-test-suite-without-child-processes
- engine-test-suite-with-child-processes-7.13.0
- engine-test-suite-without-child-processes-7.13.0
- engine-test-suite-with-child-processes-7.14.0
- engine-test-suite-without-child-processes-7.14.0- Push some change to
masterto trigger the build - Check test results
- Fix or
@Ignorefailing tests, push the changes, and re-run tests
- Checkout
git checkout engine-test-suite-with-child-processes - Do the change and
git commit && git push - Checkout
git checkout engine-test-suite-without-child-processes - Merge
git merge engine-test-suite-with-child-processes - If needed edit conflicts
git mergetooland commitgit merge --continue git push- Merge the changes into the other versions, e.g.:
- engine-test-suite-with-child-processes -> engine-test-suite-with-child-processes-7.13.0
- engine-test-suite-with-child-processes-7.13.0 -> engine-test-suite-with-child-processes-7.14.0
- engine-test-suite-without-child-processes -> engine-test-suite-without-child-processes-7.13.0
- engine-test-suite-without-child-processes-7.13.0 -> engine-test-suite-without-child-processes-7.14.0
- Push some change to
masterto trigger the build - Check test results