A training course about practical systems software construction in Rust.
- This is my implementation of Projects 1 to 4 from the PingCAP Talent Plan PNA Course:
- TP 201: Practical Networked Applications in Rust. A series of projects that incrementally develop a single Rust project from the ground up into a high-performance, networked, parallel and asynchronous key/value store. Along the way various real-world Rust development subject matter are explored and discussed.
- It was also a good use-case to deep dive into GitHub Actions and see how it compares to GitLab CI.
- Project 1: The Rust toolbox
- Project 2: Log-structured file I/O
- Project 3: Synchronous client-server networking
- Project 4: Concurrency and Parallelism
Git Hooks are in the .hooks directory.
Run .hooks/enable
or .hooks/disable
to enable or disable them respectively.
The main hook is .hooks/pre-commit
:
- It is a script that is triggered by the
git commit
command. - It runs various commands in the script (similar to what is run in CI) to verify the files before completing the
git commit
command.- ℹ️ Some commands in the script check the files in the working directory, not only the files staged for commit.
- ℹ️ Ensure everything you want to commit is staged as they will be committed if the checks pass.
- To skip triggering this hook, append
-n
or--no-verify
to thegit commit
command you ran.