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-processes
andengine-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.0
with 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 mergetool
and 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
test
job, 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
master
to trigger the build - Check test results
- Fix or
@Ignore
failing 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 mergetool
and 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
master
to trigger the build - Check test results