summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add to NEWSrichardmaw/shell-multi-stageRichard Maw2018-12-111-0/+6
|
* tests: Test multiple-element runtime and workspace shellsRichard Maw2018-12-113-5/+79
|
* tests: Move integration.bst to subdirectoryRichard Maw2018-12-112-1/+2
|
* cli: Support multiple elements in `bst shell`Richard Maw2018-12-111-11/+31
|
* element: Remove dead _shell methodRichard Maw2018-12-111-80/+9
|
* _stream: Move shell logic from Element and support multiple elementsRichard Maw2018-12-113-14/+117
| | | | | | There's redundancy in pre-staging sandbox creation logic with Element._sandbox doing something similar, but hopefully not too much.
* elements: Port build and script kinds to BST_STAGE_INTEGRATESRichard Maw2018-12-1117-19/+54
| | | | | | | | | | | | This is mostly just marking which elements work as expected from changes to their base class. Junction and Filter elements expect overriding stage to be sufficient to prevent it doing anything in those contexts, and since we're not intending to deprecate BST_STAGE_INTEGRATES elements there's no harm in them continuing to do so when they aren't expected to work in contexts we require BST_STAGE_INTEGRATES to be False.
* scriptelement: Skip integration in stage if BST_STAGE_INTEGRATES not setRichard Maw2018-12-111-47/+58
| | | | | | This takes the liberty of splitting the layout handling code paths into separate methods to reduce the amount of nested conditionals with the aim of improving readability.
* element: use BST_STAGE_INTEGRATES in prepare_sandbox and assembleRichard Maw2018-12-111-2/+5
| | | | | This ensures Element.integrate_dependency_artifacts is called after stage when BST_STAGE_INTEGRATES hasn't been set to False.
* element: Add BST_STAGE_INTEGRATES Element flagRichard Maw2018-12-111-3/+46
| | | | | | | | | | This commit introduces BST_STAGE_INTEGRATES as a compatibility flag, so Elements can set it to false to signal that integrate_dependency_artifacts should be called. This will be needed to implement staging multiple elements, since the integration commands for all elements need to be called after all dependencies are staged.
* manual.py: Add BST_VIRTUAL_DIRECTORY flagRichard Maw2018-12-101-1/+2
|
* dev-requirements: Bump pytest requirement for tmp_pathRichard Maw2018-12-101-1/+1
| | | | | | tmp_path was actually introduced in the 3.9.x series, but it slipped by when the pytest version was bumped before by pip opting to fetch a version which was newer than necessary.
* Merge branch 'jonathan/fix-identical-element' into 'master'Jürg Billeter2018-12-0318-6/+99
|\ | | | | | | | | | | | | _yamlcache.py: Use a project's junction name if present Closes #795 See merge request BuildStream/buildstream!980
| * tests/loader/junctions.py: Test that we can build a junction that is ↵jonathan/fix-identical-elementJames Ennis2018-12-0317-0/+69
| | | | | | | | | | | | | | referred differently, twice. Test required to close #795 - We should be able to build a project which refers to the same junction twice, but with two different filenames.
| * _yamlcache.py: Use a project's junction name if presentJonathan Maw2018-12-031-6/+30
|/ | | | | | | | | This is required because if there are projects with the same name loaded, that have elements in the same path, with the same contents, they are considered the same, despite actually belonging to different Projects. This fixes buildstream issue #795
* Merge branch 'jjardon/doc_git_submodules' into 'master'Tristan Van Berkom2018-12-031-0/+5
|\ | | | | | | | | git: warn about checkout submodules by default See merge request BuildStream/buildstream!983
| * buildstream/plugins/sources/git.py: warn about checkout by defaultJavier Jardón2018-12-031-0/+5
|/ | | | See #783
* Merge branch 'chandan/bst-checkout-build' into 'master'Tristan Van Berkom2018-12-035-28/+47
|\ | | | | | | | | | | | | Add `--deps build` option to `bst checkout` Closes #670 See merge request BuildStream/buildstream!819
| * Refactor and simplify _prepare_sandbox for elementsBenjamin Schubert2018-12-033-18/+18
| | | | | | | | | | | | | | | | Before we would have a intricate logics with multiple arguments that might get ignored. This simplifies the design and introduces a bool `shell` instead of having two different variables concerned about scope
| * Add `--deps build` option to `bst checkout`Chandan Singh2018-12-033-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed in https://mail.gnome.org/archives/buildstream-list/2018-September/msg00064.html, add `--deps build` option to `bst checkout`. This will allow users to checkout the all build dependencies of a given element using a single command. - _frontend/cli.py: Add `--deps build` option for `bst checkout`. - element.py: Support `deps='build'` in Element._prepare_sandbox(). - tests/frontend/buildcheckout.py: Ensure `--deps build` works as expected.
| * Ensure `--deps=none` option works for `bst checkout`Chandan Singh2018-12-033-23/+29
|/ | | | | | | | | | | | | | Currently, `bst checkout --deps none` command always produces empty output. Fix this issue and add regression test for the same. - element_enums.py: Add Scope.NONE. - element.py: Ensure Scope.NONE works correctly in addition to Scope.RUN/Scope.ALL in Element.dependencies() and Element.search(). - tests/frontend/buildcheckout.py: Fix tests for `--deps none`. Fixes #670.
* Merge branch 'tristan/fix-doc-session-rebuilds' into 'master'Tristan Van Berkom2018-12-031-0/+1
|\ | | | | | | | | | | | | MANIFEST.in: Include the sources for rebuilding the documentation session HTML Closes #778 See merge request BuildStream/buildstream!984
| * MANIFEST.in: Include the sources for rebuilding the documentation session HTMLTristan Van Berkom2018-12-031-0/+1
|/ | | | | | | This was previously missing, causing our CI to forget to rebuild the sessions when updating the documentation. This fixes issue #778
* Merge branch 'mandatory_suffix' into 'master'Jürg Billeter2018-11-3012-10/+149
|\ | | | | | | | | Mandatory .bst suffix See merge request BuildStream/buildstream!967
| * NEWS: Added update about the Mandatory .bst changePhillip Smyth2018-11-301-0/+4
| |
| * Added tests for .bst suffix and completionsPhillip Smyth2018-11-307-6/+91
| | | | | | | | | | | | | | | | buildcheckout.py: Add mandatory .bst suffix tests completions.py: Add test for fail on invalid suffix Added required files for testing integration/source-determinism.py: renamed test elements to end with .bst loader/__init__.py: initialised context properly with load and a message handler
| * cli.py: no autocomplete on files without .bstPhillip Smyth2018-11-301-1/+5
| |
| * loader: Added file suffix check and helper functionPhillip Smyth2018-11-301-0/+40
| | | | | | | | _loader/loader.py: Added Suffix check and warning for named elements and add helper function
| * _project.py: Check for fatal_warnings earlierPhillip Smyth2018-11-301-3/+3
| |
| * plugin.py: Add BAD_ELEMENT_SUFFIX warningPhillip Smyth2018-11-301-0/+6
|/
* Merge branch 'tpollard/774' into 'master'Jürg Billeter2018-11-304-26/+97
|\ | | | | | | | | | | | | _stream.py: Ability to pull missing buildtrees outside of pull/build Closes #774 See merge request BuildStream/buildstream!978
| * _stream.py: Ability to pull missing buildtrees outside of pull/buildTom Pollard2018-11-304-26/+97
|/ | | | | | | | | | | | | | | | | | Adds helper function _buildtree_pull_required() to determine if a pullqueue should be constructed, for commands outside of bst pull and build where it is determined that an element's buildtree artifact is to be required given the respective semantics and config. Utilised in push() to attempt to mitigate skipping the push of partial elements without the user having to have preceded it with an explicit pull. cli.py: Add new behaviour to push command description element.py: Move _cached_buildtree() to be non local private method, use _KeyStrength types to reduce duplication. tests/integration/pullbuildtrees.py also updated to cover this use-case.
* Merge branch 'aevri/update_man' into 'master'Jürg Billeter2018-11-3019-105/+158
|\ | | | | | | | | man/: update with changes since Apr 2018 See merge request BuildStream/buildstream!981
| * man/: update with changes since Apr 2018Angelos Evripiotis2018-11-3019-105/+158
|/ | | | | | | | | | | | | | | | It seems that the regenerated man pages haven't been committed for some time. Add them all in one lump now. Had to manually strip the version number from the generated files. Had to manually fix the NAME field of bst.1 to not be 'bst - None'. Oddly had to invoke click-man directly in order to get the changes to be applied, the usual setup.py route mentioned in contributing.rst didn't work. Eyeballed the result of invoking man on each of the commands, seems good.
* Merge branch 'valentindavid/netrc' into 'master'Valentin David2018-11-299-3/+431
|\ | | | | | | | | | | | | Add support for .netrc in remote/tar/zip plugins Closes #723 See merge request BuildStream/buildstream!908
| * .gitlab-ci.yml: Update image versions where forgottenvalentindavid/netrcValentin David2018-11-291-2/+2
| |
| * Add support for .netrc in remote/tar/zip pluginsValentin David2018-11-298-1/+429
|/ | | | Fixes #723.
* Merge branch 'jmac/no-verify-digests' into 'master'Jim MacArthur2018-11-291-8/+1
|\ | | | | | | | | | | | | _sandboxremote.py: Remove unnecessary tests. Closes #786 See merge request BuildStream/buildstream!976
| * _sandboxremote.py: Remove unnecessary tests.Jim MacArthur2018-11-291-8/+1
|/ | | | | | | push_message and push_directory will both raise assertion failures if they fail to send the digest to the server. Checking the digest returned by each only tests that the content was hashed locally, which cannot reasonably fail.
* Merge branch 'valentindavid/cache_server_fill_up' into 'master'Valentin David2018-11-294-96/+254
|\ | | | | | | | | | | | | Fix cleanup of cache in server when disk is full Closes #678 See merge request BuildStream/buildstream!830
| * Lock cache cleanup in cas servervalentindavid/cache_server_fill_upValentin David2018-11-281-46/+56
| | | | | | | | Cleaning up in parallel might slow down the cleaning process
| * Cleanup cache in cas server more agressivelyValentin David2018-11-283-67/+107
| | | | | | | | | | When there is less than 2GB left, it cleans up have 10GB available. These values are configurable.
| * Move cas server from ref-based to object-based garbage collection.Valentin David2018-11-282-3/+46
| |
| * Update mtimes of objects for requested references.Valentin David2018-11-283-11/+37
| | | | | | | | | | This also remove references when some objects are missing. This is in preparation for the move from reference to object garbage collection.
| * "Fallocate" object disk space to avoid getting NOSPC error when writingValentin David2018-11-281-6/+24
| | | | | | | | | | This locks the temporary object file so that cleanup does not need to be done for every write.
| * Avoid copying temporary file when adding object to CAS in server.Valentin David2018-11-282-18/+26
| | | | | | | | | | | | | | The file is already a temporary file and does not need copy. ENOSPC is thrown during that copy in issue #609. Fixes #678.
| * Fix type error in RPC messagesValentin David2018-11-281-2/+3
| |
| * Make cache clients not fail when a blob is not available.Valentin David2018-11-281-0/+12
| | | | | | | | | | | | | | We plan to make cache incomplete. That is some blobs are missing. For most of cases we will delete references when requested if they are incomplete. But there will be corner cases where objects are removed after the reference is requested.
| * Use f_bavail to query available space. Not f_bfree.Valentin David2018-11-281-1/+1
|/ | | | | | f_bfree space might not be usable. In practice we see failures in big disks because f_bfree is over 2GB and f_bavail is 0. We get ENOSPC if writing on disk then.
* Merge branch 'valentindavid/ruamel_0_15_41' into 'master'Valentin David2018-11-281-1/+8
|\ | | | | | | | | setup.py: require ruamel.yaml >= 0.15.41 < 0.15.52 See merge request BuildStream/buildstream!975