summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Basic options for shell --build to use buildtreeswillsalmon/shellBuildTreesWilliam Salmon2018-12-186-16/+175
| | | | Fixes issue #740
* Merge branch 'raoul/627-RE-instance-config' into 'master'Jim MacArthur2018-12-183-25/+53
|\ | | | | | | | | | | | | Remote-execution instance configuration support Closes #627 See merge request BuildStream/buildstream!952
| * Documentation: Include instance-name in remote execution documentationraoul/627-RE-instance-configJim MacArthur2018-12-181-1/+10
| |
| * _cascache.py: Add instance names to GRPC callsJim MacArthur2018-12-181-18/+31
| | | | | | | | | | | | | | | | | | 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.
| * sandboxremote: Add server/storage config with defaultsJim MacArthur2018-12-181-9/+7
| | | | | | | | Adds instance name support for the remote execution storage service.
| * Add remote execution instance optionRaoul Hidalgo Charman2018-12-181-2/+10
|/ | | | | | | This is used when sending execution requests, to specify which instance of the execution server to use. Partial fix for #627.
* Merge branch 'chandan/source-subgroup' into 'master'Chandan Singh2018-12-1428-259/+325
|\ | | | | | | | | | | | | Introduce new "source" command group Closes #814 See merge request BuildStream/buildstream!1003
| * NEWS: Add entry for new source command groupChandan Singh2018-12-141-2/+6
| | | | | | | | | | | | 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.
| * Introduce new "source" command groupChandan Singh2018-12-1427-257/+319
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Merge branch 'aevri/contributing_e2e_tests' into 'master'Angelos Evripiotis2018-12-131-17/+44
|\ | | | | | | | | contributing: more clarity on testing See merge request BuildStream/buildstream!973
| * contributing: mandate end-to-end tests, allow othersAngelos Evripiotis2018-12-131-17/+44
|/ | | | | | | | | | | | | | | 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
* Merge branch 'tristan/dont-batch-prepare-assemble-by-default' into 'master'Tristan Van Berkom2018-12-1311-19/+80
|\ | | | | | | | | | | | | Dont batch prepare assemble by default Closes #800 See merge request BuildStream/buildstream!1009
| * BuildElement: Don't enable batching of prepare and assemble by defaultTristan Van Berkom2018-12-1311-14/+70
| | | | | | | | | | | | | | | | | | | | 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
| * distutils plugin: Support virtual directoriesTristan Van Berkom2018-12-131-1/+2
| |
| * modulebuild plugin: Support virtual directoriesTristan Van Berkom2018-12-131-1/+2
| |
| * pip element plugin: Support virtual directoriesTristan Van Berkom2018-12-131-1/+2
| |
| * makemaker plugin: Support virtual directoriesTristan Van Berkom2018-12-131-1/+2
| |
| * manual plugin: Support virtual directoriesTristan Van Berkom2018-12-131-1/+2
|/
* Merge branch 'bschubert/fix-unbound-variable-exception' into 'master'Benjamin Schubert2018-12-131-2/+2
|\ | | | | | | | | element.py: fix unbounded variable in nested python exception See merge request BuildStream/buildstream!1006
| * element.py: fix unbounded variable in nested python exceptionBenjamin Schubert2018-12-131-2/+2
|/ | | | | | | | | | | 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
* Merge branch 'BenjaminSchubert/fix-quota-tests' into 'master'Tristan Van Berkom2018-12-134-57/+59
|\ | | | | | | | | | | | | Mock storage space checks for tests. Closes #530 See merge request BuildStream/buildstream!702
| * Mock storage space checks for tests.BenjaminSchubert/fix-quota-testsBenjamin Schubert2018-12-134-57/+59
|/ | | | | | | | | | | 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
* Merge branch 'richardmaw/artifact-log' into 'master'richardmaw-codethink2018-12-124-7/+198
|\ | | | | | | | | Add artifact log command See merge request BuildStream/buildstream!920
| * NEWS: Mention `bst artifact log`Richard Maw2018-12-121-0/+2
| |
| * tests: Add tests for artifact group commandsRichard Maw2018-12-121-0/+68
| |
| * cli: Add artifact log commandRichard Maw2018-12-121-0/+59
| |
| * cli: Add artifact command groupRichard Maw2018-12-122-0/+43
| |
| * cli: Add support for auto-completing artifact ref namesRichard Maw2018-12-121-7/+26
|/
* Merge branch 'phil/source-checkout-options' into 'master'Phil Dawson2018-12-128-179/+167
|\ | | | | | | | | | | | | Retire bst source bundle command Closes #672 See merge request BuildStream/buildstream!959
| * NEWS: Add entry about the removal of source-bundle commandphil/source-checkout-optionsPhil Dawson2018-12-121-0/+6
| |
| * Remove source bundle commandPhil Dawson2018-12-126-169/+0
| | | | | | | | This is part of the work towards #672
| * Add option to source-checkout command to generate build scriptsPhil Dawson2018-12-123-9/+57
| |
| * Add --force / -f option to source-checkout commandPhil Dawson2018-12-123-6/+28
| |
| * Add --tar option to source-checkout commandPhil Dawson2018-12-123-8/+89
|/ | | | This commit is part of the work towards #672
* Merge branch 'jonathan/workspace-fragment-guess-element' into 'master'Jonathan Maw2018-12-1211-43/+231
|\ | | | | | | | | Guess the element when running commands in a workspace See merge request BuildStream/buildstream!954
| * doc: Point out that element is optional when commands are run from the workspacejonathan/workspace-fragment-guess-elementJonathan Maw2018-12-113-1/+57
| | | | | | | | This is a part of #222
| * Add NEWS for guessing the element in commandsJonathan Maw2018-12-111-0/+5
| | | | | | | | This is a part of #222
| * tests: Add tests for guessing element namesJonathan Maw2018-12-113-25/+61
| | | | | | | | This is a part of #222
| * Make specifying elements optional in bst commandsJonathan Maw2018-12-112-14/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * _context.py: Store the directory buildstream was invoked onJonathan Maw2018-12-112-2/+6
| |
| * _stream.py: Fix ugly error when opening a workspace using a relative pathJonathan Maw2018-12-111-1/+2
|/
* Merge branch 'jonathan/workspace-fragment-create' into 'master'Jonathan Maw2018-12-1111-56/+555
|\ | | | | | | | | Support invoking buildstream from a workspace outside a project See merge request BuildStream/buildstream!924
| * NEWS: Add an entry for being able to run commands from a workspacejonathan/workspace-fragment-createJonathan Maw2018-12-111-0/+4
| | | | | | | | This is a part of #222
| * tests: Test bst commands from an external workspaceJonathan Maw2018-12-113-5/+188
| | | | | | | | This is a part of #222
| * cli: Interactively warn if the user is trying to close the workspace they're ↵Jonathan Maw2018-12-114-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * _workspaces.py: Do not include .bstproject.yaml in the cache keyJonathan Maw2018-12-111-1/+6
| | | | | | | | This is a part of #222
| * _project.py: Find project from workspace if outside of a projectJonathan Maw2018-12-111-13/+35
| | | | | | | | This is a part of #222
| * cli.py: Use utils' search upwards helper when searching for project.confJonathan Maw2018-12-111-11/+2
| | | | | | | | This is a part of #222
| * _project.py: Rename _ensure_project_dir to _find_project_dirJonathan Maw2018-12-111-3/+3
| | | | | | | | This is a part of #222
| * Create and store data inside projects when opening workspacesJonathan Maw2018-12-113-23/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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