Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Freeze to Zephyr's v4.1.0 release #306

Merged
merged 12 commits into from
Mar 21, 2025
Merged

Freeze to Zephyr's v4.1.0 release #306

merged 12 commits into from
Mar 21, 2025

Conversation

rexut
Copy link
Member

@rexut rexut commented Mar 19, 2025

This is a maintenance PR to freeze upstream Zephyr release on v4.1.0 tag together wit the TSN patches needed for ongoing Bridle v4.0.99 development (preparation for Bridle v4.1.0 release).

Zephyr v4.1 brings many changes to the documentation process. In addition to the automatically generated board/platform database already known from v4.0, a feature set for each board is now also generated for complete documentation with the help of Twister and the simple “Hello World” example. This process can quickly take up to an hour due to the constantly increasing number of supported boards (currently 900+).

The TURBO mode known from Zephyr upstream has now been integrated to avoid the waiting times for simple PRs at the documentation stage. In addition, a coverage report can now also be retrieved via the API documentation from the GH artifact store, for both Zephyr and Bridle.

It is related to #292 but many things still to do.

rexut added 2 commits March 19, 2025 02:23
As we are preparing support for Zephyr 4.1.0 this freez the
Zephyr version to v4.1.0 tag with following the TiaC's v4.1.0
branch for bug fixes and security updates.

Signed-off-by: Stephan Linz <[email protected]>
Respects our 4.1 development cycle, but Zephyr stable release.

Signed-off-by: Stephan Linz <[email protected]>
@rexut rexut added this to the v4.1.0 milestone Mar 19, 2025
@rexut rexut self-assigned this Mar 19, 2025
Copy link

You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds.

Note: This comment is automatically posted by the Documentation Publishing GitHub Action.

@rexut rexut force-pushed the next branch 2 times, most recently from b679e7c to c400be5 Compare March 19, 2025 08:46
rexut added 4 commits March 20, 2025 20:32
Instead of SPHINXOPTS_EXTRA the content of SPHINXOPTS_DEFAULT
have to be changed in dodgy mode.

Signed-off-by: Stephan Linz <[email protected]>
Add a Devicetree bindings turbo mode. In this mode, the Devicetree
bindings pages are not generated. Instead, a page with dummy symbols
is created. This takes ~1K pages out of the build, resulting in faster
builds. This mode can be useful while in development or CI PRs.

Signed-off-by: Stephan Linz <[email protected]>
Add HW_FEATURES_TURBO_MODE option to skip feature generation for faster
builds (similar to DT_TURBO_MODE). The feature can be disabled for faster
documentation builds using -DHW_FEATURES_TURBO_MODE=1 with cmake.

Signed-off-by: Stephan Linz <[email protected]>
- build: pyelftools to >=0.32
- build: nrf-regtool to >= 8.1 (interim solution)

- documentation: breathe to >=4.36
- documentation: doxmlparser to ~1.13
- documentation: pygments to ~2.19
- documentation: sphinxcontrib-svg2pdfconverter to ~1.3
- documentation: sphinx-notfound-page to ~1.1

Signed-off-by: Stephan Linz <[email protected]>
@rexut rexut linked an issue Mar 20, 2025 that may be closed by this pull request
rexut added 4 commits March 21, 2025 00:05
The following call has so far failed with all SYSBUILD-based
boards/platforms:

    export ZEPHYR_BASE=$(pwd)/zephyr && ${ZEPHYR_BASE}/scripts/twister \
        -T zephyr/samples/hello_world --all \
        -M --keep-artifacts zephyr/edt.pickle \
        --cmake-only --outdir twister-outdir && \
    unset ZEPHYR_BASE

Now the automatic Zephyr SDK version protection is now only
executed if SYSBUILD is not used.

Signed-off-by: Stephan Linz <[email protected]>
Make CI run on latest Ubuntu LTS so that default Python version
is effectively 3.12. This also allows to build the documentation
against latest Sphinx 8.2 release or above in the future, as it
dropped support for Python 3.10 or older.

Signed-off-by: Stephan Linz <[email protected]>
Instead of maintaining two lists, use the requirements file from
Zephyr upstream for installing compliance dependencies.

Signed-off-by: Stephan Linz <[email protected]>
Since Zephyr upstream documentation instantiate Twister for
board/hardware map creation all Python packages for running
tests have to be installed.

Signed-off-by: Stephan Linz <[email protected]>
Setup a fully working Zephyr workspace for Bridle so that
documentation steps that require e.g. building Zephyr or
Bridle apps have the ability to do so.

The "turbo" builds running on pull requests get a minimal
setup, with no toolchain being installed.

Signed-off-by: Stephan Linz <[email protected]>
@rexut rexut force-pushed the next branch 2 times, most recently from d7f456a to a8a4fe9 Compare March 21, 2025 06:52
Also API coverage reports to both PRs and main documentation site.

Signed-off-by: Stephan Linz <[email protected]>
Copy link
Contributor

@tobiaskaestner tobiaskaestner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm

@rexut rexut merged commit 42f73a1 into main Mar 21, 2025
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants