From 7e62227e995ca7c2eafa41a36ae64fefdf0dc212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20=E2=80=9Cpep=E2=80=9D=20Buquet?= Date: Mon, 4 Dec 2023 01:35:43 +0100 Subject: [PATCH] Readme: New Building and Contributing section. Fix #101 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks moparisthebest for typos Signed-off-by: Maxime “pep” Buquet --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/README.md b/README.md index 1f3df7a0..17aa9bb9 100644 --- a/README.md +++ b/README.md @@ -25,3 +25,52 @@ License ------- Mozilla Public License 2 (MPL2). See the LICENSE file. + +Building +-------- + +Dependencies should be provided by crates if you use the default features. If +you use tokio-xmpp's `tls-native` feature you will need an ssl library +(openssl, libressl, etc.). + +``` +cargo build +``` + +The various features available should be explained in the crates themselves. + +Contributing +------------ + +Thank you for your interest in the project! + +We recommend you come and talk to us in the channel and/or open an issue +before you start working on a feature, to see if it aligns with our goals. + +The library is still in development, and while this is the case we adopt a +fail-fast strategy, which is also a reason for the choice of the language. + +The earlier we catch bugs and fix them, the less chances they have to confuse +users of our library, or make end-users give up on software developed using +this library. This also helps improving other software in the ecosystem. + +Code changes should try to include documentation as possible. They should also +include tests where appropriate, and pass the existing test suite. + +CI should pass to submit your changes. This is done by ensuring `cargo fmt` +and `cargo test` pass (in the workspace). + +More thorough tests can be done locally with `act exec` or `forgejo-runner +exec`, which is also what is run in the CI. We require docker to be setup for +this to work. + +Merge requests can contain as many commits as necessary, but commits should be +kept rather small and meaningful (not include too many different things). + +Do not forget to update changelogs and other crate metadata where necessary. + +Signing commits (`git commit -S`) and adding DCO bits (`git commit -s`) are +welcome but not mandatory. + +We'll do our best to review and discuss changes with you but we're also humans +with other activities, please be patient with us.