1
1
# Building from Source
2
2
3
- You can use this command to clone the repository:
3
+ You can build the Raftify source code on macOS, Windows, and Linux.
4
+
5
+ Use this command to clone the repository,
4
6
5
7
```
6
8
❯ git clone --recursive https://github.com/lablup/raftify.git
@@ -12,14 +14,41 @@ If you already cloned it and forgot to initialize the submodules, execute the fo
12
14
❯ git submodule update --init
13
15
```
14
16
15
- # Development environment setup
17
+ # Development Environment Setup
18
+
19
+ ## Test
20
+
21
+ You can run the test codes of Raftify in parallel using [ nextest] ( https://github.com/nextest-rs/nextest ) .
22
+
23
+ To install ` nextest ` ,
16
24
17
- ## precommit hook setup
25
+ ```
26
+ ❯ cargo install cargo-nextest
27
+ ```
28
+
29
+ And run the tests by the following command.
30
+
31
+ ```
32
+ ❯ cargo nextest run
33
+ ```
34
+
35
+ ## ` precommit ` hook setup
18
36
19
37
You can use pre-commit hooks with the following configuration.
20
- This commit hook performs checks like cargo fmt and cargo clippy before committing.
38
+ This commit hook performs checks like ` cargo fmt ` and ` cargo clippy ` before committing.
21
39
22
40
```
23
41
❯ pip install pre-commit --break-system-packages
24
42
❯ pre-commit install
25
43
```
44
+
45
+ # Features
46
+
47
+ You can build Raftify with the following features.
48
+
49
+ By enabling or disabling the features below, you can include only the essential dependencies and source code in the build.
50
+
51
+ - ` inmemory_storage ` : In-memory log storage.
52
+ - ` heed_storage ` : [ Heed] ( `https://github.com/meilisearch/heed` ) log storage.
53
+ - ` rocksdb_storage ` : [ RocksDB] ( https://github.com/rust-rocksdb/rust-rocksdb ) log storage.
54
+ - ` tls ` : Enable TLS encryption for Raft server and client.
0 commit comments