| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| | |
{artifact,source,cas}cache: fix one-shot callbacks
See merge request BuildStream/buildstream!1273
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Remove the unintended side-effect of only being able to iterate the
ref_callbacks results once. This would mean that subsequent calls to
clean() were not honoring the required_refs correctly.
Update CasQuota.clean() to call the ref callbacks and iterate over
their results.
When registering ref callbacks; pass the methods, and not the generators
that they return.
|
|\
| |
| |
| |
| |
| |
| | |
Artifact as a Proto: protos and service
Closes #965
See merge request BuildStream/buildstream!1259
|
| |
| |
| |
| | |
Part of #965
|
| |
| |
| |
| | |
Part of #965
|
|/
|
|
| |
Part of #965
|
|\
| |
| |
| |
| | |
Re-enable `key in somenode` construct after YAML new world order
See merge request BuildStream/buildstream!1280
|
| |
| |
| |
| |
| |
| |
| | |
Now that we permit `key in somenode` remove the no longer needed function
to check if a node contains a key.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| | |
Now that we permit `key in somenode` again, remove the unnecessary extra
API of Plugin.node_has_member()
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|/
|
|
|
|
| |
Now that we've had the fallout settle, support `key in somenode` again.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|\
| |
| |
| |
| | |
_yaml.py: Add node_keys()
See merge request BuildStream/buildstream!1274
|
|/
|
|
|
|
|
|
| |
There were a number of places where `node_items()` was called and the values
discarded. Since values can be expensive to compute, this replaces any such
places with a `node_keys()` function call instead
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|\
| |
| |
| |
| | |
Some small cleanups
See merge request BuildStream/buildstream!1272
|
| |
| |
| |
| |
| |
| |
| | |
We don't need to spend the CPU constructing path except when there is
an error which needs it, so don't.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|/
|
|
|
|
|
|
|
| |
In the case that `load_data()` raises a `LoadError` we want to catch
and re-raise it, augmenting the message with where the load came from
which is best done with the `displayname` to include junction name if
available.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|\
| |
| |
| |
| | |
lint: Fix or silence 'cyclic-import' errors and enable pylint for it
See merge request BuildStream/buildstream!1250
|
|/
|
|
|
|
|
|
| |
Cyclic imports can be confusing because the order in which we import
dependencies can make the import fail or not. We should not rely on
ordering of imports for our code. This fixes everywhere possible the
imports and silence explicitely some which are not convenient or would
require big refactors
|
|\
| |
| |
| |
| | |
typo: writtent -> written
See merge request BuildStream/buildstream!1270
|
|/ |
|
|\
| |
| |
| |
| | |
FOLLOW UP: Add NEWS entry for YAML New World Order
See merge request BuildStream/buildstream!1264
|
|/
|
|
|
|
| |
This is a follow-up to !1257 - YAML New World Order.
Now that !1257 has landed, plugin's *must* use the Plugin.node_*
family of functions to access or modify node members.
|
|\
| |
| |
| |
| | |
app.py: fix spelling 'depency' -> 'dependency'
See merge request BuildStream/buildstream!1266
|
|/ |
|
|\
| |
| |
| |
| | |
_project.py: cache full project path for quicker lookup
See merge request BuildStream/buildstream!1269
|
|/
|
|
|
|
|
|
| |
The resolved path to the project directory is queried a lot when
using local elements, patch elements, and such.
Having the path cached and stored on the project gives nice speedups
when the underlying storage system is slow.
|
|\
| |
| |
| |
| |
| |
| | |
Cleanup profiler and make is as a context manager
Closes #877 and #876
See merge request BuildStream/buildstream!1255
|
| | |
|
| |
| |
| |
| |
| |
| | |
This adds the ability to launch nested profilers in BuildStream.
That means the "BST_PROFILE=all" now works as expected.
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Add initial TestArtifact() abstraction class to testutils
Closes #945
See merge request BuildStream/buildstream!1252
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds the initial Artifact 'abstractions', taking existing
test methods into a dedicated Artifact class. The class is
accessed via an instance attribute of the generic Cli() fixture.
This is in preperation for AaaP, to ensure existing tests pass
whilst creating an entry point for further abstractions when
necessary.
|
|/
|
|
|
|
|
|
|
|
|
| |
By default the reachable set() includes all file digests from a
given reachable directory/tree digest, however this does not
guarantee the file objects are actually reachable.
testutils/artifactshare.py has_artifact() ascertained if a given
artifact is available by ensuring any 'reachable' digests are
actually on the filesystem, this is made redudant with the optional
check_exists objpath check during the reachable set creation.
|
|\
| |
| |
| |
| | |
tox.ini: pin [testenv:docs] sphinx dependency to 1.8.5
See merge request BuildStream/buildstream!1267
|
|/
|
|
|
|
| |
In sphinx 2.0.0 sphinx.apidoc has moved to sphinx.ext.apidoc,
which causes a build import error. Pin the version to 1.8.5
to allow docs to be built until issues can be fixed.
|
|\
| |
| |
| |
| |
| |
| | |
.gitlab-ci.yml: Use bst-external 0.12.0 for overnigth tests
Closes #976
See merge request BuildStream/buildstream!1265
|
|/ |
|
|\
| |
| |
| |
| | |
Write test to ensure that track does not needlessly rewrite
See merge request BuildStream/buildstream!1235
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
YAML New World Order
Closes #591
See merge request BuildStream/buildstream!1257
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
To more cleanly check if a given string could be a cache key, create
a new _cachekey.is_key() function and use that in _artifactelement's
verify_artifact_ref() function.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replace YAML internals with a new Node type, and refactor everything
to use it cleanly.
This work was also by James Ennis <james.ennis@codethink.co.uk>
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|/
|
|
|
|
|
| |
The new YAML world order doesn't need the YAML cache, so remove it
before we begin the change.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|\
| |
| |
| |
| | |
Initial partial CAS support for remote execution
See merge request BuildStream/buildstream!1232
|
| | |
|
| | |
|
| |
| |
| |
| | |
push_directory() is unused and will be removed.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If any blobs required for the action are missing both on the remote
execution CAS server and in the local cache, attempt to fetch these
blobs from the configured artifact servers.
Artifacts are currently still guaranteed to be complete in the local
cache. However, this is in preparation for the planned partial CAS
support.
|