[BuildStream] Proposal: BuildStream manifest file generation



Hi all,


This is a proposal to allow `bst build` or `bst checkout` to optionally produce a manifest file describing the collection of sources used to build the output. This will allow CI to be configured to produce a build manifest which can be referenced and compared against for releases.

This comes from a downstream issue in freedesktop and is also documented as buildstream issue #235.

Problem Statement
~~~~~~~~~~~~
BuildStream currently collects a collection of .bst files to configure and build a collection of artifacts. On a release, project maintainers may wish to provide a manifest of build sources, which currently means raking through a collection of .bst files for sources.

Proposed Solution
~~~~~~~~~~~
When `bst build` is supplied with an option "--build-manifest" it will produce a YAML dictionary containing the date/time of the build, the version of buildstream used, a collection of elements and their sources (name, url, ref).

This feature will be opt-in and therefore will not change the default behaviour of buildstream while still adding a useful feature for those users who choose to use it.

Alternatives
~~~~~~~
Alternatively to this solution, this functionality could be added to the proposed `bst artifact` subcommand as a way of listing the current artifacts within your project.

However I believe that producing a manfiest file from a build is more about having a reference of the contents of the build, what sources were used and what artifacts have been produced.

Cheers,
Josh (Qinusty)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]