| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| |
| |
| | |
Backport git submodule warnings
See merge request BuildStream/buildstream!1515
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
o Test that it is not triggered in show before fetch, because we
don't know the submodules yet so we cannot know if they are
valid or not.
o Test that it is triggered by a fetch command
o Test that it is triggered by `show` after having completed a
fetch command, since now we have the repository and know which
specified submodules are invalid
o Test all of this under warning or error conditions (parameterized
for fatal-warnings)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
o Test that it is not triggered in show before fetch, because we
don't know about the unlisted submodules yet
o Test that it is triggered by a fetch command
o Test that it is triggered by `show` after having completed a
fetch command, since now we have the repository and know about
the unlisted submodule
o Test all of this under warning or error conditions (parameterized
for fatal-warnings)
|
| |
| |
| |
| |
| | |
A function for removing paths from a git repo, can also
be used to remove submodules.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now that we have Source.validate_cache(), this is a better place to emmit
the ref-not-in-track warning, since it will be emmitted at the earliest
opportunity and not only at Source.stage() or Source.init_workspace().
This also allows us to remove the `self.tracked` local state, and cleanup
some convoluted calling paths, removing some unnecessary parameters from
the usual codepaths and making the plugin overall more readable.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
o Unlisted submodule warning
Now the git plugin will issue a configurable warning if a submodule
exists and is used (checking out the submodule is not disabled),
but is not specified in the source configuration.
o Invalid submodule warning
Now the git source plugin will issue a warning if the configuration
specified a submodule which does not exist in the underlying git repository.
As a side effect, this patch also changes the flow control of the git
plugin such that submodules which are explicitly set to not be
checked out, are also not fetched but instead ignored completely.
|
|/
|
|
|
|
|
| |
This is guaranteed to be called only once for a given session once the
sources are known to be Consistency.CACHED, if source tracking is enabled
in the session for this source, then this will only be called if the
sources become cached after tracking completes.
|
|\
| |
| |
| |
| | |
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
|