Go to file
Torsten Rasmussen 64ec6ee3a3 scripts: build meta file workspace status extension
The PR #39382 raised a discussion on build reproducibility and knowledge
of west projects being out of sync with the west manifest.

Similar to how `git submodules` will report the working tree dirty if
any of the submodules HEAD points to a SHA different than the one
recorded in the super project.

Based on this discussion this commit extends the Zephyr build meta file
with overall workspace status included in the meta file.

It adds the following meta info to the build meta file:
> workspace:
>  dirty: false / true
>  extra: false / true
>  off:   false / true

A project using west and having an extra Zephyr module loaded not
controlled using git and a west project at a SHA different than the
SHA referenced by the manifest can look like:
zephyr:
  path: /.../zephyr
  revision: 863600cd0e
modules:
- name: mcuboot
  path: /.../bootloader/mcuboot
  revision: c61538748ead773ea75a551a7beee299228bdcaf
- name: local_module
  path: /.../local_module
  revision: null
west:
  manifest: /.../zephyr/west.yml
  projects:
  - path: /.../zephyr
    revision: 863600cd0e
  - path: /.../bootloader/mcuboot
    revision: c61538748ead773ea75a551a7beee299228bdcaf-off
  - path: /.../tools/net-tools
    revision: f49bd1354616fae4093bf36e5eaee43c51a55127
workspace:
  dirty: false
  extra: true
  'off': true

And without west:
zephyr:
  path: /.../zephyr
  revision: 863600cd0e
modules:
- name: hal_nordic
  path: /.../modules/hal/nordic
  revision: a6e5299041f152da5ae0ab17b2e44e088bb96d6d
- name: local_module
  path: /.../local_module
  revision: null
workspace:
  dirty: false
  extra: true

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-12-14 12:32:10 +01:00
.buildkite ci: Update to Zephyr SDK 0.13.2 2021-11-25 06:58:45 -05:00
.github ci: doc-build: skip Kconfig docs build on pull requests 2021-12-13 19:34:59 -05:00
arch x86: acpi: Fix address-of-packed-mem warning 2021-12-10 14:08:59 +01:00
boards boards: nrf: clean up DK board buttons in DTS 2021-12-13 20:41:33 -05:00
cmake cmake: use the correct property for the memory region name 2021-12-10 07:14:00 -06:00
doc doc: gptp: Add nucleo_f767zi and nucleo_h745zi_q as supported boards 2021-12-13 22:19:25 -05:00
drivers drivers: ethernet: stm32: PTP L2 timestamping support 2021-12-13 22:19:25 -05:00
dts dts: arm: npcx: Add PSL_IN3/4 for initial pin config 2021-12-13 20:37:28 -05:00
include kernel: add 'static' keyword to select routines 2021-12-13 17:21:58 -05:00
kernel kernel: add 'static' keyword to select routines 2021-12-13 17:21:58 -05:00
lib lib/os/heap: use BIT() and BIT_MASK() on bit fields 2021-12-13 17:16:07 -05:00
misc cmake: kconfig: fix issue if Kconfig symbol name contains lower case 2021-11-18 13:56:07 +01:00
modules modules: hal_gigadevie: add CEC and TSI drivers 2021-12-13 20:27:30 -05:00
samples samples: net: google_iot_mqtt: Change read publish to blocking 2021-12-14 12:30:59 +01:00
scripts scripts: build meta file workspace status extension 2021-12-14 12:32:10 +01:00
share cmake: check zephyr version if specified and ZEPHYR_BASE is set 2021-05-25 16:48:35 -05:00
soc soc: mimxrt685_evk: Fix usdhc driver build failure 2021-12-13 20:30:06 -05:00
submanifests west.yml: allow users to easily add more modules 2021-10-07 13:45:42 +02:00
subsys pm: device_runtime: Reset usage count on enable 2021-12-13 20:38:52 -05:00
tests tests: drivers: pwm_loopback: nucleo_h743zi: change PWM output pin 2021-12-13 20:34:13 -05:00
.checkpatch.conf checkpatch: Ignore IS_ENABLED_CONFIG warnings 2021-10-18 08:28:01 -04:00
.clang-format clang-format: Change lines length limit from 80 to 100 2021-05-06 08:13:32 -05:00
.codecov.yml
.editorconfig editorconfig: indent Kconfig files with tabs 2020-07-08 21:30:38 -04:00
.gitattributes gitattributes: consider SVG files generated 2021-10-14 12:42:44 -04:00
.gitignore gitignore: ignore macos DS_Store files 2021-11-03 16:14:20 -04:00
.gitlint gitlint: Make commit message line size be compatible with checkpatch.pl 2021-12-01 09:37:11 +01:00
.mailmap mailmap: update mailmap file with some stray emails 2021-06-17 14:15:41 -04:00
.uncrustify.cfg uncrustify: force a single EOF newline 2021-11-03 16:14:20 -04:00
CMakeLists.txt cmake: cleanup all intermediate build files. 2021-11-25 18:22:32 -05:00
CODE_OF_CONDUCT.md
CODEOWNERS doc: reference: promote the canbus subsystem documentation 2021-12-13 17:19:26 -05:00
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr scripts: build meta file workspace status extension 2021-12-14 12:32:10 +01:00
LICENSE
MAINTAINERS.yml doc: reference: promote the canbus subsystem documentation 2021-12-13 17:19:26 -05:00
README.rst doc: replace buildkite with github actions 2021-11-24 12:37:30 -05:00
VERSION VERSION: bump main branch to 2.7.99 2021-09-30 06:36:53 -04:00
version.h.in
west.yml west: Update hal_stm32 to 5ca535df5874d1f9ab931265a2b1f691b76df9ce 2021-12-13 22:19:25 -05:00
zephyr-env.cmd
zephyr-env.sh

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <img src="doc/_static/images/logo-readme.png">
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a
   href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain">
   <img
   src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM Cortex-M,
Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, and a large number of
`supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

* **Help**: `Asking for Help Tips`_
* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_)
* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main
  repository; https://elixir.bootlin.com/zephyr/latest/source contains a
  searchable index
* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases
* **Samples and example code**: see `Sample and Demo Code Examples`_
* **Mailing Lists**: users@lists.zephyrproject.org and
  devel@lists.zephyrproject.org are the main user and developer mailing lists,
  respectively. You can join the developer's list and search its archives at
  `Zephyr Development mailing list`_. The other `Zephyr mailing list
  subgroups`_ have their own archives and sign-up pages.
* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds
  The builds@lists.zephyrproject.org mailing list archives the CI nightly build results.
* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use
  this `Discord Invite`_ to register.
* **Contributing**: see the `Contribution Guide`_
* **Wiki**: `Zephyr GitHub wiki`_
* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues
* **Security Issues**: Email vulnerabilities@zephyrproject.org to report
  security issues; also see our `Security`_ documentation. Security issues are
  tracked separately at https://zephyrprojectsec.atlassian.net.
* **Zephyr Project Website**: https://zephyrproject.org

.. _Discord Invite: https://chat.zephyrproject.org
.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: http://docs.zephyrproject.org
.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: http://docs.zephyrproject.org/latest/getting_started/index.html
.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel
.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups
.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html
.. _Security: http://docs.zephyrproject.org/latest/security/index.html
.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/getting_started/index.html#asking-for-help