A firmware build can fail to reproduce even when the application repository has not changed. The cause may be a module, vendor HAL or other dependency that moved independently. Zephyr’s west manifest model exists to describe a workspace made up of multiple repositories and the revisions expected from each project.
Zephyr’s documentation explains that each manifest commit specifies the corresponding commits expected in the workspace’s project repositories. In practical terms, the manifest is part of the source configuration for a build—not just a setup file to run once on a developer’s laptop.
Why a moving branch is a hidden input
If a project follows a branch tip rather than a known revision, two builds made on different dates may use different dependency code. That difference can alter compiler results, APIs, generated files or runtime behavior. When a defect appears, teams then have to determine whether the application changed or a dependency moved underneath it.
Commit the manifest with the product source and review its changes like code. For release builds, record the exact manifest revision and the resolved project revisions used by the build. That gives QA, manufacturing and support teams a concrete source set to reproduce later.
A disciplined workspace workflow
- Initialize a workspace from the project’s maintained manifest repository.
- Use the documented west commands to fetch and update projects.
- Keep dependency changes explicit in reviewed manifest commits.
- Capture the resolved revisions for each release build.
- Re-run the build and test suite after updating the manifest, not just after editing application code.
Manifest imports and project groups can help organize larger workspaces, but they add structure that should be documented for the whole team. Avoid private local overrides that are not checked in, because they create “works on my machine” failures that are difficult to diagnose.
West does not replace a release process, artifact storage or test records. It gives those processes a better foundation: a versioned description of the repositories that made up the firmware workspace.
Sources
Featured image credit: Illustrative Raspberry Pi 4 photo by Laserlicht via Wikimedia Commons, CC BY-SA 4.0. Cropped to 16:9. Source.


Leave a Reply