Contributing to Rebus

View Source

Create a feature branch and open a pull request against main. Before asking for review, run:

mix precommit

This compiles with warnings treated as errors, removes unused dependency locks, formats the project, runs Credo in strict mode, and runs the unit suite. The unit tests use an in-process test server.

Integration tests

The integration suite uses a real dbus-daemon and is excluded from the ordinary unit suite. On Linux with D-Bus installed, run:

dbus-run-session -- mix test --only integration

On other hosts, mix test.integration runs the same suite in the container defined by docker/Dockerfile and requires Docker. The suite skips when no session-bus address is available.

Documentation

Build the documentation with warnings treated as errors:

mix docs --warnings-as-errors