basho / riak_kv

Riak Key/Value Store
648 stars 230 forks source link

[[https://github.com/basho/riak_kv/actions][Build Status]] - [[https://github.com/basho/riak_kv/actions/workflows/erlang.yml/badge.svg?branch=develop-3.0]]

Riak KV is an open source Erlang application that is distributed using the [[https://github.com/basho/riak_core][riak_core]] Erlang library. Riak KV provides a key/value datastore and features MapReduce, lightweight data relations, and several different client APIs.

** Quick Start You must have [[http://erlang.org/download.html][Erlang/OTP 20 or 22]] or later and a GNU-style build system to compile and run =riak_kv=. The easiest way to utilize riak_kv is by installing the full Riak application available on [[https://github.com/basho/riak][Github]].

** Contributing We encourage contributions to =riak_kv= from the community.

1) Fork the =riak_kv= repository on [[https://github.com/basho/riak_kv][Github]]. 2) Clone your fork or add the remote if you already have a clone of the repository.

+BEGIN_SRC shell

git clone git@github.com:yourusername/riak_kv.git

or

git remote add mine git@github.com:yourusername/riak_kv.git

+END_SRC

3) Create a topic branch for your change.

+BEGIN_SRC shell

git checkout -b some-topic-branch

+END_SRC

4) Make your change and commit. Use a clear and descriptive commit message, spanning multiple lines if detailed explanation is needed. 5) Push to your fork of the repository and then send a pull-request through Github.

+BEGIN_SRC shell

git push mine some-topic-branch

+END_SRC

6) A Basho engineer or community maintainer will review your patch and merge it into the main repository or send you feedback.

** Testing

+BEGIN_SRC shell

standard tests

./rebar3 do xref, dialyzer, eunit

property-based tests

./rebar3 as test eqc --testing_budget 600

+END_SRC

For a more complete set of tests, update riak_kv in the full Riak application and run any appropriate [[https://github.com/basho/riak_test/tree/develop-3.0/groups][Riak riak_test groups]]