Skip to content

Commit 2cf6042

Browse files
7 extend documentation (#8)
* updated current workflow naming convention, added truffhog scan workflow * added Code of conduct and Contribbution guideline documents * changed SQ workflow to manual only
1 parent e8a72e7 commit 2cf6042

7 files changed

+285
-7
lines changed

.github/CONTRIBUTING.md

+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# Contributing to a SiliconLabs open source project
2+
3+
You want to contribute to a Silicon Labs Open Source project? Welcome! Please read this document to understand what you can do:
4+
* [Help Others](#help-others)
5+
* [Analyze Issues](#analyze-issues)
6+
* [Report an Issue](#report-an-issue)
7+
* [Contribute Code](#contribute-code)
8+
9+
## Help Others
10+
11+
You can help the Silicon Labs open source projects by helping others who use them and need support.
12+
13+
## Analyze Issues
14+
15+
Analyzing issue reports can be a lot of effort. Any help is welcome!
16+
Go to [Issue tracker](https://github.com/SiliconLabsSoftware/bluetooth-AoA-example/issues?q=is%3Aopen+is%3Aissue) and find an open issue which needs additional work or a bugfix (e.g. issues labeled with "help wanted" or "bug").
17+
18+
Additional work could include any further information, or a gist, or it might be a hint that helps understanding the issue. Maybe you can even find and [contribute](#contribute-code) a bugfix?
19+
20+
## Report an Issue
21+
22+
If you find a bug - behavior of Silicon Labs Open Source projects code contradicting your expectation - you are welcome to report it.
23+
We can only handle well-reported, actual bugs, so please follow the guidelines below.
24+
25+
Once you have familiarized with the guidelines, you can go to the [Create an issue](https://github.com/SiliconLabsSoftware/bluetooth-AoA-example/issues/new) to report the issue.
26+
27+
### Quick Checklist for Bug Reports
28+
29+
Issue report checklist:
30+
* Real, current bug
31+
* No duplicate
32+
* Reproducible
33+
* Good summary
34+
* Well-documented
35+
* Minimal example
36+
37+
38+
### Issue handling process
39+
40+
When an issue is reported, a committer will look at it and either confirm it as a real issue, close it if it is not an issue, or ask for more details.
41+
42+
An issue that is about a real bug is closed as soon as the fix is committed.
43+
44+
45+
### Reporting Security Issues
46+
47+
If you find a security issue, please act responsibly and report it not in the public issue tracker, but directly to the CODE_OWNERS, so we can fix it before it can be exploited.
48+
49+
50+
### Usage of Labels
51+
52+
GitHub offers labels to categorize issues. We defined the following labels so far:
53+
54+
Labels for issue categories:
55+
* bug: this issue is a bug in the code
56+
* feature: this issue is a request for a new functionality or an enhancement request
57+
58+
Status of open issues:
59+
* help wanted: the feature request is approved and you are invited to contribute
60+
61+
Status/resolution of closed issues:
62+
* wontfix: while acknowledged to be an issue, a fix cannot or will not be provided
63+
64+
The labels can only be set and modified by committers.
65+
66+
67+
### Issue Reporting Disclaimer
68+
69+
We want to improve the quality of Silicon Labs Open Source projects and good bug reports are welcome! But our capacity is limited, thus we reserve the right to close or to not process insufficient bug reports in favor of those which are very cleanly documented and easy to reproduce. Even though we would like to solve each well-documented issue, there is always the chance that it will not happen - remember: these projects are open source and comes without warranty.
70+
71+
Bug report analysis support is very welcome! (e.g. pre-analysis or proposing solutions)
72+
73+
74+
## Contribute Code
75+
76+
You are welcome to contribute code to Silicon Labs Open Source projects in order to fix bugs or to implement new features.
77+
78+
There are three important things to know:
79+
80+
1. You must be aware that you need to sign a [CLA](https://en.wikipedia.org/wiki/Contributor_License_Agreement) in order for your contribution to be accepted. This is common practice in all major Open Source projects.
81+
2. There are **several requirements regarding code style, quality, and product standards** which need to be met (we also have to follow them). The respective section below gives more details on the coding guidelines.
82+
83+
84+
### Contribution Content Guidelines
85+
86+
These are some of the rules we try to follow:
87+
88+
- Apply a clean coding style adapted to the surrounding code, even though we are aware the existing code is not fully clean
89+
- Use (4)spaces for indentation (except if the modified file consistently uses tabs)
90+
- Use variable naming conventions like in the other files you are seeing (camelcase)
91+
- No console.log() - use logging service
92+
- Run the ESLint code check and make it succeed
93+
- Comment your code where it gets non-trivial
94+
- Keep an eye on performance and memory consumption, properly destroy objects when not used anymore
95+
- Write a unit test
96+
- Do not do any incompatible changes, especially do not modify the name or behavior of public API methods or properties
97+
98+
### How to contribute - the Process
99+
100+
1. Make sure the change would be welcome (e.g. a bugfix or a useful feature); best do so by proposing it in a GitHub issue
101+
2. Create a branch forking the cla-assistant repository and do your change
102+
3. Commit and push your changes on that branch
103+
4. In the commit message
104+
- Describe the problem you fix with this change.
105+
- Describe the effect that this change has from a user's point of view. App crashes and lockups are pretty convincing for example, but not all bugs are that obvious and should be mentioned in the text.
106+
- Describe the technical details of what you changed. It is important to describe the change in a most understandable way so the reviewer is able to verify that the code is behaving as you intend it to.
107+
5. If your change fixes an issue reported at GitHub, add the following line to the commit message:
108+
- ```Fixes #(issueNumber)```
109+
- Do NOT add a colon after "Fixes" - this prevents automatic closing.
110+
6. Create a Pull Request
111+
7. Follow the link posted by the Silicon Labs Open Source projects to your pull request and accept it, as described in detail above.
112+
8. Wait for our code review and approval, possibly enhancing your change on request
113+
- Note that the Silicon Labs Open Source projects developers also have their regular duties, so depending on the required effort for reviewing, testing and clarification this may take a while
114+
115+
9. Once the change has been approved we will inform you in a comment
116+
10. We will close the pull request, feel free to delete the now obsolete branch

.github/workflows/precommit.yml .github/workflows/00-Check.-Code-Convention.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Pre Commit check
1+
name: 00-Check.-Code-Convention
22
on:
33
push:
44
branches-ignore:
@@ -7,6 +7,7 @@ on:
77
pull_request:
88
branches:
99
- main
10+
- develop
1011
- "release/**"
1112
workflow_dispatch:
1213
inputs:

.github/workflows/cla_signature.yml .github/workflows/01-CLA-Assistant.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: "CLA Assistant"
1+
name: 01-CLA-Assistant
22
on:
33
issue_comment:
44
types: [created]

.github/workflows/software_build_test.yml .github/workflows/02-Build-Firmware.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
name: Build the software
1+
name: 02-Build-Firmware
22
on:
33
pull_request:
44
branches:
55
- main
6+
- develop
67
workflow_dispatch:
78
env:
89
ARCH: x86_64

.github/workflows/sonarqube.yml .github/workflows/03-SonarQube-Analysis.yml

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
name: SonarQube Analysis
1+
name: 03-SonarQube-Analysis
22

33
on:
4-
pull_request:
5-
branches:
6-
- main
4+
#It is an internal tool, it can only ran a self hosted runner. Currently it can be triggered only manually.
75
workflow_dispatch:
86

97

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: 04-TruffleHog-Security-Scan
2+
on:
3+
pull_request:
4+
branches:
5+
- main
6+
- develop
7+
workflow_dispatch:
8+
jobs:
9+
trufflehog_scan:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout code
13+
uses: actions/checkout@v4
14+
with:
15+
fetch-depth: 0
16+
- name: Secret Scanning
17+
uses: trufflesecurity/trufflehog@v3.84.0
18+
with:
19+
extra_args: --only-verified

CODE_OF_CONDUCT.md

+143
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# Silicon Labs open source projects Code of Conduct
2+
3+
Silicon Labs open source projects Code of Conduct applies to all those contributing
4+
to, participating in, or maintaining the Silicon Labs open source projects,
5+
including Connectivity Standards Alliance members and non-members.
6+
7+
# Contributor Covenant Code of Conduct
8+
9+
## Our Pledge
10+
11+
We as members, contributors, and leaders pledge to make participation in our
12+
community a harassment-free experience for everyone, regardless of age, body
13+
size, visible or invisible disability, ethnicity, sex characteristics, gender
14+
identity and expression, level of experience, education, socio-economic status,
15+
nationality, personal appearance, race, caste, color, religion, or sexual
16+
identity and orientation.
17+
18+
We pledge to act and interact in ways that contribute to an open, welcoming,
19+
diverse, inclusive, and healthy community.
20+
21+
## Our Standards
22+
23+
Examples of behavior that contributes to a positive environment for our
24+
community include:
25+
26+
- Demonstrating empathy and kindness toward other people
27+
- Being respectful of differing opinions, viewpoints, and experiences
28+
- Giving and gracefully accepting constructive feedback
29+
- Accepting responsibility and apologizing to those affected by our mistakes,
30+
and learning from the experience
31+
- Focusing on what is best not just for us as individuals, but for the overall
32+
community
33+
- Respecting people's privacy and private product plans
34+
35+
Examples of unacceptable behavior include:
36+
37+
- The use of sexualized language or imagery, and sexual attention or advances
38+
of any kind
39+
- Trolling, insulting or derogatory comments, and personal or political
40+
attacks
41+
- Public or private harassment
42+
- Publishing others' private information, such as a physical or email address,
43+
without their explicit permission
44+
- Other conduct which could reasonably be considered inappropriate in a
45+
professional setting
46+
- Disclosure of private information, unreleased products
47+
- Disclosure of unreleased specification information outside of Connectivity
48+
Standards Alliance approved forums
49+
50+
## Enforcement Responsibilities
51+
52+
Community leaders are responsible for clarifying and enforcing our standards of
53+
acceptable behavior and will take appropriate and fair corrective action in
54+
response to any behavior that they deem inappropriate, threatening, offensive,
55+
or harmful.
56+
57+
Community leaders have the right and responsibility to remove, edit, or reject
58+
comments, commits, code, wiki edits, issues, and other contributions that are
59+
not aligned to this Code of Conduct, and will communicate reasons for moderation
60+
decisions when appropriate.
61+
62+
## Scope
63+
64+
This Code of Conduct applies within all community spaces, and also applies when
65+
an individual is officially representing the community in public spaces.
66+
Examples of representing our community include using an official e-mail address,
67+
posting via an official social media account, or acting as an appointed
68+
representative at an online or offline event.
69+
70+
## Enforcement
71+
72+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
73+
reported to the community leaders responsible for enforcement at
74+
help@csa-iot.org. All submissions will be reviewed and investigated promptly and
75+
fairly.
76+
77+
All community leaders are obligated to respect the privacy and security of the
78+
reporter of any incident.
79+
80+
## Enforcement Guidelines
81+
82+
Community leaders will follow these Community Impact Guidelines in determining
83+
the consequences for any action they deem in violation of this Code of Conduct:
84+
85+
### 1. Correction
86+
87+
**Community Impact**: Use of inappropriate language or other behavior deemed
88+
unprofessional or unwelcome in the community.
89+
90+
**Consequence**: A private, written warning from community leaders, providing
91+
clarity around the nature of the violation and an explanation of why the
92+
behavior was inappropriate. A public apology may be requested.
93+
94+
### 2. Warning
95+
96+
**Community Impact**: A violation through a single incident or series of
97+
actions.
98+
99+
**Consequence**: A warning with consequences for continued behavior. No
100+
interaction with the people involved, including unsolicited interaction with
101+
those enforcing the Code of Conduct, for a specified period of time. This
102+
includes avoiding interactions in community spaces as well as external channels
103+
like social media. Violating these terms may lead to a temporary or permanent
104+
ban.
105+
106+
### 3. Temporary Ban
107+
108+
**Community Impact**: A serious violation of community standards, including
109+
sustained inappropriate behavior.
110+
111+
**Consequence**: A temporary ban from any sort of interaction or public
112+
communication with the community for a specified period of time. No public or
113+
private interaction with the people involved, including unsolicited interaction
114+
with those enforcing the Code of Conduct, is allowed during this period.
115+
Violating these terms may lead to a permanent ban.
116+
117+
### 4. Permanent Ban
118+
119+
**Community Impact**: Demonstrating a pattern of violation of community
120+
standards, including sustained inappropriate behavior, harassment of an
121+
individual, or aggression toward or disparagement of classes of individuals.
122+
123+
**Consequence**: A permanent ban from any sort of public interaction within the
124+
community.
125+
126+
## Attribution
127+
128+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
129+
version 2.1, available at
130+
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
131+
132+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
133+
enforcement ladder][mozilla coc].
134+
135+
For answers to common questions about this code of conduct, see the FAQ at
136+
[https://www.contributor-covenant.org/faq][faq]. Translations are available at
137+
[https://www.contributor-covenant.org/translations][translations].
138+
139+
[homepage]: https://www.contributor-covenant.org
140+
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
141+
[mozilla coc]: https://github.com/mozilla/diversity
142+
[faq]: https://www.contributor-covenant.org/faq
143+
[translations]: https://www.contributor-covenant.org/translations

0 commit comments

Comments
 (0)