summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tests: Remove xfails from buildbox integration teststraveltissues/985Darius Makovsky2019-09-232-6/+0
| | | | Workspace changes are now detectable when using BuildBox as the sandbox
* tests: Remove xfails from buildbox integration testsDarius Makovsky2019-09-232-2/+0
| | | | | Opening and building workspaces when buildbox is the sandbox is now supported.
* import.py: assemble the element via `stage_sources`Darius Makovsky2019-09-231-2/+1
|
* loader.py: Remove workspace handling in element collectionDarius Makovsky2019-09-231-5/+1
|
* Remove workspace mounting for sandboxesDarius Makovsky2019-09-235-41/+14
| | | | | | | | Workspaces will be handled via the workspace source plugin methods. This does not currently support reflecting build artifacts in the open workspace. tests: Mark incremental workspace builds as xfail (strict)
* element.py: always check sources for cachingDarius Makovsky2019-09-2330-46/+52
| | | | | | | | | | | | | | | | | | | | | | Check that sources are cached even if they are workspaced and do not reset workspace cache data partially reverts !1470 closes #1088 element.py: remove workspaces in cache key calc Using the workspace source plugin, workspaces should now be handled like sources for the purpose of calculating element cache keys. partially reverts !1470 works towards #1073 Since the source keys are now calculated using the unique keys of the workspace source, this change will break external tracking for open workspaces. In future attempting to track an open workspace might raise a SourceError. The test is rewritten to close the workspace before tracking.
* Support loading 'workspace'-kind sourcesDarius Makovsky2019-09-232-7/+43
| | | | | Add the workspace-kind source to the sources manually to prevent a user incorrectly loading the source plugin.
* workspace.py: add workspace source pluginDarius Makovsky2019-09-231-0/+150
| | | | | | | | | | | | | | | | | | | | | | | | | The `workspace.init_workspace()` call should wrap `source._init_workspace` for held sources to support those sources not publishing `BST_VIRTUAL_DIRECTORY` This object owns a directory digest attribute used inplace of the source ref. `track` and `fetch` become noop methods and the workspace is imported into the CAS in the call to `get_unique_key` which also sets the digest attribute and owns that Directory object. The directory is referenced during stage to import directly to the virtual directory object. Importing is expected to be expensive and will be optimised in future. When the unique key is retrieved for the workspace source it will also be commited to the sourcecache. The logic for this source is still a slight variant on other sources since it cannot itself be expected to be in the cache when it's opened. In the source preflight method the preflights of the held sources must be called.
* cascache.py: Create `CASCache.close_channel()`Darius Makovsky2019-09-231-5/+11
|
* Merge branch 'juerg/casd' into 'master'bst-marge-bot2019-09-196-135/+117
|\ | | | | | | | | Do not directly communicate with CAS server See merge request BuildStream/buildstream!1601
| * _remote.py: Remove unused bytestreamJürg Billeter2019-09-191-5/+0
| |
| * casremote.py: Add missing copyright headerJürg Billeter2019-09-191-0/+17
| |
| * casremote.py: Do not directly communicate with CAS serverJürg Billeter2019-09-191-68/+0
| | | | | | | | | | | | | | | | All communication with CAS servers should be proxied through buildbox-casd to allow connection sharing among job subprocesses. It is no longer needed to query the server capabilities as buildbox-casd already does that, so we can simply remove the code from BuildStream.
| * cascache.py: Use casd in remote_missing_blobs()Jürg Billeter2019-09-191-2/+11
| | | | | | | | Remote CAS servers should not be contacted directly.
| * cascache.py: Create CAS stub for buildbox-casd channelJürg Billeter2019-09-191-2/+21
| |
| * .gitlab-ci.yml: Update docker images for buildbox-casdJürg Billeter2019-09-191-17/+17
| |
| * casremote.py: Drop Status requestJürg Billeter2019-09-191-18/+0
| | | | | | | | | | The push status check is implemented by BuildStream artifact and source services. It's not part of the CAS protocol.
| * _sourcecache.py: Move capabilities check to _check() and extend itJürg Billeter2019-09-191-10/+22
| | | | | | | | | | | | | | It's sufficient to check the capabilities once per bst session. This avoids the extra round trip in remote.init(). This also adds a check for allow_updates for push remotes.
| * _artifactcache.py: Move capabilities check to _check() and extend itJürg Billeter2019-09-191-9/+21
| | | | | | | | | | | | | | It's sufficient to check the capabilities once per bst session. This avoids the extra round trip in remote.init(). This also adds a check for allow_updates for push remotes.
| * _artifactcache.py: Create ArtifactServiceStub in _configure_protocols()Jürg Billeter2019-09-191-7/+11
|/ | | | | There is no need to create a new stub for every request. This also matches what SourceRemote does.
* Merge branch 'juerg/artifactshare' into 'master'1.91.0bst-marge-bot2019-09-171-0/+6
|\ | | | | | | | | tests/testutils/artifactshare.py: Add SIGTERM handler to subprocess See merge request BuildStream/buildstream!1606
| * tests/testutils/artifactshare.py: Add SIGTERM handler to subprocessjuerg/artifactshareJürg Billeter2019-09-161-0/+6
|/ | | | | | | | pytest-cov 2.7 calls os._exit() in its SIGTERM handler, skipping cleanup, unless another SIGTERM handler was already registered. Add our own SIGTERM handler to the subprocess to ensure proper cleanup such as terminating buildbox-casd.
* Merge branch 'jennis/frontend_documentation' into 'master'bst-marge-bot2019-09-163-0/+99
|\ | | | | | | | | Add UI section in CONTRIBUTING See merge request BuildStream/buildstream!1584
| * CONTRIBUTING.rst: Add UI sectionJames Ennis2019-09-162-0/+79
| | | | | | | | | | | | Now that the frontend has been mostly reworked/standardized, this patch attempts to put our some guidelines/information in around UI contributions.
| * using_commands.rst: Add internal X-referencesJames Ennis2019-09-161-0/+6
| | | | | | | | | | This patch adds internal cross references for the artifact and source commands.
| * using_commands.rst: Add show and list-contentsJames Ennis2019-09-161-0/+14
|/ | | | | This patch ensures that we document the recently introduced artifact subcommands "show" and "list-contents".
* Merge branch 'coldtom/filter-element-improvements' into 'master'bst-marge-bot2019-09-1613-1/+158
|\ | | | | | | | | | | | | plugins/elements/filter.py: Allow passing integration commands through, fail if dep is a stack element Closes #1107 and #1104 See merge request BuildStream/buildstream!1593
| * tests/integration: Add test for filter elementcoldtom/filter-element-improvementsThomas Coldrick2019-09-164-4/+73
| | | | | | | | | | Adds an integration test to check the `pass-integration` option for filter elements works.
| * element.py: Abstract not producing artifactsThomas Coldrick2019-09-164-6/+16
| | | | | | | | | | | | | | | | Currently the stack element does not produce an artifact, and sometimes has to be treated differently because of this. It is conceivable that someone will write a plugin that must be treated similarly and doesn't produce an artifact. As a result this commit abstracts this "not producing an artifact" feature of elements.
| * filter.py: Fail if parent element is a stackThomas Coldrick2019-09-164-0/+22
| | | | | | | | | | | | | | | | | | | | | | As stack elements do not provide any artifacts, it is misleading to allow them as dependencies for filter elements. This commit makes a dependency on a stack element a failure with a descriptive error message. Additionally adds a test to make sure this works. Addresses #1104
| * filter.py: Allow passing integration commandsThomas Coldrick2019-09-166-1/+57
|/ | | | | | | | | | | | | It is tedious to manually copy the integration commands of the parent element into a filter element, so this allows it to be done automatically. Here we modify FilterElement.integrate() to allow us to pass through the parent's integration commands, iff an option is set. Also adds a test for the new feature, but this is not as comprehensive as would be idea, as getting to the integration commands which are run is a little more difficult. Addresses #1107
* Merge branch 'jennis/split_contributing' into 'master'bst-marge-bot2019-09-1311-1879/+1915
|\ | | | | | | | | | | | | Split up CONTRIBUTING Closes #1116 See merge request BuildStream/buildstream!1604
| * coding_guidelines.rst: Inline comments require 2 whitespacesjennis/split_contributingJames Ennis2019-09-131-1/+1
| |
| * coding_guidelines.rst: Fix typo in frobiliciouslyJames Ennis2019-09-131-2/+2
| |
| * grpc_protocol.rst: Rename title to be more descriptiveJames Ennis2019-09-131-2/+2
| |
| * writing_documentation.rst: Rename title to be more descriptiveJames Ennis2019-09-131-2/+2
| |
| * using_the_testsuite.rst: Rename title to be more descriptiveJames Ennis2019-09-131-2/+2
| |
| * CONTRIBUTING.rst: Split up CONTRIBUTING into smaller filesJames Ennis2019-09-1311-1879/+1915
|/ | | | | | | | Our contributing has got way too big. This patch aims to split it up into sensible files. These are found in "Further information". Closes #1116
* Merge branch 'jennis/load_deps_consistently' into 'master'bst-marge-bot2019-09-132-13/+10
|\ | | | | | | | | Load deps in checkout like we do everywhere else See merge request BuildStream/buildstream!1599
| * _stream.py: Load the appropriate PipelineSelection in checkoutJames Ennis2019-09-132-13/+10
|/ | | | | | | This patch ensures checkout behaves like the rest of our commands which support --deps options. That is, we carry the "deps" string through to the Stream and load the corresponding PipelineSelection.
* Merge branch 'jennis/add_deps_all_to_checkout' into 'master'bst-marge-bot2019-09-132-5/+5
|\ | | | | | | | | Support `--deps all` in `artifact checkout` See merge request BuildStream/buildstream!1598
| * cli.py: Allow checkout to handle --deps allJames Ennis2019-09-132-5/+5
|/ | | | | | | | source checkout supports --deps all, so we should be consistent. Additionally, a user may want to have build deps in a potential chroot so you could rebuild any component.
* Merge branch 'chandan/fix-news' into 'master'bst-marge-bot2019-09-121-8/+8
|\ | | | | | | | | NEWS: Use past-tense, fix note about YAML cache See merge request BuildStream/buildstream!1602
| * NEWS: Try to use past tense consistentlyChandan Singh2019-09-121-5/+5
| | | | | | | | | | Since the majority of the NEWS entries seem to be written in the past tense, change the handful of entries that aren't.
| * NEWS: Move note about YAML cache next to note about YAML APIChandan Singh2019-09-121-3/+3
|/ | | | | | | | This was incorrectly copy-pasted in the wrong location. See https://gitlab.com/BuildStream/buildstream/commit/108a38edd86d9de3ef0ce78cb005041662ed279e#note_216141606 for related discussion.
* Merge branch 'jennis/update_source_checkout' into 'master'bst-marge-bot2019-09-125-49/+160
|\ | | | | | | | | Ensure `source checkout` is symmetric to `artifact checkout` See merge request BuildStream/buildstream!1590
| * NEWS: Amend source checkout NEWS entriesjennis/update_source_checkoutJames Ennis2019-09-121-3/+6
| | | | | | | | | | | | The current mentions of `source checkout` in the NEWS file have been updated so that they explain the recent changes to `bst source checkout`
| * _stream.py: Inform user of source checkout locationJames Ennis2019-09-121-0/+2
| |
| * source_checkout.py: Add --compression tests for source checkoutJames Ennis2019-09-121-0/+34
| |
| * cli.py: Add --compression option to source checkoutJames Ennis2019-09-122-8/+20
| | | | | | | | | | | | | | | | | | !1451 introduced the --compression option to bst artifact checkout. This MR is a step towards making the commands more symmetric, and introduces the --compression option to bst source checkout Now we're compressing, we must explicitly close the tarball once we're done writing to it.