24 Commits

Author SHA1 Message Date
Frantisek Hrbata
8d248d8903 change(ci): disable MINIMAL_BUILD for check_public_headers.py
The check_public_headers.py script does not function well with
MINIMAL_BUILD enabled, as some headers from excluded components may be
missing. While it might be possible to address this issue with
exclusions, it is likely more effective and provides more coverage to
include all components, not just those required by the blink example.
Therefore, MINIMAL_BUILD has been disabled for this test, ensuring that
all registered components are included in the build. If defined, the
COMPONENTS variable takes precedence over the MINIMAL_BUILD property, so
setting "-DCOMPONENTS=" overrides the MINIMAL_BUILD property.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 20:14:40 +01:00
laokaiyao
a02b0c52e5 refactor(soc): sort esp32 soc headers 2024-09-23 09:46:36 +08:00
Alexey Lapshin
2dc4ca4fa6 fix(ci): ignore .section field for check_public_headers.py 2024-09-08 13:53:52 +07:00
David Cermak
4d40751158 fix(ci): Simplify and document public header checker
Documented specific checks/subchecks for header file verification
Simplified the process, now we use simple regex to remove macros from
the current header. Before, we re-ran preprocess_one_header()
function with removed `#include ...`s from the header under test, so
we were looking into the actual header (rather than included headers)
when checking for `extern "C"` keyword.
The procedure is easier to follow without this recursion (mostly because
in the second execution we might encounter compilation failers and
ignore them).
Note that this procedure is not 100% correct (we might see some false
positive and false negatives)
2024-04-04 08:45:15 +02:00
laokaiyao
01e3c85322 refactor(esp32c5): change beta3 path in esp_system and bootloader 2024-03-01 11:12:36 +08:00
laokaiyao
45a094367d change(doxyfile): move soc files to target specific doxygen
soc files relies on target variable, which not correct while there are multiple versions for one target
2024-03-01 10:16:45 +08:00
Jakob Hasse
8b9f8555ea refactor(tools): public header check also checks c++ now
* Also changed --only-dir argument to accept system-wide
  directories instead of directories from IDF root
2023-08-09 16:23:13 +08:00
David Cermak
cbff23cfdb ci: Fix false positive err-logs on static-assert check 2023-02-02 04:14:34 +00:00
wuzhenghui
a898c3ddc6 soc: regenerate modem header with regtool 2022-12-27 21:31:21 +08:00
Omar Chebib
43c03d95a4 CI: check_public_headers script will detect the use of static asserts in headers
When a public header contains _Static_assert or static_assert, check_public_headers.py script will detect it and report it as an issue.
Indeed, public headers shall now use ESP_STATIC_ASSERT.
2022-11-21 16:18:13 +08:00
Fu Hanxi
eb3be68b2a ci: fix syntax error 2022-07-27 11:11:09 +08:00
Fu Hanxi
f5cbe88c22 ci: fix no subtyping for type annotation in python3.7
https://peps.python.org/pep-0544/
2022-07-27 11:11:09 +08:00
simon.chupin
819d5a2b61 ci: Add python types hints 2022-07-22 21:15:01 +02:00
Ivan Grokhotkov
fefbf6a5b3
ci: check_public_headers: exclude sections generated on RISC-V target 2022-06-29 22:48:16 +02:00
Ivan Grokhotkov
28ac778099
ci: check_public_headers: run the build in a temporary directory
this allows running multiple builds for different targets
2022-06-29 22:47:02 +02:00
David Cermak
3ade0509c3 CI: Make public header checker print help/tips on failure
Also prints failing compilation command to the log
2022-01-03 09:34:21 +01:00
David Cermak
41706d8d54 CI: Make public header check verbose on *sll* failures 2022-01-03 09:34:21 +01:00
Roland Dobai
407053592e Drop support for unsupported Python versions 2021-06-21 21:48:49 +02:00
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Michael (XIAO Xufeng)
56403bd146 ci: define ESP_PLATFORM macro during public header check 2020-09-29 11:46:46 +02:00
David Cermak
48aa58268e CI: Public header check defines CI_HEADER_CHECK macro
This flags compilation checking in the CI so headers can use the macro to ignore specific compilation issues
2020-07-11 00:00:51 +08:00
Marius Vikhammer
11269df516 ci: fix check_public_headers.py failure with python3 due to non ascii chars
check_public_headers.py would fail when reading non-ascii chars on systems where
the default encoding was ascii.

Also fixes error handling issues, as any uncaught exeception would cause the program
to run indefinitely.
2020-06-09 11:01:42 +08:00
David Cermak
ce0c70770d ci: public header check to display error messages if verbose is off
Also added a command line option to reduce the analysis to a specific
directory only. This is useful for local execution for checking updated
headers with verbose flag set.
2020-04-09 07:44:55 +02:00
David Cermak
8f6645667e CI: public header check script in python
Additional test compiling the header to produce assembly:
- checks if header really compiles (previously validated only by
preprocessor)
- checks that the header produced empty object, no inline code to be
present in public headers

Closes IDF-1324
2020-03-13 12:53:52 +01:00