summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* scheduler.py: Remove FIXME message and add explanation insteadbschubert/fix-children-terminationBenjamin Schubert2019-11-081-5/+3
|
* scheduler.py: Prevent the asyncio loop from leaking into subprocessesBenjamin Schubert2019-11-083-17/+142
| | | | | | | | | | | Having a running asyncio loop while forking a program is not supported in python and doesn't work as expected. This leads to file descriptors leaking and the subprocesses sharing the same loop as the parents. This also leads to the parent receiving all signals the children receive. This ensures we don't leek our asyncio loop in the workers we fork.
* Merge branch 'bschubert/fix-children-termination' into 'master'bst-marge-bot2019-11-081-2/+8
|\ | | | | | | | | app.py: Also catch SystemError with click.Abort See merge request BuildStream/buildstream!1690
| * app.py: Also catch SystemError with click.AbortBenjamin Schubert2019-11-081-2/+8
|/ | | | | | | | | This is to catch an error when sometimes the readline buffer of stdin gets corrupted during the second CTRL-C we send, and leads to having BuildStream hand and throw a SystemError. Catching the SystemError and treating as a click.Abort doesn't seem to have adverse effects.
* Merge branch 'traveltissues/closeworkspaces' into 'master'bst-marge-bot2019-11-065-26/+31
|\ | | | | | | | | | | | | Remove ignore_workspaces kwarg Closes #1190 See merge request BuildStream/buildstream!1688
| * _stream: correct typo in error messagetraveltissues/closeworkspacesDarius Makovsky2019-11-061-1/+1
| |
| * Remove unnecessary ignore_workspaces kwargDarius Makovsky2019-11-065-25/+30
|/ | | | | | Attempting to open a workspace for the same element without closing it now raises. This makes this kwarg unnecessary and tests should close workspaces between attempts to open.
* Merge branch 'traveltissues/1182' into 'master'bst-marge-bot2019-11-054-6/+11
|\ | | | | | | | | | | | | Remove `commit`ting sources inside `Source()._generate_key` Closes #1182 See merge request BuildStream/buildstream!1686
| * Remove `commit`ting sources inside `Source()._generate_key`Darius Makovsky2019-11-054-6/+11
|/ | | | | | | | `Stream.shell()` should check that the element's sources are cached before calling the shell. If the sources are not cached raise a StreamError and recommend a fetch. closes #1182
* Merge branch 'bschubert/better-reporting-on-userconfig' into 'master'bst-marge-bot2019-11-052-1/+27
|\ | | | | | | | | _context.py: Improve reporting of incorrect user config See merge request BuildStream/buildstream!1687
| * _context.py: Improve reporting of incorrect user configbschubert/better-reporting-on-userconfigBenjamin Schubert2019-11-052-1/+27
|/ | | | | | This fixes a case where, in project overrides, if a user specified a scalar/sequence instead of a mapping for a given project, the user would receive an ugly stacktrace instead of an invalid format.
* Merge branch 'aevri/testutils_artifactshare' into 'master'bst-marge-bot2019-11-051-28/+33
|\ | | | | | | | | tests/artifactshare: safer cleanup_on_sigterm use See merge request BuildStream/buildstream!1673
| * tests/artifactshare: safer cleanup_on_sigterm useaevri/testutils_artifactshareAngelos Evripiotis2019-11-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Use the documented path [1] to `pytest_cov.embed.cleanup_on_sigterm()`, to avoid crashing on some versions. It turns out that pytest_cov v2.6.1 on my machine doesn't like the way that we were accessing cleanup_on_sigterm(). Access it in such a way that we will either get the function or an ImportError, as per the documentation. [1]: https://pytest-cov.readthedocs.io/en/latest/subprocess-support.html
| * testutils/artifactshare: don't hang on errorAngelos Evripiotis2019-11-051-28/+33
|/ | | | | | | | Remove a couple of cases where it's possible to make the main test process hang, waiting for something to appear on a queue. Raise a friendlier exception, earlier, if there was a problem starting the server process.
* Merge branch 'juerg/fetch-tree' into 'master'bst-marge-bot2019-11-053-28/+20
|\ | | | | | | | | Reimplement contains_directory() with FetchTree() See merge request BuildStream/buildstream!1642
| * cascache.py: Reimplement contains_directory() with FetchTree()Jürg Billeter2019-11-051-21/+12
| |
| * cascache.py: Always update mtime in contains_directory()Jürg Billeter2019-11-052-12/+8
| | | | | | | | This is required for LRU cache expiry.
| * element.py: Avoid redundant SourceCache.contains() callsJürg Billeter2019-11-051-0/+5
|/ | | | | If the sources of an element are cached, they will stay cached for the duration of the bst session.
* Merge branch 'link_fix' into 'master'bst-marge-bot2019-11-041-1/+1
|\ | | | | | | | | fix broken user guide link in README.rst See merge request BuildStream/buildstream!1685
| * fix broken user guide link in README.rstlink_fixMostyn Bramley-Moore2019-11-041-1/+1
|/
* Merge branch 'juerg/casd-connect' into 'master'bst-marge-bot2019-11-041-13/+9
|\ | | | | | | | | cascache.py: Defer attempt to connect to casd until socket file exists See merge request BuildStream/buildstream!1667
| * cascache.py: Defer attempt to connect to casd until socket file existsJürg Billeter2019-11-041-13/+9
|/ | | | | | gRPC delays reconnect attempts by at least a second. We don't want to wait that long. Wait for socket file to appear to avoid the need for multiple connect attempts.
* Merge branch 'traveltissues/changeflag' into 'master'bst-marge-bot2019-11-045-12/+18
|\ | | | | | | | | Replace flag name See merge request BuildStream/buildstream!1681
| * NEWS: add note about BST_KEY_REQUIRES_STAGEtraveltissues/changeflagDarius Makovsky2019-11-041-0/+7
| |
| * Replace BST_NO_PRESTAGE_KEY with BST_KEY_REQUIRES_STAGEDarius Makovsky2019-11-044-12/+11
|/ | | | Correct version number for BST_KEY_REQUIRES_STAGE
* Merge branch 'juerg/casd' into 'master'bst-marge-bot2019-11-041-17/+17
|\ | | | | | | | | .gitlab-ci.yml: Update docker images for buildbox-casd 0.0.4 See merge request BuildStream/buildstream!1683
| * .gitlab-ci.yml: Update docker images for buildbox-casd 0.0.4Jürg Billeter2019-11-041-17/+17
|/
* Merge branch 'chandan/remove-build-track' into 'master'bst-marge-bot2019-11-0434-727/+210
|\ | | | | | | | | frontend: Remove tracking options from `bst build` See merge request BuildStream/buildstream!1671
| * Regenerate man pages after removal of `--track*` from `bst build`Chandan Singh2019-11-0424-97/+128
| |
| * NEWS: Announce removal of tracking options from `bst build`Chandan Singh2019-11-041-0/+15
| |
| * frontend: Remove tracking options from `bst build`Chandan Singh2019-11-049-630/+67
|/ | | | | | | | | | | | | BREAKING CHANGE: Remove all tracking related options and flags from `bst build` command, as discussed on mailing list previously. See https://mail.gnome.org/archives/buildstream-list/2019-October/msg00009.html for the original proposal, and https://mail.gnome.org/archives/buildstream-list/2019-October/msg00024.html for a summary. At the same time, remove use of the removed options from our test suite.
* Merge branch 'bschubert/fix-git-ref' into 'master'bst-marge-bot2019-11-011-0/+2
|\ | | | | | | | | _gitsourcebase.py: Return 'None' when the ref is unset See merge request BuildStream/buildstream!1680
| * _gitsourcebase.py: Return 'None' when the ref is unsetbschubert/fix-git-refBenjamin Schubert2019-11-011-0/+2
|/ | | | | As per the documentation, sources are required to return 'None' when their ref is unset.
* Merge branch 'traveltissues/1184' into 'master'bst-marge-bot2019-11-011-3/+3
|\ | | | | | | | | | | | | buildgrid-compose.yml: reduce log level to WARN Closes #1184 See merge request BuildStream/buildstream!1677
| * buildgrid-compose.yml: reduce log level to WARNDarius Makovsky2019-11-011-3/+3
|/ | | | closes #1184
* Merge branch 'jonathan/win32_ci' into 'master'bst-marge-bot2019-10-313-1/+57
|\ | | | | | | | | | | | | Add native windows CI configuration Closes #1163 See merge request BuildStream/buildstream!1678
| * Add tests that the basic functionality of buildstream works in win32Jonathan Maw2019-10-313-1/+57
|/ | | | i.e. `bst help` and `bst init`
* Merge branch 'aevri/enable_spawn_ci_5a' into 'master'bst-marge-bot2019-10-313-19/+40
|\ | | | | | | | | spawn tests: enable most non-integration See merge request BuildStream/buildstream!1676
| * .gitlab-ci: tests-spawn, most non-integration okAngelos Evripiotis2019-10-311-1/+1
| | | | | | | | | | | | | | | | | | Enable artifactcache and frontend. This is most of the tests that aren't marked as being integration, as we ratchet up the required support for spawn mode. Note that this also doesn't include tests that aren't under the `tests/` directory.
| * tests/.../missing_dependencies: include gitAngelos Evripiotis2019-10-311-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | Symlink `git` into the separate tools bin directory. BuildStream needs `git` in order to be able to determine its version. This missing dependency is revealed when you run these tests in `spawn` mode, as it will re-run the base __init__.__version__ logic in a new process. Also take the opportunity to extract _symlink_host_tools_to_dir(), to re-use some code.
| * _plugincontext: stable ids for better picklingAngelos Evripiotis2019-10-311-8/+23
|/ | | | | | | | | | | | | Use the 'identifier' argument of PluginBase's make_plugin_source(), to ensure that the plugins have a consistent namespace when pickled and then unpickled in another process. This means that we can pickle plugins that are more than an entrypoint, e.g. ones that have multiple classes in the same file. This enables the `tests/frontend/mirror.py::test_mirror_fetch_multi` test to pass, which uses `fetch_source` plugin. That plugin has more than one class in it's file.
* Merge branch 'traveltissues/1161' into 'master'bst-marge-bot2019-10-3024-95/+155
|\ | | | | | | | | | | | | extend source api and remove private use from workspace plugin Closes #1161 See merge request BuildStream/buildstream!1651
| * local.py: use extended API, set BST_NO_PRESTAGE_KEYDarius Makovsky2019-10-3019-53/+81
| | | | | | | | | | | | | | tests: * local sources are cached * use git sources instead of local when removing objects * update expected cache keys
| * source.py: _get_unique_key in _trackDarius Makovsky2019-10-301-2/+7
| | | | | | | | | | Ensure that sources advertising BST_NO_PRESTAGE_KEY have keys after tracking.
| * element.py: inline local functionDarius Makovsky2019-10-301-5/+5
| |
| * tests: check that workspaces only call _stage onceDarius Makovsky2019-10-301-0/+14
| |
| * workspace.py: use the extended source apiDarius Makovsky2019-10-301-23/+3
| |
| * source.py: Add BST_NO_PRESTAGE_KEYDarius Makovsky2019-10-302-5/+44
| | | | | | | | | | | | | | | | | | | | Extend Source API Add `_stage_into_cas()` private method. Calls `self.stage` on a `CasBasedDirectory`. If the source sets BST_NO_PRESTAGE_KEY then the casdir is recreated from a stored digest and imported directly in `_stage`.
| * Remove unnecessary parameter in Source._get_unique_keyDarius Makovsky2019-10-302-11/+5
|/
* Merge branch 'aevri/fuse_mount_private' into 'master'bst-marge-bot2019-10-301-9/+9
|\ | | | | | | | | _fuse/mount: make mount() and unmount() private See merge request BuildStream/buildstream!1674