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

samples: various: Add sysbuild configurations #13153

Merged
merged 38 commits into from
May 22, 2024
Merged

Conversation

nordicjm
Copy link
Contributor

@nordicjm nordicjm commented Nov 20, 2023

Adds sysbuild configurations to samples to check that they are building properly in CI

test-sdk-nrf: test_sysbuild

@github-actions github-actions bot added the changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. label Nov 20, 2023
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Nov 20, 2023

Test specification

CI/Jenkins/NRF

  • Integration Platforms

CI/Jenkins/integration

Test Module File based changes Manually selected West overwrite
desktop52_verification X X
test-fw-nrfconnect-apps X X
test-fw-nrfconnect-ble X X
test-fw-nrfconnect-ble_mesh X X
test-fw-nrfconnect-ble_samples X X
test-fw-nrfconnect-boot X X
test-fw-nrfconnect-chip X X
test-fw-nrfconnect-fem X X
test-fw-nrfconnect-nfc X X
test-fw-nrfconnect-nrf-iot_cloud X X
test-fw-nrfconnect-nrf-iot_libmodem-nrf X X
test-fw-nrfconnect-nrf-iot_lwm2m X X
test-fw-nrfconnect-nrf-iot_mosh X X
test-fw-nrfconnect-nrf-iot_nrf_provisioning X X
test-fw-nrfconnect-nrf-iot_positioning X X
test-fw-nrfconnect-nrf-iot_samples X X
test-fw-nrfconnect-nrf-iot_serial_lte_modem X X
test-fw-nrfconnect-nrf-iot_thingy91 X X
test-fw-nrfconnect-nrf-iot_zephyr_lwm2m X X
test-fw-nrfconnect-nrf_crypto X X
test-fw-nrfconnect-proprietary_esb X X
test-fw-nrfconnect-rpc X X
test-fw-nrfconnect-rs X X
test-fw-nrfconnect-tfm X X
test-fw-nrfconnect-thread X X
test-fw-nrfconnect-zigbee X X
test-low-level X X
test-sdk-audio X X
test-sdk-find-my X X
test-sdk-mcuboot X X
test-sdk-pmic-samples X X
test-sdk-sidewalk X X
test-sdk-wifi X X

test-fw-nrfconnect-chip: added because there was no .github/test-spec.yml in 'matter'
test-sdk-find-my: added because there was no .github/test-spec.yml in 'find-my'
test-sdk-sidewalk: added because there was no .github/test-spec.yml in 'sidewalk'
All integration tests: added because 'CI-all-test' was added manually
All integration tests: null

Detailed information of selected test modules

Note: This message is automatically posted and updated by the CI

@nordicjm nordicjm force-pushed the sbappspt7 branch 2 times, most recently from 482a2cb to d4018dd Compare November 20, 2023 12:52
@SebastianBoe
Copy link
Contributor

Can we do something more sophisticated than duplicating all of our test configs to regression-test sysbuild?

I'm concerned about the maintenance cost.

How long will we support both sysbuild and NCS child images?

@nordicjm
Copy link
Contributor Author

Can we do something more sophisticated than duplicating all of our test configs to regression-test sysbuild?

Like what?

I'm concerned about the maintenance cost.

How long will we support both sysbuild and NCS child images?

3.6 will include sysbuild, child/parent image might be deprecated at that point, at which point the entries in the sample/testcase yaml files can be removed

@SebastianBoe
Copy link
Contributor

SebastianBoe commented Nov 20, 2023

Like for instance if the

sysbuild: yes

entry caused two tests to be performed. One with and one without sysbuild.

"3.6 will include sysbuild, child/parent image might be deprecated at that point,"

I suppose we can live with the duplication if we are unable to develop something better.

@NordicBuilder
Copy link
Contributor

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.

@nordicjm
Copy link
Contributor Author

Like for instance if the

sysbuild: yes

entry caused two tests to be performed. One with and one without sysbuild.

"3.6 will include sysbuild, child/parent image might be deprecated at that point,"

I suppose we can live with the duplication if we are unable to develop something better.

At the moment, want both sets to run so that if there is a failure it can be pinpointed, this does have the unfortunate effect of increasing CI load/time. Then we should probably have a script that compares the output. Once we have 3.6 ready then maybe we will go back to having 1 set though, though all the CI tests will need to be updated to test with the sysbuild artifacts, I will begin communicating with those in charge of the tests about this soon.

@nordicjm nordicjm force-pushed the sbappspt7 branch 4 times, most recently from f27e85e to 0fb6aa0 Compare November 20, 2023 14:13
@SebastianBoe
Copy link
Contributor

I'm also concerned about CI response time.

Is the intention to double the CI twister runtime, or will only a selection of samples be enabled with sysbuild?

@nordicjm
Copy link
Contributor Author

I'm also concerned about CI response time.

Is the intention to double the CI twister runtime, or will only a selection of samples be enabled with sysbuild?

Adding sysbuild-equivalent samples/tests one by one and fixing/logging issues until they're all duplicated (with and without sysbuild). For example, the original run here showed we can't run native_posix or any qemu tests in ncs with sysbuild because it forces PM

@leewkb4567
Copy link
Contributor

leewkb4567 commented Nov 21, 2023

Gazell samples support nRF52 Series but not nRF5340. Are sysbuild tests beneficial for these single-core samples?

@shanthanordic shanthanordic requested a review from PerMac November 21, 2023 15:07
nordicjm and others added 22 commits May 22, 2024 13:30
Excludes partition manager for all nrf54h20dk board targets

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds support for outputting matter factory data using sysbuild

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Enables factory data output for sysbuild builds

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Renames the test to avoid a conflict with an MCUboot sysbuild
cmake file

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Switches to using SoCs instead of boards, this allows any nrf5340
or nrf91x-based board to make use of things like network core
images and secure boot

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds initial support for loading nRF700x patches from QSPI

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds initial sysbuild options for partition layout

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fixes an inconsistency with sysbuild's partition manager not
escaping variables that child/parent image would

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Updates find-my, sidewalk and zephyr to include sysbuild support

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a deprecation warning that describes that child/parent image
has been replaced with sysbuild and when the feature will be
removed entirely

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Changes from the deprecated build type to file suffix

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Changes from the deprecated build type to file suffix

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds support for generating an update zip file

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fixes b0 signing to work for both application and network core
images, and to only generate the dfu_mcuboot.zip if it is an
MCUboot image. Also fixes issues with custom signing which would
not use the correct public signing key and would emit a warning
about using debug keys

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Added support for Matter OTA firmware update to sysbuild.

Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
Queitens invalid warning messages that run at wrong times from
the child/parent image to sysbuild transition

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Use ncs-build image based on ubuntu 22.04. It contains gcc 11 needed for
twister tests on native simulator.

Signed-off-by: Jan Gałda <jan.galda@nordicsemi.no>
Removes child and parent image folders as these are no longer used

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds some child and parent image builds without sysbuild to ensure
features remain working until the feature is fully removed

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Only includes dummy values for the secure boot bootloader when
partition manager is disabled

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Added support for OT to sysbuild

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
Updates documentation to include changes with sysbuild

Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
Copy link

@shanthanordic shanthanordic left a comment

Choose a reason for hiding this comment

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

Approved with accepted failures

@rlubos rlubos merged commit 1581b56 into nrfconnect:main May 22, 2024
39 of 46 checks passed
gregersrygg added a commit to hello-nrfcloud/firmware that referenced this pull request May 24, 2024
Move the secondary app partition to external flash to free up more
internal flash.

Also added config to build using sysbuild, but this will not build
until nrfconnect/sdk-nrf#13153 is merged and
the nrf reference has been updated.

Signed-off-by: Gregers Gram Rygg <gregers.gram.rygg@nordicsemi.no>
gregersrygg added a commit to hello-nrfcloud/firmware that referenced this pull request May 29, 2024
Move the secondary app partition to external flash to free up more
internal flash.

Also added config to build using sysbuild, but this will not build
until nrfconnect/sdk-nrf#13153 is merged and
the nrf reference has been updated.

Signed-off-by: Gregers Gram Rygg <gregers.gram.rygg@nordicsemi.no>
@nordicjm nordicjm deleted the sbappspt7 branch November 6, 2024 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ble mesh Label for ble mesh PRbot. Add this if PR is related to ble mesh and you need to get review. changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. CI-all-test Run All integration tests CI-force-downstream doc-required PR must not be merged without tech writer approval. manifest manifest-find-my manifest-matter manifest-nrfxlib manifest-sidewalk manifest-zephyr wifi-qa-required Needs an Approval from Wi-Fi QA team before merging.
Projects
None yet
Development

Successfully merging this pull request may close these issues.