Thank you for your interest in contributing to Apache EventMesh! This page gives a quick orientation for new contributors. For the full governance process (releases, PMC, voting), see the Apache EventMesh community site.
-
Read the EventMesh architecture guard if your change touches any of these modules:
eventmesh-commoneventmesh-runtimeeventmesh-spieventmesh-protocol-plugineventmesh-storage-plugineventmesh-connector-api/eventmesh-connector-runtimeeventmesh-connector-plugin/**
The guard runs in CI and fails on boundary violations. Local iteration:
./gradlew :eventmesh-architecture-guard:architectureCheck
-
If your change adds or modifies a storage plugin capability, update the Storage SPI capability matrix.
-
Make sure the build is green on your local:
./gradlew :eventmesh-storage-plugin:test ./gradlew check
- Sign off your commits (
git commit -sadds theSigned-off-by:trailer). - Use the PR template (auto-populated when you open a PR on GitHub).
- Reference the issue number with
Closes #NNNNso the issue is auto-closed on merge. - Wait for CI. The "Architecture Guard" check runs in parallel with the main Build job.
If you are introducing a new module (say eventmesh-foo):
- Add a
testImplementation project(':eventmesh-foo')line ineventmesh-architecture-guard/build.gradleif the new module's packages should be analysed. - Add an entry in the analysed-modules table in
docs/architecture-guard.md. - Add an
on: pull_request: paths:entry in.github/workflows/architecture-guard.ymlso violations are flagged on PR.
This project follows the Apache Code of Conduct.