| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Use the one from bst-plugins-experimental instead
|
|\
| |
| |
| |
| |
| |
| | |
Stop plugin tests using private API
Closes #1258
See merge request BuildStream/buildstream!1806
|
| |
| |
| |
| |
| |
| |
| | |
Adds functions to the `buildstream.testing` package to allow plugins to
dump elements and projects on the fly. Before this plugins were just
accessing the private yaml API for tests and loading/dumping directly. I
also allow access to just `_yaml.load()` from testing.
|
|/
|
|
|
|
|
| |
Plugin tests are already accessing this API, but using imports from
private modules. For motivation for this to be exposed publicly, note
that ErrorDomain is an argument for most things in runcli.py, and
LoadErrorReason may be another.
|
|\
| |
| |
| |
| |
| |
| | |
_frontend/cli.py: Make show() --use-buildtree respect pull semantics
Closes #1151
See merge request BuildStream/buildstream!1767
|
|/
|
|
|
|
|
| |
Ensure that if a buildtree isn't cached locally, it's only fetched
if --pull and pull-buildtrees config are set. Also, only attempt to
fetch if it's plausible that it could be pulled, with appropriate
messaging based on local cached state.
|
|\
| |
| |
| |
| | |
element.py: Optimize assemble_done()
See merge request BuildStream/buildstream!1802
|
|/
|
|
|
| |
After a successful build we know that the artifact is cached. Avoid
querying buildbox-casd and the filesystem.
|
|\
| |
| |
| |
| | |
NEWS: Add mark for 1.93.0
See merge request BuildStream/buildstream!1804
|
|/
|
|
| |
Prepare for next release.
|
|\
| |
| |
| |
| | |
Plugins: Update entrypoint group for pip origin
See merge request BuildStream/buildstream!1803
|
| |
| |
| |
| |
| |
| |
| |
| | |
Update sample plugin documentation based on the recent change to entry
point group for plugins.
While I'm here, also remove the unnecessary dependency on `setuptools`
from the sample plugin.
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed in
https://mail.gnome.org/archives/buildstream-list/2020-January/msg00001.html,
separate the entry point groups for elements and sources. Previously,
both used `buildstream.plugins` which meant that it wasn't possible to
have an element and a source plugin with the same name, when using `pip`
origin.
This a breaking change for all plugins, but will only affect projects
using the `pip` plugin origin.
As part of this, also bump the version of bst-plugins-experimental used
in our tests to avoid CI breakages.
|
|\
| |
| |
| |
| | |
Remove deb surce plugin, it has beem moved to bst-plugins-experimental
See merge request BuildStream/buildstream!1729
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Optimize consistency and state handling
Closes #1126
See merge request BuildStream/buildstream!1739
|
| | |
|
| |
| |
| |
| |
| |
| | |
This assert would only be run in development mode and would actually not
mark the source as downloaded. Therefore forcefully mark them as fetched
and remove the assert. Our test suite will catch if there is a problem.
|
| |
| |
| |
| |
| | |
'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.
- On fetch, also reset whether the source was cached or set if as
cached when we know it was.
- Validate the cache's source after fetching it
This doesn't need to be run in the scheduler's process and can be
offloaded to the child, which will allow better multiprocessing
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`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.
|
|/ |
|
|\
| |
| |
| |
| | |
tests/integration/project.conf: Remove unused external plugins
See merge request BuildStream/buildstream!1799
|
|/
|
|
|
| |
There are no tests that rely on these plugins anymore, so remove the
corresponding declarations from project.conf.
|
|\
| |
| |
| |
| |
| |
| | |
element.py: Remove unused __staged_sources_directory & assert
Closes #1249
See merge request BuildStream/buildstream!1798
|
|/ |
|
|\
| |
| |
| |
| | |
Make message & status rendering be tick driven by default
See merge request BuildStream/buildstream!1745
|
| |
| |
| |
| | |
Also highlight the change & configuration in NEWS
|
|/ |
|
|\
| |
| |
| |
| | |
.gitlab-ci.yml: Simplify test environment declaration
See merge request BuildStream/buildstream!1795
|
|/
|
|
|
|
|
| |
Defining `EXTERNAL_TESTS_COMMAND` as an extra command makes it easy to
miss it, especially when adding new environments (as I was recently
bitten by it). Instead of that, we can control the environments using
`TOXENV` variable.
|
|\
| |
| |
| |
| | |
loader.py: Optimize sorting of elements when they are multiple targets
See merge request BuildStream/buildstream!1794
|
|/
|
|
|
|
|
| |
Currently, with multiple targets, we would go through all the elements
in the target and sort them, even though they might already be sorted.
This ensures we sort every element only once.
|
|\
| |
| |
| |
| | |
introduce cross-repo standardized source tests
See merge request BuildStream/buildstream!1757
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This runs two versions of the plugins:
- The latest stable is not allowed failures and is run on every platform
- The master version is allowed failure, and only runs on a single
architecture
This also adds a new entrypoint to register source tests to run against
BuildStream.
|
| |
| |
| |
| |
| | |
This is not part of the test running itself, but more handling
afterwards
|
| |
| |
| |
| |
| | |
These tests don't do anything, as they have no plugins registered at
all.
|
| | |
|
| |
| |
| |
| | |
This stops the tests from being interlinked for BuildStream itself.
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
_sandboxreapi.py: Improve batch command logging
See merge request BuildStream/buildstream!1793
|
| |
| |
| |
| |
| | |
When commands are batched, the failure message can't include the command
group label with buildbox-run.
|