| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
| |
Allows specifying option name/value tuples on the command line.
Also updated frontend for minor API changes with Project & Context
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Load the option definitions with the OptionPool
o Set the user selected project option values according to the passed Context
o Process conditionals in the loaded project configuration,
excepting for the project name and actual option definitions
o Removed a lot of examples from the default config.
This is getting moved into more structured documentation, and the
default config is only presented to the user beside the documentation
which describes what each thing means.
|
|
|
|
|
|
| |
Constructor now expects cli_options to be specified, and
now loading the project overrides supports the 'options'
for a given project.
|
|
|
|
|
|
|
|
|
| |
This sub package includes the OptionPool which is the buildstream
facing API for handling project options, loading them, evaluating
expressions based on options and pre-processing loaded YAML.
This also includes an abstract Option class and an implementation
for each supported option type.
|
|
|
|
| |
For handling failed jinja2 expression evaluation.
|
| |
|
|
|
|
|
|
|
|
|
| |
This leads to True booleans being evaluated for any string that
is not None, even when a string value is "False" or "false".
Instead, handle only "True", "true", "False" and "false" strings,
and raise an error if another string was specified for a boolean
value.
|
|
|
|
|
|
|
|
| |
Renamed _workspaces() -> _list_workspaces(), and changed local
cache of workspaces from __workspaces -> _workspaces.
We only really use the double underscore when there is a concern
for freeing up namespace for public subclassing.
|
| |
|
|
|
|
|
| |
This had changed when we added project variants and had to split
up the loading steps a bit, now all is back to normal without variants.
|
| |
|
|
|
|
| |
And construct the pipeline without any variant now.
|
|
|
|
|
| |
No more variants on `bst show` or when printing the pipeline
at session startup time.
|
| |
|
|
|
|
|
|
| |
This means we also revert back to the older, simpler one step
loading of the Project. This was broken into multiple steps since
we had introduced the project variants.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This was used to show which variants had been selected when
printing out the pipeline.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
* use official image builds rather than suggesting users build and
test their own
* remove the `-u $UID` and /etc/passwd mount options; these didn't
work on my system and I've not seen them needed
* add SYS_ADMIN capability, /dev/fuse mount and remove seccomp.
This reduces security but BuildStream does its own sandboxing
in any case.
In future we will add a wrapper script which should simplify the
instuctions further.
|
|
|
|
|
|
| |
The Docker image is now built from a separate repo at:
<https://gitlab.com/BuildStream/buildstream-docker-images>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This is merely a protection against crossing the project/context
wires together. The Project will gain knowledge of the context soon,
so it's better that the context itself remain without any knowledge
of the context.
|
|
|
|
|
| |
Consequently improved _yaml.node_sanitize() to omit a crazy lambda
which had no effect at all on the outcome of the function.
|
|
|
|
|
|
|
|
|
|
| |
All of the _yaml APIs which deal with a node (dictionary loaded
from YAML) are named _yaml.node_foo(), _yaml.node_bar(), _yaml.node_baz()
etc, except for this one glaring exception.
Also added a missing internal API documenting comment for _yaml.node_validate()
Also updated all callers to _yaml.validate_node() to now call _yaml.node_validate().
|
|
|
|
|
|
| |
This was incorrectly accessing the dictionaries directly without
the proper _yaml.node_get() APIs, it was also missing out on
validation of the artifact configuration.
|
|
|
|
|
|
|
| |
This is just a step towards making the per-project overrides a little
bit more comprehensive in the code base.
Also, validation was missing on the overrides entirely.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Fixes the previous commits which attempt to allow optionally
only installing bst-artifact-receive, which doesnt work, because pip.
|
|
|
|
|
|
|
|
|
|
| |
Two branches got developed at the same time:
* Tristan's cross-platform work
* my work on per-project overrides for artifacts-related options
Mine got merged first, and somehow this must have been missed in a
rebase.
|
| |
|
|
|
|
|
|
| |
A convenience to install `bst-artifact-receive` on an artifact server
that does not have the ostree and bubblewrap requirements to install
the main `bst` program.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building Python modules, a bytecode `.pyc` file is generated from
the source `.py` file.
The former contains 4 bytes representing the timestamp of the latter at
the time it was generated.
Unfortunately, after building OSTree sets all the file timestamps to 0,
which introduces a discrepency between the timestamp of the `.py` file
and the 4 bytes stored inside the `.pyc` file.
As a result, when running a Python module from a checkout, Python thinks
the bytecode files are stale, which causes a dramatic performance
penalty when starting an application.
Fixes #94
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|