Loading
Commits on Source 96
-
Valentin David authored
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
-
Valentin David authored
Force updating tags when fetching git repository Closes #812 See merge request !1000
-
Jonathan Maw authored
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
-
Jonathan Maw authored
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
-
Jonathan Maw authored
This is a part of #222
-
Jonathan Maw authored
This is a part of #222
-
Jonathan Maw authored
This is a part of #222
-
Jonathan Maw authored
This is a part of #222
-
Jonathan Maw authored
cli: Interactively warn if the user is trying to close the workspace they're 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 -
Jonathan Maw authored
This is a part of #222
-
Jonathan Maw authored
This is a part of #222
-
Jonathan Maw authored
Support invoking buildstream from a workspace outside a project See merge request !924
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
Known issues: * `bst shell` works, but `bst shell COMMANDS...` doesn't, because click has no way of separating optional args from variable-length args. * `bst checkout` and `bst source-checkout`'s usage strings mark LOCATION as an optional argument. Because click gets confused if there's an optional argument before a mandatory argument, I had to mark LOCATION as optional internally. * `bst workspace open` makes no sense with element being optional, so I skipped it. * `bst workspace close` will probably need to be revisited when multiple projects can own one workspace. * `bst workspace reset` will happily delete the directory you're currently in, requiring you to `cd $PWD` to see the contents of your directory. I could exclude the top-level directory of the workspace being deleted, but it is entirely valid to run workspace commands from deeper in the workspace. This is a part of #222
-
Jonathan Maw authored
This is a part of #222
-
Jonathan Maw authored
This is a part of #222
-
Jonathan Maw authored
This is a part of #222
-
Jonathan Maw authored
Guess the element when running commands in a workspace See merge request !954
-
Phil Dawson authored
This commit is part of the work towards #672
-
Phil Dawson authored
-
Phil Dawson authored
-
Phil Dawson authored
This is part of the work towards #672
-
Phil Dawson authored
-
Phil Dawson authored
Retire bst source bundle command Closes #672 See merge request !959
-
richardmaw-codethink authored
-
richardmaw-codethink authored
-
richardmaw-codethink authored
-
richardmaw-codethink authored
-
richardmaw-codethink authored
-
richardmaw-codethink authored
Add artifact log command See merge request !920
-
Fix #530 - Extract free space computation in a function for easier mocking - Mock space computation during cache quota tests - Mock cache size during cachque quota tests - Add two more tests when the configuration would require to much storage space
-
Tristan Van Berkom authored
Mock storage space checks for tests. Closes #530 See merge request !702
-
Benjamin Schubert authored
As per https://docs.python.org/3.7/reference/compound_stmts.html#except variables used in the "except" clause are erased at the end of the block. We had a conflict with a nested exception using the same variable as before. This renames the nested variable to avoid the clash
-
Benjamin Schubert authored
element.py: fix unbounded variable in nested python exception See merge request !1006
-
-
-
-
-
-
Some external plugins depend derive from BuildElement and are broken by BuildElement enabling this batching by default. Instead, enable it in all of the individual build element plugin implementations. This fixes issue #800
-
Tristan Van Berkom authored
Dont batch prepare assemble by default Closes #800 See merge request !1009
-
Update the section on adding tests, to fulfill these broad points: - Mandate end-to-end testing, with rationale. - Mention internal APIs as endpoints for testing. - Warn against pitfalls of unit-testing. It's more text than I would have liked, perhaps in later work we'll be able to say it with less. This change integrates feedback from the mailing list 'Guidance on Unit Tests' thread: https://mail.gnome.org/archives/buildstream-list/2018-November/msg00045.html
-
Angelos Evripiotis authored
contributing: more clarity on testing See merge request !973
-
Chandan Singh authored
Following the message thread https://mail.gnome.org/archives/buildstream-list/2018-November/msg00106.html, implement a new command group called `source`. Move existing `track`, `fetch`, and the recently added `source-checkout` commands under this group. For `track` and `fetch`, this is a BREAKING change, as the old commands have been marked as obsolete. Using them will result in an error message that refers people to use the new versions, like `bst source fetch` instead of old `bst fetch`. `source-checkout` will now become `source checkout` (the dash has turned into a space), and is not a breaking change as it was added in the current development cycle. Note that the functionality to hide commands from help output was added only recently in Click, so the minimum version of Click that we now require is 7.0. Summary of changes: * _frontend/cli.py: Add `source` command group, mark previous versions as obsolete and hide them from the help output. * _frontend/complete.py: Fix completion for hidden commands. * setup.py: Bump Click minimum version to 7.0. * tests: Update to cope with the new command names. Fixes #814.
-
Chandan Singh authored
Also, change the existing entry about `source-checkout` to be `source checkout` instead. And, while we are there, move it near the other announcements about the source command group.
-
Chandan Singh authored
Introduce new "source" command group Closes #814 See merge request !1003
-
Raoul Hidalgo Charman authored
This is used when sending execution requests, to specify which instance of the execution server to use. Partial fix for #627.
-
Jim MacArthur authored
Adds instance name support for the remote execution storage service.
-
Jim MacArthur authored
Adds the 'instance_name' parameter, which may be None, to most GRPC calls in the CASCache object. ByteStream requests already have instance_name supplied in the resource name, so do not need the parameter. Closes #627.
-
Jim MacArthur authored
-
Jim MacArthur authored
Remote-execution instance configuration support Closes #627 See merge request !952
-
William Salmon authored
Fixes issue #740
-
William Salmon authored
Shell --build has optional buildtrees Closes #740 See merge request !986
-
Javier Jardón authored
-
Javier Jardón authored
README.rst: Add license badge See merge request !1014
-
Jürg Billeter authored
The queue shouldn't need to know about individual sources. This is in line with _track() and _get_consistency().
-
Jürg Billeter authored
-
Jürg Billeter authored
-
Jürg Billeter authored
Do not call fetch() for cached sources See merge request !992
-
Chandan Singh authored
Add a `_GitSourceBase` class to act as the base class for deriving source plugins that work with Git. The first user of this base class is the `git` source plugin that's in core at the moment. The contents of this base class is almost identical to the existing `GitSource` class. The two notable differences are: - the private methods now have leading underscores, as some were missing it originally - the name of the class Note that we are exposing a private member here as we expect it to move to a separate package soon. See the following discussion for more details: #739 (comment 124819869) Fixes #739.
-
Chandan Singh authored
Expose base class for Git source plugins Closes #739 See merge request !1019
-
Now that we are also looking for WORKSPACE_PROJECT_FILE, we should add it to the error message. While we're there, also mention the directory we are looking in - this could help scripters be clear about what went wrong. The new error message looks like this: Error loading project: None of ['project.conf', '.bstproject.yaml'] found in '/src/temp/blah' or any of its parent directories -
In the event that the project could not be found, stop BuildStream from asking if the user would like to create a new project. Exit with error instead, and give a hint to the user in case they're new. As proposed on the mailing list here: https://mail.gnome.org/archives/buildstream-list/2018-December/msg00082.html The new interaction looks like this: $ bst show nonsuch.bst No project found. You can create a new project like so: bst init Error loading project: None of ['project.conf', '.bstproject.yaml'] found in '/src/temp/blah' or any of its parent directories Fixes #826
-
Angelos Evripiotis authored
BREAK: remove auto-init behaviour Closes #826 See merge request !1015
-
Use raw strings for regex searches, which is the preferred way to do regular expressions in Python. Without this patch, currently we get the following warnings: ``` tests/frontend/logging.py:44 /builds/BuildStream/buildstream/dist/buildstream/tests/frontend/logging.py:44: DeprecationWarning: invalid escape sequence \[ m = re.search("\[\d\d:\d\d:\d\d\]\[\]\[\] SUCCESS Checking sources", result.stderr) tests/frontend/logging.py:80 /builds/BuildStream/buildstream/dist/buildstream/tests/frontend/logging.py:80: DeprecationWarning: invalid escape sequence \d m = re.search("\d\d:\d\d:\d\d,\d\d:\d\d:\d\d.\d{6},\d\d:\d\d:\d\d,,,SUCCESS,Checking sources", result.stderr) ``` -
Specify flags at the start of the expression as per the recommendation of the standard library. Without this patch, we currently get the following warning: ``` tests/examples/junctions.py::test_open_cross_junction_workspace /builds/BuildStream/buildstream/dist/buildstream/buildstream/utils.py:213: DeprecationWarning: Flags not at the start of the expression '\\/[^/]*\\Z(?ms)' regexer = re.compile(expression) ``` -
Chandan Singh authored
Fix Deprecation warnings from regex module See merge request !1010
-
Tom Pollard authored
-
Tom Pollard authored
_stream.py: fix _buildtree_pull_required logic See merge request !1021
-
Tristan Van Berkom authored
Recently we have been adding some tests which use the new tmp_path fixture from pytest, this is new in 3.9.
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
Since Thomas Nixon fixed the datafiles plugin to be compatible with pytest >= 3.8.0, we can now depend on it and avoid the warnings and errors which the older datafiles plugin causes. This fixes issue #636
-
Tristan Van Berkom authored
After having fixed the more recent linting errors, the tests should pass with recent versions of pylint. Tested with pylint 2.2.2.
-
Tristan Van Berkom authored
Misc fixes to the tests and newer linter errors Closes #636 See merge request !1011
-
Tristan Van Berkom authored
The python netrc module will raise OSError in the case that HOME is not set, this was discovered while running tests under tox.
-
Tristan Van Berkom authored
Treat None values in the passed dictionary as keys to be removed from the environment, this was already happening at restoration time.
-
Tristan Van Berkom authored
This happens when the netrc module is searching for a ~/.netrc file and it doesnt find any HOME set.
-
Tristan Van Berkom authored
Fix netrc crasher See merge request !1025
-
Tristan Van Berkom authored
Better to use the same API everywhere for thecking CLI results.
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
Junction test addition See merge request !1029
-
Currently we some duplication in the way we check for invalid filenames. To make it more robust and allow room for adding more warnings, refactor it into a separate method `_warn_invalid_elements()` that handles just this.
-
See https://mail.gnome.org/archives/buildstream-list/2018-December/msg00061.html for some related discussion.
-
-
-
Tristan Van Berkom authored
Add warnings about invalid characters in filename See merge request !1028
-
Valentin David authored
Requests with error UNAVAILABLE are retried directly. They are typically issue with setting connection which can happen when the server is slow at accepting new connections. Requests with errors ABORTED are converted to temporary exceptions so that the scheduler can retry the task. Fixes #815