Skip to content

Commit 688292c

Browse files
bors[bot]japaric
andcommitted
Merge #6
6: Add evaluation guidelines and instructions on how to submit a project r=adamgreig a=japaric The guidelines include all I can think of at the moment. We'll probably come up with more of them once start reviewing user submissions. And, maybe, in the future these guidelines could become a document on "good practices for structuring embedded applications". Q: Is there any additional information we'll like to request from the submitter, apart from the information in `data.yml` (see #5)? This information would be provided in the description of the pull request. If not then we don't need a pull request template as I suggested in #3. r? @rust-embedded/resources closes #3 closes #4 Co-authored-by: Jorge Aparicio <[email protected]>
2 parents ff01e60 + 2f188f9 commit 688292c

File tree

3 files changed

+94
-20
lines changed

3 files changed

+94
-20
lines changed

EVAL.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Evaluation guidelines
2+
3+
These are the guidelines used by the Resources team to evaluate project
4+
submissions.
5+
6+
## Hard requirements
7+
8+
The project must fulfill these requirements or it will be rejected.
9+
10+
- The main logic of the application must be written in Rust.
11+
12+
- The source code must be public. Licensing terms are unimportant.
13+
14+
## Bonus points
15+
16+
> N.B. A project repository may contain more than one crate. In those cases, one
17+
> (binary) crate will be the application, and the other crates will be libraries
18+
> and / or tools. In the review consider only the crates that are compiled for
19+
> the target device. One of these crates will be the application ("application
20+
> code") and the rest will be libraries ("support code").
21+
22+
Award points if
23+
24+
- The project is unlike the projects currently on display.
25+
26+
- The documentation includes instructions on how to build the program, or the
27+
firmware can be built with just `cargo build`.
28+
29+
- The repository has a CI setup.
30+
31+
- The application compiles on stable.
32+
33+
- The application code is free from `unsafe` code and all `unsafe` code has been
34+
pushed to libraries that only expose a safe API.
35+
36+
- Code that's not target specific, if any, has unit tests.
37+
38+
- Support code, if any, is documented.
39+
40+
## Penalties
41+
42+
Subtract points if
43+
44+
- The application contains potential soundness issues. For example, using
45+
`mem::transmute`, unchecked creation of singletons and unchecked use of
46+
`static mut` variables are huge red flags.
47+
48+
- Explicit panicking (e.g. `unwrap`) is used instead of proper error handling.
49+
However, note that `unreachable!` is OK if properly used.

README.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,25 @@ Awesome embedded projects by the Rust community!
44

55
This project is developed and maintained by the [Resources team][team].
66

7+
## Submit your project
8+
9+
First, read the [evaluation guidelines](./EVAL.md). The resources team will use
10+
these guidelines to evaluate your project, but you can also use the guidelines
11+
to improve your code and the structure of your project!
12+
13+
When you are ready send a pull-request that
14+
15+
- Adds information about your project at the end of `data.yml`. The file
16+
contains comments that will help you fill in the information; and
17+
18+
- Adds an image or videos of your project, if not using URLs, to the `assets`
19+
folder.
20+
21+
The resources team will review your submission and let you know if it has been
22+
accepted or not. If it doesn't get accepted this time but meets the hard
23+
requirements, we'll let you know how it can be improved so you can resubmit at a
24+
later date.
25+
726
## License
827

928
This project is distributed under the following licenses:
@@ -40,7 +59,6 @@ Copies of the licenses used by this project may also be found here:
4059
[Apache License v2.0 Hosted]: http://www.apache.org/licenses/LICENSE-2.0
4160
[CC-BY-SA v4.0 Hosted]: https://creativecommons.org/licenses/by-sa/4.0/legalcode
4261

43-
4462
### Contribution
4563

4664
Unless you explicitly state otherwise, any contribution intentionally submitted

data.yml

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,44 @@
1-
# Project name
1+
# NOTE If submitting a new project add it to the end of the list, before the template
2+
3+
# Dummy entry
24
- name: Lorem Ipsum
5+
website: https://example.org
6+
author: Alice
7+
author_website: https://github.com/ghost
8+
description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu pharetra purus. Sed laoreet lectus ut convallis molestie. Etiam suscipit vitae ante a finibus. Fusce aliquet viverra efficitur. Curabitur sit amet tellus risus."
9+
image: https://via.placeholder.com/900x675
310

4-
# Project website
11+
# Another dummy entry
12+
- name: Ipsum Lorem
513
website: https://example.org
14+
author: Bob
15+
author_website: https://github.com/ghost
16+
description: "Vivamus varius cursus aliquam. Praesent scelerisque, neque efficitur luctus pharetra, augue urna tempus lectus, at ullamcorper sem purus et enim. Nam urna eros, ornare quis mi posuere, aliquam egestas turpis. Suspendisse quis mi viverra, malesuada justo ullamcorper, blandit risus"
17+
image: https://via.placeholder.com/900x675
18+
19+
# Template for new entries
20+
21+
# Project name
22+
# - name: Lorem Ipsum
23+
24+
# Project website
25+
# website: https://example.org
626

727
# Author name or username
8-
author: Alice
28+
# author: Alice
929

1030
# Author's GitHub / Twitter profile or personal website
11-
author_website: https://github.com/ghost
31+
# author_website: https://github.com/ghost
1232

1333
# SHORT description of the project (max 280 characters)
14-
description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu pharetra purus. Sed laoreet lectus ut convallis molestie. Etiam suscipit vitae ante a finibus. Fusce aliquet viverra efficitur. Curabitur sit amet tellus risus."
34+
# description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu pharetra purus. Sed laoreet lectus ut convallis molestie. Etiam suscipit vitae ante a finibus. Fusce aliquet viverra efficitur. Curabitur sit amet tellus risus."
1535

1636
# Image of the project
1737
# if not a URL, place the file in the `assets` folder
18-
image: https://via.placeholder.com/900x675
38+
# image: https://via.placeholder.com/900x675
1939

2040
# OR a video of the project
2141
# multiple video formats can be supplied
2242
# if not a URL, place the file in the `assets` folder
2343
# video:
2444
# - ipsum.mp4
25-
26-
- name: Ipsum Lorem
27-
28-
website: https://example.org
29-
30-
author: Bob
31-
32-
author_website: https://github.com/ghost
33-
34-
description: "Vivamus varius cursus aliquam. Praesent scelerisque, neque efficitur luctus pharetra, augue urna tempus lectus, at ullamcorper sem purus et enim. Nam urna eros, ornare quis mi posuere, aliquam egestas turpis. Suspendisse quis mi viverra, malesuada justo ullamcorper, blandit risus"
35-
36-
# if not a URL, place the file in the `assets` folder
37-
image: https://via.placeholder.com/900x675

0 commit comments

Comments
 (0)