| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| |
| |
| | |
Backport git support for ref-not-in-track configurable warnings
See merge request BuildStream/buildstream!1514
|
| |
| |
| |
| |
| | |
Add tests that cover assert_ref_in_track & the configurable
CoreWarnings REF_NOT_IN_TRACK warnings token.
|
|/
|
|
|
|
|
|
|
|
|
| |
Add a helper function assert_ref_in_track to git.py GitMirror()
which is used when staging & initing the source workspace. It
checks the element's ref exists in the track (branch/tag) if it
has been specified, raising a warning if necessary. The warning makes
use of the warning token 'REF_NOT_IN_TRACK' from the configurable
CoreWarnings. If the element has been tracked with bst, it is assumed
that the value of ref exists in the track as it was generated from it
& as such is not asserted.
|
|\
| |
| |
| |
| | |
data/userconfig.yaml: Document the cache.quota setting (bst-1)
See merge request BuildStream/buildstream!1513
|
|/ |
|
|\
| |
| |
| |
| | |
Fatal warnings support (bst 1)
See merge request BuildStream/buildstream!1512
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
For some reason after rebasing Josh's work onto the `bst-1` branch,
the plugins do not succeed, needed to at least have the `assemble()`
methods return a path to an existing directory.
|
| |
| |
| |
| |
| | |
Providing warn with detail=None (default) will no longer print None when
a fatal warning is triggered.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This adds multiple tests for custom plugin warnings and core warnings,
providing checks for both cases which should cause warnings and errors
when configured as fatal.
Also adds tests for cache key calculations.
|
| |
| |
| |
| |
| |
| |
| | |
This test case was written originally after fatal warnings was
introduced in master, but differently in bst-1; backporting the
fatal warnings feature requires this test case to be changed to
match the one in master.
|
| |
| |
| |
| | |
This includes detailing the use of `fatal-warnings` within project.conf
|
| |
| |
| |
| | |
This follows the implementation of configurable warnings.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows for users to configure fatal-warnings to be either a list of
warnings.
This commit deprecates the use of fail-on-overlap within project.conf,
this will now use the fatal-warnings configuration item.
element.py: Cache key calculation now takes into account all of the
fatal-warnings
tests: This modifys the tests/frontend/overlaps.py tests to support the
new fatal-warnings configuration. Backwards compatibility is also
tested for `fail-on-overlap`
_versions.py: BST_FORMAT_VERSION bumped to 16 for fatal-warnings
BST_CORE_ARTIFACT_VERSION bumpted to 5 for fatal-warnings
Fixes: #526
|
|
|
|
|
|
|
|
| |
o Added entry about max-jobs which I forgot to include
in the previous NEWS update
o Added section for 1.3.2 and moved the recent additions
to that new section
|
|\
| |
| |
| |
| | |
Backport junction element shorthand
See merge request BuildStream/buildstream!1502
|
| |
| |
| |
| |
| |
| | |
In the previous commit, we added support to express cross-junction
dependencies inline as simple strings. Document it along with the
version in which the feature was added.
|
| | |
|
| |
| |
| |
| |
| | |
This doesnt match exactly the same way it happened in master,
so fixing it up in a separate commit.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will allow cross-junction dependencies to be listed as strings on a
single line.
As part of this, some logic around initializing `Dependency()` objects
have been moved out of `_extract_depends_from_node()` method into the
constructor of `Dependency()` class, to keep all related code in one
place.
* _loader/types.py: While initializing `Dependency` objects, attempt to
split filenames, only if no `junction` was specified
explicitly. If a `junction` was specified, then
filenames with `:` in their names will result in an
error.
* _loader/loadelement.py: Refactor logic to initialize `Dependency()`
objects to move it to the `Dependency()`
constructor.
* tests/frontend/buildcheckout.py: Add tests to ensure the above.
* _versions.py: Bump BST_FORMAT_VERSION.
Fixes #809.
|
|\
| |
| |
| |
| | |
Backport build/runtime depends shorthand
See merge request BuildStream/buildstream!1501
|
| | |
|
| | |
|
| |
| |
| |
| | |
Format version raised because of a change to the core element format.
|
| | |
|
|/ |
|
| |
|
|\
| |
| |
| |
| | |
Backport ability to see previous sources in fetch() and track()
See merge request BuildStream/buildstream!1477
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\
| |
| |
| |
| | |
Add max-jobs configuration and command line option (bst 1)
See merge request BuildStream/buildstream!1474
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This tests that the resolution of the `max-jobs` automatic variable
is properly controlled by the new user configuration and command
line option, including the default automatic '0' value.
Regression test for #1033
|
| |
| |
| |
| |
| |
| |
| | |
Only use automatic max-jobs by default if the user has not
requested a specific value for max-jobs.
This is a part of #1033
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While this is currently only relevant for `bst build`, it is
a current implementation detail that user configuration which
gets overridden by command line options must use toplevel
options.
This patch allows invocations such as the following to override
the max-jobs:
bst --max-jobs 16 build target.bst
This also updates the completions test to expect the new toplevel option.
This is a part of #1033
|
|/
|
|
|
|
|
|
| |
This loads the configuration of the max-jobs variable
from the user configuration, where the default is 0
(meaning use the maximum number of cores with a limit of 8).
This is a part of #1033
|
|\
| |
| |
| |
| | |
_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.
|
| |
|