| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Updates the refs in the job process (but doesn't write), to ensure
following sources can see consistency of previous sourcse has been
updated. `_save_ref` is renamed `_set_ref` with writing to file now
optional.
This also changes the previous_source_access test to use a remote, so
that it actually tests this cornercase.
Fixes #1010
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
`pip` source plugin can stage python packages that are either specified
directly in the element definition or picked up from `requirements.txt`
from previous sources. In order to support the latter use-case
(which is also the primary motivation for this plugin), this plugin
requires access to previous sources and hence is an example of a
Source Transform source.
Also, bump `BST_FORMAT_VERSION` as this patch adds a new core plugin.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Source plugin implementations can now specify that they need access to
previously staged sources by specifying
`BST_REQUIRES_PREVIOUS_SOURCES_TRACK` and/or
`BST_REQUIRES_PREVIOUS_SOURCES_FETCH`, corresponding to access at `track`
and `fetch` times respectively.
Fixes #381.
Replaces !505. For relevant discussion, see this discussion:
https://gitlab.com/BuildStream/buildstream/merge_requests/505#note_83780747
|
|
|
|
|
|
|
| |
Since we may have python files in there which are not expected
to be loadable directly in the test environment (they are project data),
we should not have the tests automatically recurse into there and
assume it can collect tests from there.
|
|\
| |
| |
| |
| | |
_frontend/cli.py: Exit with error if output streams are set to nonblocking
See merge request BuildStream/buildstream!1389
|
|/
|
|
|
|
|
| |
This is better than raising a stack trace later on when logging gets
intense with a BlockingIOError.
This fixes #929
|
|\
| |
| |
| |
| | |
tests/artifactcache/expiry.py: Disable test failing on builders
See merge request BuildStream/buildstream!1436
|
|/ |
|
|\
| |
| |
| |
| | |
Fix workspaced junctions (1.2)
See merge request BuildStream/buildstream!1355
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
junctions
We already test the behavior without workspaces, lets just augment
these tests to also run with a workspaced junction and check the results.
This guards against regressions of #1030.
|
|/
|
|
|
|
|
|
|
|
| |
Instead of looping over the sources directly, we should be using
the canonical way of checking element consistency.
This requires an additional call to Element._update_state() on the
freshly loaded junction element in order to ensure we calculate consistency.
This fixes issue #1030.
|
| |
|
|\
| |
| |
| |
| | |
Backport !792 to bst-1.2
See merge request BuildStream/buildstream!1338
|
| | |
|
|/
|
|
|
|
|
|
| |
bst build returns "missing project.conf" when a project.conf is invalid
This results in an existing project with malformed yaml being dismissed
and attempts to make a new project
Added new exception
|
|\
| |
| |
| |
| | |
Fix build track all no strict 1.2
See merge request BuildStream/buildstream!1331
|
| |
| |
| |
| |
| |
| | |
actually build
This is a regression test for issue #1014
|
| |
| |
| |
| |
| | |
This adds a check to test_build_track() to ensure that the target
is cached as a result of building with tracking of selected elements.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
When calculating the strict key, we do not know for sure yet that the
element is required or whether it will ever have a cache key, as
we could be tracking elements which will result in resolving an
element which is a build-only dependency of the target.
This ensures that we process all elements which need to be processed,
which is important for cases where we are building in non-strict mode
and tracking is also enabled.
This fixes issue #1014
|
|\
| |
| |
| |
| | |
element.py: Reset workspace state if last successful build is missing (1.2)
See merge request BuildStream/buildstream!1329
|
| |
| |
| |
| |
| |
| | |
artifacts are deleted
This is a regression test for #1017
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
subdirs.
The artifact directories are based on the element normal_name, which
substitutes any path separators with dashes.
Fix the helper function to use the correct path.
|
|/
|
|
|
|
|
|
| |
If the artifact referred to by the last successful build in the
workspace state no longer exists, reset the workspace state and
do not attempt to perform an incremental build instead of crashing.
This fixes #1017
|
|\
| |
| |
| |
| | |
.gitlab-ci.yml: Add fedora 30 to coverage report
See merge request BuildStream/buildstream!1326
|
|/ |
|
|\
| |
| |
| |
| | |
_artifactcache.py: display the actual key being pulled
See merge request BuildStream/buildstream!1305
|
|/
|
|
| |
Fixes #981
|
|\
| |
| |
| |
| | |
.gitlab-ci.yml: Remove deprecated F28
See merge request BuildStream/buildstream!1321
|
|/ |
|
| |
|
|\
| |
| |
| |
| | |
Tristan/fix cloned plugin ids 1.2
See merge request BuildStream/buildstream!1315
|
| |
| |
| |
| |
| |
| | |
When cloning a Source, we should inherit the same unique ID for
the sake of sending a valid ID in any messages sent back to
the frontend from a source cloned in a child task.
|
| |
| |
| |
| |
| |
| |
| | |
In the case of cloned Sources, they should not be allocating
a new ID in track() and fetch() in case they do communicate their
ID back to the main process, they should inherit the same ID of
the Source they were cloned from.
|
|/
|
|
|
|
|
|
|
|
|
| |
This was always intended, but was not well commented. The reason
we start plugin ID counters at 1 is that we prefer relying on
a falsy value to determine whether an ID holding variable has
been set or not.
This patch also adds a more informative assertion in Plugin._lookup()
This by itself essentially fixes #1012
|
|\
| |
| |
| |
| | |
Fix building the docs
See merge request BuildStream/buildstream!1302
|
| |
| |
| |
| | |
String starting with a "%" character need to be quoted.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Sphinx 1.7, released in February 2018 moved the sphinx.apidoc module to
sphinx.ext.apidoc, with an alias and a deprecation warning in place so
users know to port their code.
The compatibility alias was removed in Sphinx 2.0, so we need to move to
the new module name.
Fortunately, since the new module name is more than a year old, this
shouldn't break anything for anybody.
|
|\
| |
| |
| |
| | |
plugins/sources/git.py: Cope with rename returning error EEXIST
See merge request BuildStream/buildstream!1294
|
|/
|
|
| |
Thanks to Matthew Yates for pointing this out.
|
|\
| |
| |
| |
| | |
Fix non strict push 1.2
See merge request BuildStream/buildstream!1289
|
| |
| |
| |
| | |
This is a regression test for issue #990
|
|/
|
|
|
|
|
|
|
| |
Marking all elements as pulled in Stream.push() ensures that cache
keys are resolved before pushing elements, otherwise state is left
unresolved in non-strict mode while elements are awaiting to download
an artifact by it's strict cache key.
Fixes #990
|
|\
| |
| |
| |
| | |
Cache quote related backports
See merge request BuildStream/buildstream!1288
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This needs to be added along with the status messages added
to the artifact cache, and this detail diverges from master.
This is because we have not bothered to backport !1071 which
refactors the CASCache to be a delegate object of the ArtifactCache
istead of a derived class - backporting !1071 would allow us to
remove these message handlers because the CAS server and test
fixture only use the CASCache object directly, not the business
logic in the ArtifactCache.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This needs to be added along with the status messages added
to the artifact cache, and this detail diverges from master.
This is because we have not bothered to backport !1071 which
refactors the CASCache to be a delegate object of the ArtifactCache
istead of a derived class - backporting !1071 would allow us to
remove these message handlers because the CAS server and test
fixture only use the CASCache object directly, not the business
logic in the ArtifactCache.
|
| |
| |
| |
| |
| |
| | |
Updates the known cache size in the main process while the cleanup
process is ongoing, so that the status indicators update live
while the cleanup happens.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added some useful status messages when:
* Calculating a new artifact cache usage size
* Starting a cleanup
* Finishing a cleanup
Also enhanced messaging about what was cleaned up so far when
aborting a cleanup.
|