diff --git a/CLA.txt b/CLA.txt new file mode 100644 index 000000000000..09f24bc07dd7 --- /dev/null +++ b/CLA.txt @@ -0,0 +1,4 @@ +Thanks for your interest in contributing to Dragonfly™. By contributing to this project +in any way form or media you grant Attos Technologies Ltd. and its affiliates a perpetual, worldwide, non-exclusive, free of charge, royalty-free, irrevocable license to use, +modify, make available, reproduce, make derivatives, publicly display and perform, sublicense, sell, and distribute your contributions and any derivatives thereof as part of Dragonfly™. +You represent that You are legally entitled to grant the above license. You acknowledge that Attos currently distributes Dragonfly™ under the BSL license, and agree that your contribution may be distributed under BSL as part of Dragonfly™. You also represent that your contributions are your original work and that neither the content contributed, nor making the contribution to Dragonfly™ violates any third party’ rights. If you are making this contribution while being engaged by any other company or entity, please make sure you have the necessary permissions required to do so. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2561842b8494..10fa2c9b7b89 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,16 +4,24 @@ Thank you for your interest in Dragonfly DB. Feel free to browse our [Discussions](https://github.com/dragonflydb/dragonfly/discussions) and [Issues](https://github.com/dragonflydb/dragonfly/issues) -# Best Practices -## Fork and Clone the DragonflyDB repository +## Build from source + +See [building from source](./docs/build-from-source.md) + +Please note that in order to build development/debug version, +it's better to alter the configure and build steps above with: + +```sh +./helio/blaze.sh # without '-release' flag. Creates build-dbg subfolder +cd build-dbg && ninja dragonfly ``` -# Fork https://github.com/dragonflydb/dragonfly -# Clone from your fork -git@github.com:/dragonfly.git -cd dragonfly +## Before you make your changes + +```sh +cd dragonfly # project root # IMPORTANT! Enable our pre-commit message hooks # This will ensure your commits match our formatting requirements @@ -24,27 +32,12 @@ This step must be done on each machine you wish to develop and contribute from t Once you have done these things, we look forward to adding your contributions and improvements to the Dragonfly DB project. -## Build from source -``` -# to install dependencies -sudo apt install ninja-build libunwind-dev libboost-fiber-dev libssl-dev \ - autoconf-archive libtool cmake g++ - -# Configure the build -./helio/blaze.sh -release - -# Build -cd build-opt && ninja dragonfly - -# Run -./dragonfly --alsologtostderr -``` ## Unit testing ``` # Build specific test -cd build-opt && ninja [test_name] -# e.g cd build-opt && ninja generic_family_test +cd build-dbg && ninja [test_name] +# e.g cd build-dbg && ninja generic_family_test # Run ./[test_name] @@ -94,7 +87,6 @@ normalize formatting of code. You need to install and enable pre-commit to have when you do your own commits. ## License terms for contributions -This Project welcomes contributions, suggestions, and feedback. Dragonfly uses the BSL license. You represent that if you do not own copyright in the code that you have the authority to submit it under the BSL. All feedback, suggestions, or contributions are not confidential. - +Please see our [CLA agreement](./CLA.txt) -## THANK YOU FOR YOUR CONTRIBUTIONS \ No newline at end of file +## THANK YOU FOR YOUR CONTRIBUTIONS diff --git a/README.md b/README.md index 01795f87bca0..f12fcf5c4f48 100644 --- a/README.md +++ b/README.md @@ -101,25 +101,7 @@ We maintain [binary releases](https://github.com/dragonflydb/dragonfly/releases) ### Building from source -You need to install dependencies in order to build on Ubuntu 20.04 or later: - -```bash -git clone --recursive https://github.com/dragonflydb/dragonfly && cd dragonfly - -# to install dependencies -sudo apt install ninja-build libunwind-dev libboost-fiber-dev libssl-dev libxml2-dev \ - autoconf-archive libtool cmake g++ - -# Configure the build -./helio/blaze.sh -release - -# Build -cd build-opt && ninja dragonfly - -# Run -./dragonfly --alsologtostderr - -``` +See [building from source](./docs/build-from-source.md) for details. ## Configuration Dragonfly supports common Redis arguments where applicable. diff --git a/docs/build-from-source.md b/docs/build-from-source.md index 0a1bdb882cf4..bde2d993a6e8 100644 --- a/docs/build-from-source.md +++ b/docs/build-from-source.md @@ -7,9 +7,6 @@ but you can also run Dragonfly on older kernels as well. ### WARNING: Building from source on older kernels WILL NOT WORK. -If your host machine does not have at least `Linux verion 5.10` or later, we suggest you choose a [Dockerized Quick Start](/docs/quick-start/). - - ## Step 1 ```bash @@ -62,4 +59,4 @@ OK ## Step 6 -Continue being great and build your app with the power of DragonflyDB! \ No newline at end of file +Continue being great and build your app with the power of DragonflyDB!