From 40dbc6e70e778d7638dabf56d7736a0dd3818164 Mon Sep 17 00:00:00 2001 From: ruben Date: Thu, 15 Sep 2022 22:34:40 +0200 Subject: [PATCH 1/6] document the duvet usage in h3 --- DUVET.md | 40 ++++++++++++++++++++++++++++++++++++++++ README.md | 11 +++++++++++ 2 files changed, 51 insertions(+) create mode 100644 DUVET.md diff --git a/DUVET.md b/DUVET.md new file mode 100644 index 00000000..e2e2623b --- /dev/null +++ b/DUVET.md @@ -0,0 +1,40 @@ +# Duvet +This is a guide to explain how [duvet][] is used in h3. + +[duvet]: https://crates.io/crates/duvet + +## General +Duvet tracks all keywords (MUST, MUST NOT, SHOULD, SHOULD NOT and MAY) from an RFC. +You can see those in the [report][] on the menu on the left side. There are all sections of the [spec][]. On each section the paragraphs with the keywords are highlighted. + +Duvet sees all citations of each of these paragraphs and their status. At the bottom of each section there is a summary of all the keywords with their status. + + +[spec]: https://www.rfc-editor.org/rfc/rfc9114 +[report]: https://hyper.rs/h3/ci/compliance/report.html#/ + +## Citations + +There are three ways to keep track of all the requirements: + +1. In line citations as comments in the source code +2. Citations in .toml files +3. Issues in the repository + + +The citations can be created with a click on the highlighted sections in the sections. +There are different citation types with different meanings. +### Citation +Standard citation in the source code where the requirement is implemented. + +### Implication +Citation where the related code is self-evident. + +### Test +Indicates that the related code is a test for the requirement. + +### Exception +Is the marker that the requirement is not applied to the crate. For example those which are applied to IANA registration. + +### Todo +Is the marker that the requirement still needs to be fulfilled. diff --git a/README.md b/README.md index bc9255e5..296760ca 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,17 @@ The eventual goal is to use `h3` as an internal dependency of [hyper][]. [hyper]: https://hyper.rs +### Duvet +This create uses the [duvet crate][] to check compliance of the [spec][]. +The generated [report][] displays the current status of the requirements of the spec. + +For more information see [duvet][] + +[duvet crate]: https://crates.io/crates/duvet +[spec]: https://www.rfc-editor.org/rfc/rfc9114 +[report]: https://hyper.rs/h3/ci/compliance/report.html#/ +[duvet]: DUVET.md + ## Features * HTTP/3 client and server implementation From a21bccc0547828d9506825183e2934c67f22456e Mon Sep 17 00:00:00 2001 From: ruben Date: Mon, 5 Dec 2022 19:45:45 +0100 Subject: [PATCH 2/6] rename --- DUVET.md => CONTRIBUTING.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename DUVET.md => CONTRIBUTING.md (100%) diff --git a/DUVET.md b/CONTRIBUTING.md similarity index 100% rename from DUVET.md rename to CONTRIBUTING.md From 4fea6b44ecda47b85a2300f9ba3a9e4d2cf731d1 Mon Sep 17 00:00:00 2001 From: ruben Date: Mon, 5 Dec 2022 19:47:37 +0100 Subject: [PATCH 3/6] implication --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e2e2623b..697fbfc7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,7 +28,7 @@ There are different citation types with different meanings. Standard citation in the source code where the requirement is implemented. ### Implication -Citation where the related code is self-evident. +Citation where the related code is self-evident. This means no Test is required. ### Test Indicates that the related code is a test for the requirement. From 20a9c859d47c05bc4570421ab7bca06a9ce0e250 Mon Sep 17 00:00:00 2001 From: ruben Date: Mon, 5 Dec 2022 19:59:19 +0100 Subject: [PATCH 4/6] readme link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 296760ca..0740a762 100644 --- a/README.md +++ b/README.md @@ -23,12 +23,12 @@ The eventual goal is to use `h3` as an internal dependency of [hyper][]. This create uses the [duvet crate][] to check compliance of the [spec][]. The generated [report][] displays the current status of the requirements of the spec. -For more information see [duvet][] +Get more information about this tool in the [contributing][] document. [duvet crate]: https://crates.io/crates/duvet [spec]: https://www.rfc-editor.org/rfc/rfc9114 [report]: https://hyper.rs/h3/ci/compliance/report.html#/ -[duvet]: DUVET.md +[contributing]: CONTRIBUTING.md ## Features From 37deca1458899378a4fad1d181bdcef54617e6d6 Mon Sep 17 00:00:00 2001 From: ruben Date: Mon, 5 Dec 2022 20:11:41 +0100 Subject: [PATCH 5/6] first paragraph --- CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 697fbfc7..64433533 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,5 +1,7 @@ +Thank you for the interest in contributing to `h3`. All important information are below. + # Duvet -This is a guide to explain how [duvet][] is used in h3. +In `h3` the [duvet][] crate is used in to check compliance of the [spec][]. [duvet]: https://crates.io/crates/duvet From 2e52fa18b44430428688bc006f4517c49c69f7d9 Mon Sep 17 00:00:00 2001 From: Ruben2424 <61056653+Ruben2424@users.noreply.github.com> Date: Tue, 6 Dec 2022 08:22:32 +0100 Subject: [PATCH 6/6] Update CONTRIBUTING.md Co-authored-by: Julian Eager --- CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 64433533..ce7f4638 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,7 +1,9 @@ Thank you for the interest in contributing to `h3`. All important information are below. # Duvet -In `h3` the [duvet][] crate is used in to check compliance of the [spec][]. +The [`duvet`][] crate is used in `h3` to track [spec][] compliance. +`duvet` does that via spec citations in the code, as customized comments. +The comments should be kept up-to-date with the code. [duvet]: https://crates.io/crates/duvet