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

manifest: Matter applications versioning by VERSION file implemented #13476

Merged
merged 1 commit into from
Jan 18, 2024

Conversation

LipinskiPNordicSemi
Copy link
Contributor

@LipinskiPNordicSemi LipinskiPNordicSemi commented Dec 19, 2023

This commit introduces VERSION file to unify versioning

test_chip: PR-648

@github-actions github-actions bot added changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. doc-required PR must not be merged without tech writer approval. manifest labels Dec 19, 2023
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Dec 19, 2023

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff
matter nrfconnect/sdk-connectedhomeip@e54423d (master) nrfconnect/sdk-connectedhomeip#370 nrfconnect/sdk-connectedhomeip#370/files

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@github-actions github-actions bot removed the doc-required PR must not be merged without tech writer approval. label Dec 19, 2023
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Dec 19, 2023

Test specification

CI/Jenkins/NRF

  • Integration Platforms

CI/Jenkins/integration

Test Module File based changes Manually selected West overwrite
test-fw-nrfconnect-chip X

Detailed information of selected test modules

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

@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.

Copy link
Contributor

@kkasperczyk-no kkasperczyk-no left a comment

Choose a reason for hiding this comment

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

I would expect in this PR we should:

  • align all samples and applications to start using VERSION (if this is what we want to start recommending)
  • update documentation to describe both available solutions (Kconfig based and VERSION file based)
  • update release notes

@github-actions github-actions bot added doc-required PR must not be merged without tech writer approval. and removed changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. labels Dec 20, 2023
@LipinskiPNordicSemi LipinskiPNordicSemi force-pushed the ota_version branch 2 times, most recently from 278b311 to 5b4b343 Compare December 20, 2023 12:42
@LipinskiPNordicSemi LipinskiPNordicSemi force-pushed the ota_version branch 2 times, most recently from 774c356 to a6752ba Compare December 20, 2023 14:39
Copy link
Contributor

@kkasperczyk-no kkasperczyk-no left a comment

Choose a reason for hiding this comment

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

How about adding VERSION files to Matter bridge and weather station applications?

doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
samples/matter/light_bulb/VERSION Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
@LipinskiPNordicSemi LipinskiPNordicSemi force-pushed the ota_version branch 6 times, most recently from e5cf9c5 to 56d7f6f Compare January 3, 2024 08:20
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
@LipinskiPNordicSemi LipinskiPNordicSemi force-pushed the ota_version branch 2 times, most recently from bc1bbdf to 83768e0 Compare January 3, 2024 13:14
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
@LipinskiPNordicSemi LipinskiPNordicSemi force-pushed the ota_version branch 2 times, most recently from b502a7f to cd9bf13 Compare January 4, 2024 07:57
Comment on lines 10 to 17
Device Firmware Update (DFU) is the procedure of upgrading the application firmware version on a device.
For example, you can transfer the updated images to the device by:

* Upgrade over Bluetooth® Low Energy (LE).
* :ref:`Upgrade over Matter (Matter OTA)<ug_matter_overview_dfu>`, where the updates are sent over the Matter fabric.

Before creating and performing DFU, you need to prepare a proper versioning configuration.
Versioning can be maintained by creating a :ref:`VERSION<app-version-details>` file, or by using Kconfig options.
Copy link
Contributor

Choose a reason for hiding this comment

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

I wonder if we need description of DFU. At this point user is familiar with DFU procedure from the previous documentation pages.

What about to change this entire paragraph to something like this:

Suggested change
Device Firmware Update (DFU) is the procedure of upgrading the application firmware version on a device.
For example, you can transfer the updated images to the device by:
* Upgrade over Bluetooth® Low Energy (LE).
* :ref:`Upgrade over Matter (Matter OTA)<ug_matter_overview_dfu>`, where the updates are sent over the Matter fabric.
Before creating and performing DFU, you need to prepare a proper versioning configuration.
Versioning can be maintained by creating a :ref:`VERSION<app-version-details>` file, or by using Kconfig options.
To effectively deploy a Matter product, it is essential to implement application version management. This versioning is crucial for managing firmware upgrades on devices, and it is also displayed within ecosystem applications, as provided by the Basic Information cluster.
There are two primary approaches for maintaining versioning. It's important to note that these approaches should not be used simultaneously:
Utilizing a VERSION file, as detailed in the Zephyr Project documentation: [Zephyr Project Versioning](https://docs.zephyrproject.org/latest/build/version/index.html#). This method involves defining the version information in a specific file format.
Implementing dedicated Kconfig configurations. This approach uses Kconfig system configurations to set and manage the versioning details.
Choose the approach that best aligns with your project requirements and infrastructure.

* :kconfig:option:`CONFIG_CHIP_DEVICE_SOFTWARE_VERSION` to set to the version number.
* :kconfig:option:`CONFIG_CHIP_DEVICE_SOFTWARE_VERSION_STRING` to set the version string.

Additionally, since Nordic chips use MCUboot Image Tool, you need to also edit the :kconfig:option:`CONFIG_MCUBOOT_IMGTOOL_SIGN_VERSION` Kconfig option, with a value in the following format: ``"MAJOR . MINOR . PATCHLEVEL . TWEAK"``.
Copy link
Contributor

Choose a reason for hiding this comment

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

One more comment.. Here i do see " . (dot) TWEAK" but in below examples, i do see "+" sign. Maybe all is fine, but it might be confusing.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point, I didn't catch that

@LipinskiPNordicSemi LipinskiPNordicSemi force-pushed the ota_version branch 2 times, most recently from 0921618 to ef0a119 Compare January 4, 2024 12:25
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
doc/nrf/protocols/matter/end_product/versioning.rst Outdated Show resolved Hide resolved
This commit introduces VERSION file to unify matter versioning

Signed-off-by: Patryk Lipinski <[email protected]>
@doublemis1 doublemis1 removed the DNM label Jan 18, 2024
@nordicjm nordicjm merged commit fcf24d7 into nrfconnect:main Jan 18, 2024
14 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc-required PR must not be merged without tech writer approval. manifest manifest-matter
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants