| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
'Consistency' is not needed anymore, now that we have everything in
place to not use it
|
|
|
|
|
| |
By looking at the flag first, we can avoid expensive checks on whether
the element is cached or not.
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the early call to get whether sources are locally cached
in `_update_source_state` by delegating it to the call of `is_cached`.
Once it is cached, the element is assumed to stay that way for the
duration of the pipeline, we can therefore cache the result once it is
true.
Also remove `Consistency.IS_CACHED`, which is not used anywhere else.
|
|
|
|
|
| |
This is not needed now that we have 'is_resolved' and 'is_cached'.
We can therefore drop all calling places and implementations of it.
|
|
|
|
|
|
|
|
|
| |
This removes the need to use consistency in Sources, by asking
explicitely whether the source is cached or not.
This introduces a new public method on source: `is_cached` that needs
implementation and that should return whether the source has a local
copy or not.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`get_consistency` is coarse grained and hard to optimize, in addition
to being un-userfriendly.
This adds a new `is_resolved` that has for default implementation
`get_ref() is not None`, which is true for most sources in BuildStream.
Sources for which this is not true can override the method to give a
more accurate description.
Checking for this before looking whether the source is cached can
reduce the amount of work necessary in some pipeline and opens the
door for more optimizations and the removal of the source state check.
|
|
|
|
|
|
|
| |
This replaces the _get_consistency method by two methods:
`_has_all_sources_resolved` and `_has_all_sources_cached` which allows
a more fine grained control on what information is needed.
|
|
|
|
|
|
| |
'_source_cached' is not explicit enough as it doesn't distinguishes
between sources in their respective caches and sources in the global
sourcecache.
|
|
|
|
|
|
|
|
| |
`get_consistency` doesn't allow being fine grained and asking only for a
specific bit of information.
This introduces methods `is_cached` and `is_resolved` which will be more
flexible for refactoring.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
'1211-stop-using-non-posix-features-in-small-test-suite-tests-to-avoid-fake-test-failures' into 'master'
Resolve "Stop using non-POSIX features in small test suite tests to avoid fake test failures"
Closes #1211
See merge request BuildStream/buildstream!1725
|
|/ |
|
|\
| |
| |
| |
| | |
man/bst-workspace-reset.1: Update workspace re-open help message
See merge request BuildStream/buildstream!1723
|
|/
|
|
| |
This was missed in !1710.
|
|\
| |
| |
| |
| | |
remove unused functions 1/2
See merge request BuildStream/buildstream!1753
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
Fixes for asyncio loops were we don't follow the documentation
See merge request BuildStream/buildstream!1756
|
| |
| |
| |
| |
| |
| |
| |
| | |
Per
https://docs.python.org/3/library/asyncio-policy.html#asyncio.AbstractChildWatcher.add_child_handler,
the callback from a child handler must be thread safe. Not all our
callbacks were. This changes all our callbacks to schedule a call for
the next loop iteration instead of executing it directly.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The documentation
(https://docs.python.org/3/library/asyncio-policy.html#asyncio.AbstractChildWatcher)
is apparently missing this part, but the code mentions that new
processes should only ever be called inside a with block:
https://github.com/python/cpython/blob/99eb70a9eb9493602ff6ad8bb92df4318cf05a3e/Lib/asyncio/unix_events.py#L808
|
|/
|
|
| |
We don't need to keep a reference to the watcher, let's remove it.
|
|\
| |
| |
| |
| | |
scheduler.py: Optimize scheduling by not calling it unnecessarily
See merge request BuildStream/buildstream!1755
|
|/
|
|
|
|
|
|
|
|
|
|
| |
This delays the call to the re-scheduling of jobs until the current
event loop as terminated.
This is in order to reduce the number of time we call this method per
loop, which should reduce the pressure on the loop and allow faster
event handling
Since the call is now delayed, also ensure we only call it once per loop
iteration.
|
|\
| |
| |
| |
| | |
Minor packaging-related fixups
See merge request BuildStream/buildstream!1754
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch contains the following changes:
* Remove include directive for MAINTAINERS file, that does not exist
anymore. Instead, add the COMMITTERS.rst file, which is the logical
replacement for the MAINTAINERS file.
* Recursively include all requirements files instead of listing them one
by one. This also fixes and issue where the cov-requirements files
were not included in the source distribution.
* Simplify `recursive-include DIR *` to `graft DIR`. These two forms are
functionally equivalent, but the latter is a bit easier to understand.
|
|\
| |
| |
| |
| | |
Add tests for interactive BuildStream operations
See merge request BuildStream/buildstream!1706
|
| | |
|
| |
| |
| |
| |
| | |
Add tests for interactive `bst init` command using
[pexpect](https://pexpect.readthedocs.io).
|
|/ |
|
|\
| |
| |
| |
| | |
_sandboxreapi.py: Reset CasBasedDirectory instead of recreating it
See merge request BuildStream/buildstream!1749
|
| | |
|
| |
| |
| |
| |
| |
| | |
Calling _reset() instead of completely replacing the object fixes
element plugins that use a virtual directory object across Sandbox.run()
calls such as the compose plugin with integration commands.
|
|/
|
|
| |
This reinitializes a CASBasedDirectory object from a directory digest.
|
|\
| |
| |
| |
| | |
testing/runcli.py: Remove unused configure parameter from run() methods
See merge request BuildStream/buildstream!1748
|
|/ |
|