summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'Qinusty/531-fetch-retries-on-terminate' into 'master'cherry-pick-30f696f2Qinusty2018-08-201-2/+2
| | | | | | | | | | | Prevent jobs retrying on terminate Closes #531 See merge request BuildStream/buildstream!662 (cherry picked from commit 30f696f27a4a5281af86d9e41ecc2e4c2ef32ebf) 7263ea8c job.py: Prevent terminated jobs retrying
* Merge branch 'willsalmon/580-backport' into 'bst-1.2'Will Salmon2018-08-177-3/+129
|\ | | | | | | | | Add warning to git track if track and ref are not present See merge request BuildStream/buildstream!621
| * Improve error message for build if there are refs missingwillsalmon/580-backportWilliam Salmon2018-08-171-3/+8
| |
| * Add Error to git and ostree sources configureWilliam Salmon2018-08-176-0/+121
|/ | | | | | | | | Raise a error at configure time if the track and ref properties are not present in the sources. This is to address https://gitlab.com/BuildStream/buildstream/issues/471 that documented unhelpful behaviour when tracking git sources. However the issue was also identified in ostree.
* Merge branch 'tiagogomes/issue-577-backport' into 'bst-1.2'Javier Jardón2018-08-161-2/+4
|\ | | | | | | | | cascache: use errno module See merge request BuildStream/buildstream!675
| * cascache: use errno moduleTiago Gomes2018-08-161-2/+4
|/ | | | | | os.errno does no longer work with Python 3.7 Closes #577.
* Merge branch 'tristan/notifications-1.2' into 'bst-1.2'Tristan Van Berkom2018-08-161-2/+14
|\ | | | | | | | | _frontend/app.py: Notify session completions See merge request BuildStream/buildstream!673
| * _frontend/app.py: Notify session completionsTristan Van Berkom2018-08-161-2/+14
|/ | | | | | | | | | Use the optionally implemented desktop notification method to notify when a session completes. Previously, this used to only notify when an interactive prompt appears. This is an attempt to fix #385
* Merge branch 'valentindavid/fallback_mirror_ostree-1.2' into 'bst-1.2'Valentin David2018-08-162-14/+20
|\ | | | | | | | | Fix ostree repository mirroring See merge request BuildStream/buildstream!667
| * Fix ostree repository mirroringValentin David2018-08-162-14/+20
|/ | | | | | | | | | | Ostree mirrors were not sharing the same local repository, so it was impossible the request refs from the right local repository when data was fetched from a mirror rather than upstream. Instead of having several repository with one remote each, we now have one repository with several remotes. This fixes #538.
* Merge branch 'tiagogomes/disable-https-gnu-repo-backport' into 'bst-1.2'Tiago Gomes2018-08-161-1/+1
|\ | | | | | | | | Use http instead of https for the gnu ftp mirror See merge request BuildStream/buildstream!677
| * Use http instead of https for the gnu ftp mirrorTiago Gomes2018-08-161-1/+1
|/ | | | | | | | | https seems broken on the Debian image: START autotools/hello/42930621-fetch.499.log START Fetching https://ftpmirror.gnu.org/gnu/automake/automake-1.16.tar.gz FAILURE Fetching https://ftpmirror.gnu.org/gnu/automake/automake-1.16.tar.gz FAILURE tar source at hello.bst [line 16 column 2]: Error mirroring https://ftpmirror.gnu.org/gnu/automake/automake-1.16.tar.gz: <urlopen error [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:720)>
* Merge branch 'valentindavid/fallback_mirror_git-1.2' into 'bst-1.2'Valentin David2018-08-164-5/+337
|\ | | | | | | | | Delay refreshing git submodule until we have a clone See merge request BuildStream/buildstream!666
| * Test we can discovered submodules on fallback mirrored git repositoriesvalentindavid/fallback_mirror_git-1.2Valentin David2018-08-161-0/+96
| |
| * Test git mirroring fallback on submodules when main repo is not mirrored.Valentin David2018-08-161-0/+97
| |
| * tests: Add a test of the git source with submodulesJonathan Maw2018-08-163-0/+80
| |
| * tests: Test that fetching passes when upstream is absentJonathan Maw2018-08-161-0/+61
| |
| * tests/frontend/mirror.py: Re-enable a test for gitValentin David2018-08-161-4/+0
| |
| * buildstream/plugins/sources/git.py: Fix clone side effect in getting fetchersValentin David2018-08-161-1/+3
|/ | | | | | | We now delay refreshing submodules until we have a clone, that is after we have fetched the main fetcher. Fixes #537
* Merge branch 'Qinusty/gnu-mirror-backport-1.2' into 'bst-1.2'Valentin David2018-08-151-1/+1
|\ | | | | | | | | Qinusty/gnu mirror backport 1.2 See merge request BuildStream/buildstream!668
| * examples: Switch ftp.gnu.org to mirrorJosh Smith2018-08-151-1/+1
|/ | | | | This should avoid current issues accessing the necessary sources which are blocking CI currently.
* Merge branch 'bochecha/blessings' into 'bst-1.2'Tristan Van Berkom2018-08-151-1/+1
|\ | | | | | | | | deps: Specify the minimum version required for blessings See merge request BuildStream/buildstream!663
| * deps: Specify the minimum version required for blessingsMathieu Bridon2018-08-141-1/+1
|/ | | | | | | | | | | | | Buildstream uses the Terminal.does_styling attribute, which was only added in blessings 1.6. Blessings helpfully returns an empty string when calling an nonexistent attribute on the Terminal object, instead of failing. Because Fedora has blessings 1.5, Buildstream thought that my terminal couldn't handle styling, and just didn't print the status bar, silently. Specifying the minimum version avoids this silent failure.
* NEWS: Adding a news entry for the 1.1.6 release candidate1.1.6Tristan Van Berkom2018-08-141-0/+7
|
* Merge branch 'valentindavid/447-stack-trace-checkout' into 'bst-1.2'Tristan Van Berkom2018-08-143-1/+17
|\ | | | | | | | | Handle checkout failure for unbuilt elements See merge request BuildStream/buildstream!653
| * _stream.py: Print details on checkout failureMartin Blanchard2018-08-141-1/+1
| |
| * element.py: Raise an exception on unbuilt element checkoutMartin Blanchard2018-08-142-0/+16
|/ | | | | Trying to checkout an element that has no cached artifacts should be and handled failure. See BuildStream/buildstream#447.
* Merge branch ↵Tristan Van Berkom2018-08-142-1/+62
|\ | | | | | | | | | | | | 'valentindavid/203-BuildStream-crashes-when-dependency-tree-too-deep' into 'bst-1.2' 203 build stream crashes when dependency tree too deep See merge request BuildStream/buildstream!654
| * app.py: Handle exception thrown when recursion limit is exceededPhil Dawson2018-08-141-0/+4
| | | | | | | | | | Because the RecursionError exception was introduced in Python 3.5, until we drop support for for Python 3.4, we must use RuntimeError.
| * tests/frontend/show.py: Add test case for maximum recursion depth being exceededPhil Dawson2018-08-141-1/+58
|/ | | | | | | Add test to ensure gracefull handling of exception thrown while loading a pipeline due the python's max recursion depth being exceeded. This is part of the work for issue #203
* Merge branch 'valentindavid/448-autocompletion-broken-defaults' into 'bst-1.2'Valentin David2018-08-137-3/+29
|\ | | | | | | | | Fix autocompletion for elements in sub-folders See merge request BuildStream/buildstream!652
| * complete.py: Ensure paths get completed from 'element-path'Martin Blanchard2018-08-137-3/+29
|/ | | | | | | | Element paths should always be completed from the root element folder defined by the element-path key in project.conf. Fix complete_path() to always search into its given base_directory argument. See issue BuildStream/buildstream#448
* Merge branch 'valentindavid/fix-except-argument-in-source-bundle-1.2' into ↵Valentin David2018-08-132-2/+5
|\ | | | | | | | | | | | | 'bst-1.2' source-bundle: Enable --except option See merge request BuildStream/buildstream!650
| * source-bundle: Enable --except optionFrancisco Redondo Marchena2018-08-132-2/+5
|/ | | | | | | Before this option was listed in help but was ignored when creating the source-bundle. Issue #468
* Merge branch 'valentindavid/bst_workspace_open_force_does_nothing-1.2' into ↵Valentin David2018-08-132-1/+57
|\ | | | | | | | | | | | | 'bst-1.2' _stream.py: Added functionality for workspace open -f See merge request BuildStream/buildstream!651
| * _stream.py: Added functionality for workspace open -fPhillip Smyth2018-08-132-1/+57
|/ | | | tests/frontend/workspace.py: Added tests
* Merge branch 'valentindavid/python3.7-1.2' into 'bst-1.2'Valentin David2018-08-131-2/+5
|\ | | | | | | | | Python 3.7 support See merge request BuildStream/buildstream!649
| * _artifactcache/cascache.py: Fix for PEP 479 / Python 3.7Jürg Billeter2018-08-131-2/+5
|/ | | | | | Do not rely on `StopIteration` bubbling up. https://www.python.org/dev/peps/pep-0479/
* Merge branch 'valentindavid/fix-debug-crash-1.2' into 'bst-1.2'Valentin David2018-08-131-2/+3
|\ | | | | | | | | Fix crash when --debug is passed See merge request BuildStream/buildstream!648
| * Fix crash when --debug is passedSam Thursfield2018-08-131-2/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I hit the following backtrace running `bst --debug push` and `bst --debug build`: pid:16736 id:000[--:--:--][][] START Push pid:16736 id:000[--:--:--][][] START Loading pipeline pid:16736 id:000[00:00:00][][] SUCCESS Loading pipeline pid:16736 id:000[--:--:--][][] START Resolving pipeline pid:16736 id:000[--:--:--][][] BUG 'MesonElement' object has no attribute '_Element__cache_key' Traceback (most recent call last): File "/home/sam/.local/bin/bst", line 8, in <module> sys.exit(cli()) File "/home/sam/.local/lib/python3.6/site-packages/click/core.py", line 722, in __call__ return self.main(*args, **kwargs) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_frontend/cli.py", line 162, in override_main standalone_mode=standalone_mode, **extra) File "/home/sam/.local/lib/python3.6/site-packages/click/core.py", line 697, in main rv = self.invoke(ctx) File "/home/sam/.local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/sam/.local/lib/python3.6/site-packages/click/core.py", line 895, in invoke return ctx.invoke(self.callback, **ctx.params) File "/home/sam/.local/lib/python3.6/site-packages/click/core.py", line 535, in invoke return callback(*args, **kwargs) File "/home/sam/.local/lib/python3.6/site-packages/click/decorators.py", line 27, in new_func return f(get_current_context().obj, *args, **kwargs) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_frontend/cli.py", line 471, in push app.stream.push(elements, selection=deps, remote=remote) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_stream.py", line 341, in push fetch_subprojects=True) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_stream.py", line 814, in _load fetch_subprojects=fetch_subprojects) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_pipeline.py", line 119, in load for meta in meta_elements File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_pipeline.py", line 119, in <listcomp> for meta in meta_elements File "/home/sam/.local/lib/python3.6/site-packages/buildstream/element.py", line 894, in _new_from_meta element = project.create_element(artifacts, meta) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_project.py", line 184, in create_element element = self._element_factory.create(self._context, self, artifacts, meta) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_elementfactory.py", line 57, in create return element_type(context, project, artifacts, meta, default_config) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/element.py", line 196, in __init__ super().__init__(meta.name, context, project, meta.provenance, "element") File "/home/sam/.local/lib/python3.6/site-packages/buildstream/plugin.py", line 171, in __init__ self.debug("Created: {}".format(self)) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/plugin.py", line 407, in debug self.__message(MessageType.DEBUG, brief, detail=detail) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/plugin.py", line 652, in __message self.__context.message(message) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_context.py", line 338, in message self._message_handler(message, context=self) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_frontend/app.py", line 665, in _message_handler text = self.logger.render(message) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_frontend/widget.py", line 585, in render return self._render(message) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_frontend/widget.py", line 620, in _render text += widget.render(message) File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_frontend/widget.py", line 228, in render _, key, missing = plugin._get_display_key() File "/home/sam/.local/lib/python3.6/site-packages/buildstream/element.py", line 1138, in _get_display_key cache_key = self._get_cache_key() File "/home/sam/.local/lib/python3.6/site-packages/buildstream/element.py", line 991, in _get_cache_key return self.__cache_key AttributeError: 'MesonElement' object has no attribute '_Element__cache_key' The issue here is that when `--debug` is enabled, Plugin.__init__() tries to log a message like this: pid:16929 id:001[--:--:--][????????][ main:tracker.bst ] DEBUG Created: meson element at tracker.bst [line 1 column 0] The log formatter is trying to get the cache key of the element in order to show it in the log, but the attribute hasn't yet been set because we've not got to the Element() constructor.
* Merge branch 'valentindavid/ruamel-version-1.2' into 'bst-1.2'Valentin David2018-08-131-1/+1
|\ | | | | | | | | Set version of ruaml.yaml to at least 0.15.41 but strictly less than 0.15.52. See merge request BuildStream/buildstream!647
| * Set version of ruaml.yaml to strictly less than 0.15.52.Valentin David2018-08-131-1/+1
|/ | | | | | | This allows to use version 0.15.51 rather than 0.15.0 which is required for Python 3. Fixes #571.
* Merge branch 'valentindavid/fix_included_junction_track-1.2' into 'bst-1.2'Valentin David2018-08-132-2/+37
|\ | | | | | | | | Fix tracking of junctions used in project.conf. See merge request BuildStream/buildstream!645
| * Fix tracking of junctions used in project.conf.Valentin David2018-08-132-2/+37
|/ | | | | | | | | | | | | | Stream._load() now returns early without resolving build pipeline when only tracking. Resolving track pipelines does not require to fully load project configurations when when elements to track are only junctions. However build pipelines require to fully load project configurations. This might not be possible in the case a project configuration includes a file from a junction that yet needs to be tracked. Fixes #565.
* Merge branch 'valentindavid/deterministic-source-1.2' into 'bst-1.2'Tristan Van Berkom2018-08-1231-30/+249
|\ | | | | | | | | Deterministic staging See merge request BuildStream/buildstream!634
| * Bump BST_CORE_ARTIFACT_VERSION for deterministic source pluginsValentin David2018-08-1226-26/+27
| |
| * Add some integration tests for source plugin determinism.Valentin David2018-08-121-0/+155
| |
| * buildstream/plugins/sources/remote.py: Make staging deterministic.Valentin David2018-08-121-0/+2
| |
| * buildstream/plugins/sources/zip.py: Fix non-determism in staging.Valentin David2018-08-121-2/+30
| | | | | | | | | | Staging could end-up with file with different rights depending on the umask. The extracted files need to get their access rights fixed.
| * Use deterministic umask when staging sources.Valentin David2018-08-121-1/+10
| | | | | | | | | | | | This fix is applied to plugins bzr, git, patch. Fixes #543 #544 #555.