You need Java 21 or newer to build NoSQLBench.
To build NoSQLBench in its entirety, you simply need to run
mvn package
The steps needed to build the full nb binary are all self-contained within the Maven build mojo, including the following:
- Building all the maven modules
- Building the nb binary in nb/target/nb using AppImage.
- Building the guidebook app in docsys/src/main/resources/docsys-guidebook
- Building the static guidebook in nb/target/guidebook
- Exporting all the bundled markdown into nb/target/guidebook
The integration tests for NoSQLBench are run in the verify phase.
You can run these tests with mvn verify
. These tests are based
on invoking capsule-form scenario scripts and scrutinizing their
output. They can take quite a bit of time, but there is no substitute
for this level of testing, particularly for a tool that is used
to test other systems.
This project uses github actions to manage continuous integration. Below is a sketch of how the automation currently works.
The releases workflow is responsible for thie following:
- Build nb and nb.jar binaries and application content.
- Publish new nb.jar releases to maven via Sonatype OSSRH.
- Upload release assets to the newly published release.
- Upload updated docs to the github pages site for docs.nosqlbench.io
- (future) upload updated javadocs ot the github pages site for javadoc.nosqlbench.io/...
The build workflow simply builds the project and then verifies it in that order using the standard maven mojo.