Commit Graph

160 Commits

Author SHA1 Message Date
Robert Lubos
f250080af6 doc: Add gmtime_r() to rule A.5 exceptions
According to commit 400c1fa744 which
introduced rule A.5 to the coding guidelines, the initial exception list
was based on the non-standard function availability in minimal libc.

gmtime_r() however, has not been included to the list, although it's
present in minimal libc since 3e8df8b369.

This commit fixes this, by adding gmtime_r() to the rule A.5 exception
list.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-02-28 00:54:42 +09:00
Alberto Escolar Piedras
ba81d439e4 doc coding_guidelines: Exclude host tooling from rule A.5
Rule A.5 is meant for code build with the embedded libCs and
which runs in embedded targets. Let's be more clear about this
and explicitly indicate that host tooling is not covered by it.
Otherwise, the current
"The "Zephyr codebase" in this context refers to all source
code files committed to the main Zephyr repository"
covers too much.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-30 18:00:48 +01:00
Johan Hedberg
c1dfa97960 doc: coding_guidelines: Update reference to Bluetooth language document
Update the reference to the Bluetooth Appropriate Language Mapping
Tables document. The link is now the same as the Bluetooth SIG website
uses.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2024-01-24 18:02:38 +01:00
Benjamin Cabé
de21b50002 doc: guidelines: drop mentions of Parasoft Codescan
Drop the section of the coding guidelines that's referring to Parasoft
Codescan as it's not used by the project anymore.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-01-23 10:02:39 +01:00
Grzegorz Ferenc
ae0ad38e6b doc: contribute: fix heading formatting
Fixed several headings in the contribute section that were not following
the documentation guidelines for headings.

Signed-off-by: Grzegorz Ferenc <Grzegorz.Ferenc@nordicsemi.no>
2024-01-07 18:41:16 +01:00
Flavio Ceolin
dd58f80fe2 doc: Static Analysis requirement
Sets static analysis  an indispensable requirement for our project
releases.

Static analysis is not merely a tool but a proactive
strategy to unearth and address potential issues in the early stages
of development, long before they mature into critical
vulnerabilities. By scrutinizing code at rest, static analysis unveils
latent defects and potential security risks, thus bolstering the
resilience of our software against future threats.

Fixes: #64591

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-01-02 10:09:14 +01:00
Andrej Butok
7536021599 doc: blobs: fix double 'command'
Fix double 'command' in the "Fetching blobs" chapter.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-12-04 16:39:32 +00:00
Anas Nashif
538abf3332 doc: clarify role of CODEOWNERS and MAINTAINERS files
Change docs to use MAINTAINERS file as the main file for managing code
areas and 'ownership'.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-16 08:19:15 -05:00
Andrej Butok
287b30eb78 doc: Fix double 'the'
Fix double 'the' in all .rst documentation.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2023-11-15 14:25:11 +00:00
Jordan Yates
ee57b56ba5 doc: contribute: instructions for local viewing of docs
Add instructions for serving the generated HTML docs on a local IP
address.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2023-11-07 09:54:22 +01:00
Anas Nashif
a6b490073e kernel: object: rename z_object -> k_object
Do not use z_ for internal structures and rename to k_object instead.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Fabio Baltieri
d89938f4b9 doc: guidelines: fix title level
Specialized driver requirements should have been one level up, it now
nests under "treewide".

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-31 16:33:04 +00:00
Anas Nashif
a6bfbedbf5 doc: project roles: Further finetune language
More details about roles and responsibilities and reviewer expectations.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-27 10:49:47 +02:00
Anas Nashif
8663449055 doc: reviewer expectations: minor optimizations
Minor layout and language optimization to the review expectations
document.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-27 10:49:47 +02:00
Anas Nashif
d8709301a2 doc: update technical escalation proccess
Update process for technical PR escalation.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-27 10:49:47 +02:00
Benjamin Cabé
92045a021e doc: guidelines: Clarify how code-block directive should be used
Correct a previous mistake indicating syntax highlighting is
autoguessed.

Add recommendations and samples around languages that documentation
authors are encouraged to use.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-23 14:32:39 +02:00
Fabio Baltieri
d933e7417f doc: guidelines: add a note about specialized drivers
Add a note about requirements for specialized drivers, clarifying the
requirements about using Zephyr APIs.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-20 15:19:58 +02:00
Flavio Ceolin
05fb54b090 doc: security: Update info about tools
Since there are multiple static analysis tools being used
now, it is better to change references for a particular one
and just point to static analysis section in the documentation.

JIRA is no longer used for tracking security issues. Update it
to Github.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-20 15:11:01 +02:00
Benjamin Cabé
edf9435a68 doc: guidelines: Properly highlight .rst snippets
This commit fixes syntax higlighting of all the reStructuredText
snippets in the documentation guidelines by setting default
higlighting language to rst.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-18 13:18:43 +03:00
Benjamin Cabé
6db5d84dbb doc: Improve "Contributing to Zephyr" landing page
The "Contributing to Zephyr" page used to be a simple table of contents
with pointers to sub-pages. This bland page was not very inviting to new
contributors, and provided little to no context as to what to expect in
each sub-section. This commit improves the landing page by implenmenting
the following changes:

- Remove auto toctree and replace with manually curated entries that
  provide more context about each sub-section.
- Add a section about the Zephyr Contributor Badge.
- Add a section about getting help, with links to Discord and dev
  mailing list.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-06 09:28:10 +02:00
Benjamin Cabé
620f6b9a6d doc: guidelines: remove stale mention to nightly builds
Drop the mention to nightly builds being posted to the build@ mailing
list.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-06 09:28:10 +02:00
Benjamin Cabé
3ba4b6f95b doc: Improve documentation guidelines intro
The intro of this document was starting to show its age. Simplified
some of the wording and added a reference to the documentation build
instructions.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-06 09:28:10 +02:00
Benjamin Cabé
f7f8acaf03 doc: remove instructions regarding numbered steps
"Numbered steps" were dropped a long time ago in a previous revamp of
the stylesheet, so dropping instructions related to them in the
documentation guidelines.

Also remove unecessary mention to "how to build the doc" as it's
already mentioned as a note at the top of the document.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-04 15:05:31 +01:00
Anas Nashif
f00b4a8a15 doc: modules: integration modes
Document integration modes of modules.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-01 09:21:50 +03:00
Benjamin Cabé
d30ec30a85 doc: guides: Update PDF output path
The zephyr.pdf file is to be found in _build/latex folder, not
_build/pdf.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-22 14:38:12 +01:00
Keith Short
abf26affe0 doc: Add instructions for installing Python dependencies
The Python dependencies specific to building the documentation were
recently removed from the common requirements. Point users to the
documentation generation instructions and provide details on installing
the doc specific dependencies.

Signed-off-by: Keith Short <keithshort@google.com>
2023-09-06 15:16:38 +02:00
Fabio Baltieri
bef540b178 doc: guidelines: add an item about avoiding binary literals
Add an item to the coding style list asking to avoid using binary
literals.

Link: https://github.com/zephyrproject-rtos/zephyr/issues/61798
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-08-24 10:21:12 +02:00
Benjamin Cabé
b667c2cd7e Revert "doc: Replace instances of 'Breathe' with 'Docleaf'"
This reverts commit 10cb87dc2b.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-08-24 09:19:37 +01:00
Carles Cufi
3d37cc3da9 doc: bin blobs: State that blobs will not be fetched in CI
As a follow-up to a recent discussion in the PR below:
https://github.com/zephyrproject-rtos/zephyr/pull/59991

document that binary blobs will not be fetched in CI.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-07-28 09:47:39 +00:00
Gerard Marull-Paretas
7f9215da0e doc: move requirements to doc/
Zephyr scripts do not require documentation dependencies, so let's
move them from scripts/ to doc/.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-07-12 09:13:49 -04:00
Michael Jones
10cb87dc2b doc: Replace instances of 'Breathe' with 'Docleaf'
Where valid.

Signed-off-by: Michael Jones <m.pricejones@gmail.com>
2023-07-03 10:05:52 +00:00
Alberto Escolar Piedras
eccefc4dcc doc: contribute external: Fix link and add if not Apache2
The link to the zephyr_licensing page was broken
=> fix it.

Also add a relatively evident if to the list:
There is no need to add an entry to the licensing
list if the integrated code is Apache 2.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-06-25 02:46:42 -04:00
Anas Nashif
c1e40bb3d5 templates: change template file namaes for proper sorting
prefix with numbers to get sorting based on usage. Most common files
issue types should come first, with bugs being at the top.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-08 07:32:45 -04:00
Anas Nashif
d17d28aa58 doc: add a section about coverity scans
Quick intro into static code analysis and scans.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-07 16:55:48 +02:00
Benjamin Cabé
84263962b0 doc: fixed stale link to sbs emulator
Fixed bad link reported by Sphinx linkchecker

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-06-07 04:40:47 -04:00
Stephanos Ioannidis
400c1fa744 doc: Add Zephyr codebase C standard library usage restriction rule
This commit adds the "Rule A.5: C Standard Library Usage Restrictions
in Zephyr Codebase" to the coding guidelines.

The initial list of allowed non-ISO C libc functions is based on the
non-ISO C functions available in the minimal libc.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-05-22 23:32:31 +09:00
Stephanos Ioannidis
fb93982348 doc: Add kernel C standard library usage restriction rule
This commit adds the "Rule A.4: C Standard Library Usage Restrictions
in Zephyr kernel" to the coding guidelines.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-05-22 23:32:31 +09:00
Simon Hein
1ba19f3fb6 doc: Reword coding guidline Stage 2 description
Reword the Stage 2 description part about starting sometime after
LTS2.

Signed-off-by: Simon Hein <Shein@baumer.com>
2023-05-18 15:15:03 -04:00
Fabio Baltieri
eec4b2336c doc: drop the topic branch references from the contribution guideline
Topic branches are not in widespread use and the details on how are
managed are being reworked.

Drop the topic branches reference (now being renamed "collab" branches)
from the contribution guideline and just ask to open PRs against main,
as that's the common case right now, saves first time users from having
to dig through the various branches in the repository.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-05-12 09:59:56 +02:00
Carles Cufi
0f3d63521b doc: external components: Add a section about the main manifest
Add a generic section that covers changes to the main manifest,
requiring those to have TSC approval.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-04-19 13:58:28 -04:00
Carles Cufi
eb3c286684 doc: external components: Introduce a section about external tooling
Since tools that are not software that is compiled into the final images
may have very different requirements from regular external components,
introduce a new section outlining the process and rules to introduce new
tools into the project.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-04-19 13:58:28 -04:00
Keith Short
942e4a38d2 docs: Move RFCs into a separate document
The RFC proposal documentation better belongs with the other
documentation related to contributing to the Zephyr project.

Signed-off-by: Keith Short <keithshort@google.com>
2023-03-06 21:59:23 +01:00
Keith Short
34165a3480 docs: Add Contributor Expectations document
Collect up all the contributor expectations and PR requirements into a
single place. Add additional guidelines about creating small PRs and how
to break up PRs into multiple commits.

Signed-off-by: Keith Short <keithshort@google.com>
2023-03-06 21:59:23 +01:00
Carles Cufi
d095f7d22f doc: coding guidelines: Add a new rule for macro name collisions
This commit is the outcome of the discussion that has taken place in
multiple forums:

Discord:
https://discord.com/channels/720317445772017664/1014241011989487716/1032623375228608522

GitHub:
https://github.com/zephyrproject-rtos/zephyr/issues/51371
https://github.com/zephyrproject-rtos/zephyr/pull/50239

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-02-22 09:39:57 -08:00
Keith Short
767972355f docs: Make 100 column limit for code explicit
Zephyr's coding style is based on the Linux kernel coding style, which
indicates a preferred limit of 80 columns. Zephyr's .clang-format sets
the ColumnLimit to 100. Update the documentation to match the
.clang-format parameters.

Signed-off-by: Keith Short <keithshort@google.com>
2023-02-21 13:05:54 -05:00
Marti Bolivar
4c9e5f7bf2 doc: contribute: improve "Commit Guidelines" section
The current content does have all the critical information, but you
have to read carefully to catch several important details. This makes
it less likely that people will be able to follow the rules, which
wastes maintainers' time in PRs from new contributors, since we have
to explain the details repeatedly.

Fix it by making the introduction shorter while still covering all the
bases, and adding details with more concrete examples in the following
subsections.

Keep some other text in the document up to date and fix some
cross-references as needed.

Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2023-02-08 15:03:56 -08:00
Anas Nashif
e5adeef105 doc: contribute: adapt twister section
Adapt twister section in the contribution guidelines.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-01-31 12:25:58 -08:00
Fabio Baltieri
7a9b019f46 doc: contribute: add a note about the GitHub "Update branch" feature
Add a note about the "branch out of date" and "Update branch" GitHub
feature. That message is confusing for new users and we often see people
losing approvals and introducing merge commits with it. Adding a note
in the contribution guidelines would hopefully help some.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-12-21 12:18:22 +01:00
Fabio Baltieri
f781788ece doc: contribute: drop the point about subsystem branches
There hasn't been any topic branch in widespread use. This point is
still relevant for backports or some advanced usage, but since this list
is meant to help contributor approaching the project it may be a good
idea to drop the point and make the list a tiny bit shorter and less
intimidating.

Instead, mention that main should be used "if unsure" in the previous
point.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-12-21 12:18:22 +01:00
Martí Bolívar
e041b2f5da doc: treewide change requirements
This pull request documents additional requirements for treewide
changes which were discussed at the process WG (see
issue #48886 for details).

These requirements apply to especially impactful changes. They exist
both to try to make sure the changes get enough review, and to give
users a heads-up mechanism about incoming treewide changes.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-11-02 14:33:56 +01:00