| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Test this at `bst track` time, when encountering a new ref which
adds a .gitmodules file but does not actually add the submodule,
we check that the expected warning is in the stderr and that BuildStream
does not error out for this.
|
|
|
|
| |
To write tests which add and commit a file.
|
|
|
|
|
|
|
|
|
| |
If a submodule is listed in either the buildstream git source
definition, or in the .gitmodules file; but is not a valid submodule
which was added with `git submodule add`, we now emit a warning
and avoid exploding in the user's face.
This fixes issue #299
|
|
|
|
|
| |
These messages have been silenced more reliably already
in Source._update_state(), using the Context._silence() context manager.
|
|
|
|
|
|
| |
This needs to yield in a try: block, otherwise messages
remain silenced after an exception passes through this
context manager.
|
|
|
|
|
|
|
|
|
|
| |
Added a test that handled errors are reported at load time as expected.
Added another test that we get the expected exception. This needs to
be fixed, test contains FIXME: comment explaining that we could be
doing much better here.
This should be fixed in the context of issue #197
|
|
|
|
|
|
| |
This tests that we handle errors from Source.get_consistency() in the
post tracking state updates gracefully, one test added for a handled
failure, and another test added for an unhandled/unexpected exception.
|
|
|
|
|
|
|
|
|
| |
When errors occur after having processed an element, leaving these
unhandled results in a stack trace that is partially covered up by
the status area, and a hang is caused because we fail to update the
queues properly with the failed element.
This greatly improves the situation for issue #197
|
|
|
|
|
|
|
|
|
|
| |
We need to distinguish between:
o Errors which occurred in a task, and are related to a log file
and an elapsed time.
o Errors which occurred in the main process and are not related
to any timed activity
|
|
|
|
|
|
|
| |
The new version today 1.7.2 causes the following build error:
Warning, treated as error:
/builds/BuildStream/buildstream/dist/buildstream/doc/source/buildstream.sandbox.rst:document isn't included in any toctree
|
|
|
|
| |
This was a regression from the project.refs branch recently landed.
|
|
|
|
| |
So we can report proper processed status from tracking queues
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Move artifacts from Installing section to general documentation
This change is needed to make the TOC work correctly with the
new theme
|
|
|
|
|
| |
The sphinx_rtd_theme is a sphinx theme designed to look modern and be mobile-friendly
http://sphinx-rtd-theme.readthedocs.io/en/latest/index.html
|
|
|
|
|
|
|
|
| |
The docstring included instructions on what it *should* be used for,
which is unnecessary.
Further, it was vague on what the element actually did. The new
docstring should be more explicit on what it does.
|
|
|
|
|
|
|
|
|
|
|
| |
The Source object previously stored the __origin_node,
__origin_toplevel and __origin_filename, this is from a time
when we did not hold on to the plugin's Provenance object
explicitly.
Since this information comes from the same place, let's just
use Plugin._get_provenance() to derive these values, instead
of redundantly carrying them along separately.
|
|
|
|
| |
Also announce --track-save deprecation
|
|
|
|
|
|
|
|
|
| |
o Adding explanation of the `ref-storage` option in project.conf
o Adjusting some adjacent relevant documentation
o Adding a new projectrefs.rst section for the project.refs
format itself, and linking it from the main authoring page.
|
|
|
|
|
|
|
|
| |
o Test that this fails gracefully when the toplevel project uses
inline ref-storage
o Test that we successfully track cross junctioned elements when
the project uses project.refs
|
|
|
|
|
|
|
| |
Tests that `bst track` sets the ref in the expected node if the
node containing the ref is conditionalized with a project option.
This tests both the regular inline behavior, and also the project.refs behavior.
|
|
|
|
|
|
| |
Only added condition to the simplest case here, the other cases
are mostly testing that track commands get the correct selection
of elements when using `--deps all` and `--except` arguments.
|
|
|
|
|
| |
In order to test tracking on multiple branches, lets use
the Git repo scaffolding.
|
|
|
|
| |
project.refs
|
|
|
|
|
|
| |
Test that we have no error when loading a project that doesnt use
project.refs, and that we get the expected graceful failure when
attempting to use project.refs with a Source which doesnt support it.
|
|
|
|
|
| |
Test that we get the same functionality from the complex build + track
test regardless of whether we are saving refs inline or to a project.refs file.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a new Source.load_ref() API which is technically optional to
implement, projects which make use of a project.refs file must only
use source plugins which implement the new load_ref() method.
* source.py: Added load_ref() API to load a ref from a specified node.
This also adds _load_ref() and _save_ref() wrappers which handle
the logistics of when to load and save a ref to which location.
This also fixes _set_ref() to apply the ref to the node unconditionally,
this must be done independantly of whether the ref actually changed.
o Modifications to the loading process such that Source now can have
access to the element name and source index.
o _pipeline.py: Delegate abstract loading of source refs to Source._load_ref()
- Print a summarized warning about redundant source references
- Assert that one cannot track cross-junction elements without project.refs.
o _scheduler/trackqueue.py: Delegate saving refs to Source._save_ref()
|
|
|
|
|
| |
This also bumps the format version to signify a new format
where storing refs centralized in project.refs is now supported.
|
|
|
|
| |
This object manages the project.refs file in a project directory.
|
| |
|
|
|
|
|
|
|
| |
This is technically an API break, but will be transparant for the
vast majority of the current hand full of source implementations
which exist at this time. This is a lesser evil than bloating the
API with new methods.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It makes no sense to support this now that we are adding project.refs,
instead of removing the option completely, we document it as
deprecated and print a warning.
o _frontend/cli.py: Mark the option as deprecated, warn if it's used
o _scheduler/trackqueue.py: Remove save optionality
o _pipeline.py: Remove save optionality
o tests/frontend/buildtrack.py: Stop testing for no-save functionality,
This test was actually broken, and only save functionality was being
tested. This was due to using a list [True] or [False] in the
@pytest.mark.parameterize() statement, both of which are truthy values.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- installing from distro packages
- installing from source
|
| |
|
| |
|
| |
|
|
|
|
| |
classes
|
|
|
|
|
|
| |
The provided example shows the `tar` source ref being
expressed with a `sha256sum` key name, lets make the example
correct here and call it `ref`.
|
|
|
|
|
|
|
|
|
|
|
| |
Over time, the _project.py module has regressed into expressing
some defaults only hard coded into the python file instead of
properly exposing their default in the base configuration file
in data/projectconfig.yaml, where the default values can be observed
by users.
This patch rectifies that, and also restructures the relevant
surrounding documentation a bit.
|
|
|
|
| |
This matches BuildElement.
|
|
|
|
| |
This matches SandboxBwrap.
|
| |
|
|
|
|
|
|
| |
This fixes internal error when build is retried.
Fixes #299
|