| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This is a part of #222
|
|
|
|
| |
This is a part of #222
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
using to load the project
This involves changes in:
* _stream.py:
* Add the helper Stream.workspace_is_required()
* userconfig.yaml:
* Add a default value for prompt.really-workspace-close-project-inaccessible
* _context.py:
* Load the prompt 'really-workspace-close-project-inaccessible' from
user config.
* cli.py:
* If buildstream is invoked interactively, prompt the user to confirm
that they want to close the workspace they're using to load this
project.
This is a part of #222
|
|
|
|
| |
This is a part of #222
|
|
|
|
| |
This is a part of #222
|
|
|
|
| |
This is a part of #222
|
|
|
|
| |
This is a part of #222
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes to _context.py:
* Context has been extended to contain a WorkspaceProjectCache, as there
are times when we want to use it before a Workspaces can be initialised
(looking up a WorkspaceProject to find the directory that the project is
in)
Changes to _stream.py:
* Removed staging the elements from workspace_open() and workspace_reset()
Changes in _workspaces.py:
* A new WorkspaceProject contains all the information needed to refer back
to a project from its workspace (currently this is the project path and
the element used to create this workspace)
* This is stored within a new WorkspaceProjectCache object, which keeps
WorkspaceProjects around so they don't need to be loaded from disk
repeatedly.
* Workspaces has been extended to contain the WorkspaceProjectCache, and
will use it when opening and closing workspaces.
* Workspaces.create_workspace has been extended to handle the staging of
the element into the workspace, in addition to creating the equivalent
WorkspaceProject file.
This is a part of #222
|
|
|
|
|
|
|
|
| |
i.e. with a given directory and filename, check parent directories until
either a directory with the filename is found, or you reach the root of
the filesystem.
This is a part of #222
|
|\
| |
| |
| |
| |
| |
| | |
Force updating tags when fetching git repository
Closes #812
See merge request BuildStream/buildstream!1000
|
|/
|
|
|
|
|
|
|
| |
When using aliases there are multiple remotes used in the cache
repository. When fetching, tags are not updated if the were previously
fetched from a different remote. Commits that not in a branch and only
tagged do not get fetched if the tag is not fetched.
Fixes #812
|
|\
| |
| |
| |
| |
| |
| | |
Remove default strip-commands
Closes #645
See merge request BuildStream/buildstream!987
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
| |
They are too specific to be included by default
Recommendation is if you are building in Linux is to use the
ones begin used in the freedesktop-sdk project, for example
See #645
|
|\
| |
| |
| |
| |
| |
| | |
Only optionally allow None values in user provided YAML
Closes #803
See merge request BuildStream/buildstream!999
|
| |
| |
| |
| |
| |
| | |
dictionaries
This adds a regression test for issue #803
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
defaulting to False.
Allow plugins to conveniently leverage the new `allow_none` parameter,
and have Plugin.node_get_member() raise a LoadError in the usual
case where None is not an acceptable value to be explicitly set in
the user provided YAML.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows specifying whether or not the code believes a None
value is acceptable if explicitly expressed to be None in the YAML.
A previous patch 3ba544b80f9f268be8ffe62fc8589b30212ec4a2 changed
the behavior to accept None for all values across the board, along
with allowing explicitly setting the `default_value` to `None` which
caused the code to be much more readable (this was the main motivation
of the patch, but it had the side effect of allowing None for everything).
In the majority of cases we load YAML however, it either has a value or
it is not specified in the YAML, and None is hardly ever acceptable
to be explicitly specified (it may be in the case you want to override
something with nothing in the YAML, but it is the edge case).
This had the side effect of causing unexpected crashes where the
YAML specifies an empty dictionary for instance.
Instead of forcing the caller to handle a possible None value, give
the choice to the caller if they really want to accept a None value,
and raise the LoadError otherwise.
This fixes issue #803, which is a crash due to receival of an
unexpected None value through _yaml.node_get()
|
|\
| |
| |
| |
| |
| |
| | |
Fix bst source-checkout not working with open workspaces
Closes #807
See merge request BuildStream/buildstream!997
|
|/ |
|
|\
| |
| |
| |
| | |
Implement submodule warnings
See merge request BuildStream/buildstream!996
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\
| |
| |
| |
| | |
Misc cleanups
See merge request BuildStream/buildstream!993
|
| |
| |
| |
| |
| | |
Change 'INCONSISTENT_SUBMODULE' for 'WARN_INCONSISTENT_SUBMODULE' to
make things a bit more readable and comprehensive.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes the configurable warning part of this to properly link
to the project.conf documentation describing what configurable
warnings actually are.
Also fix the plugin raise the actual configurable warning which
it advertizes that it raises; which is 'inconsistent-submodule',
not 'inconsistent-submodules'.
|
| |
| |
| |
| |
| |
| |
| | |
Now the commands have documentation linkability so we can link to
them when referring to them anywhere in the docs. This reference
was previously referring to a bogus non-existent `build-stream track`,
maybe this dates way back to the days before we named the frontend `bst`.
|
| |
| |
| |
| |
| |
| | |
This also ensures it is exposed via the main buildstream __init__.py
file, fixes the imports of CoreWarnings, and adjusts the documentation
links to point to the right place.
|
|/
|
|
|
| |
Instead of duplicating the whole test body, run it twice while
checking for a warning or an error depending on the parameter.
|
|\
| |
| |
| |
| |
| |
| | |
Remote-execution client flow optimisation
Closes #628
See merge request BuildStream/buildstream!982
|
| |
| |
| |
| | |
Part of #628
|
| |
| |
| |
| |
| |
| | |
The endpoint may not necessarily be the same as execution-service endpoint.
Part of #628
|
| |
| |
| |
| |
| |
| |
| | |
Stops unneccesary pushing of builds that have already been built, just checks
the action cache to begin with.
Fixes #628
|
|/
|
|
| |
Get cascache.py to use this
|
|\
| |
| |
| |
| |
| |
| | |
Execution environment reqs
Closes #775
See merge request BuildStream/buildstream!969
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
o _platform/linux.py: Add linux32 flag to send to sandbox bwrap when the
build arch is x86-32 and the machines arch is x86-64 or similarly with
aarch32 and aarch64.
o sandbox/_sandboxbwrap.py: Use flag passed to start bwrap command with
linux32 if set.
|
| | |
|
| |
| |
| |
| | |
Same format as OptionArch tests, but with OS's.
|
| | |
|
| |
| |
| |
| | |
These are contained within the platform field.
|