summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix artifact push capability detectionfix-artifacts-can-pushMathieu Bridon2017-09-301-1/+1
| | | | | | | | | | Two branches got developed at the same time: * Tristan's cross-platform work * my work on per-project overrides for artifacts-related options Mine got merged first, and somehow this must have been missed in a rebase.
* doc/source/artifacts.rst: Document --artifact-receiver-only option.Tristan Van Berkom2017-09-291-7/+16
|
* setup.py: Added --artifact-receiver-only install optionTristan Van Berkom2017-09-291-37/+83
| | | | | | A convenience to install `bst-artifact-receive` on an artifact server that does not have the ostree and bubblewrap requirements to install the main `bst` program.
* Fix timestamps in Python bytecodefix-pyc-timestampsMathieu Bridon2017-09-293-0/+9
| | | | | | | | | | | | | | | | | | When building Python modules, a bytecode `.pyc` file is generated from the source `.py` file. The former contains 4 bytes representing the timestamp of the latter at the time it was generated. Unfortunately, after building OSTree sets all the file timestamps to 0, which introduces a discrepency between the timestamp of the `.py` file and the 4 bytes stored inside the `.pyc` file. As a result, when running a Python module from a checkout, Python thinks the bytecode files are stale, which causes a dramatic performance penalty when starting an application. Fixes #94
* setup.py: Make setup.py work on non-linuxcross_platformTristan Maat2017-09-282-26/+30
|
* .gitlab-ci.yml: Add fallback tests to CITristan Maat2017-09-281-9/+52
|
* Fix tests for other platformsTristan Maat2017-09-2816-5/+77
|
* tar.py: Add tar testsTristan Maat2017-09-281-0/+83
|
* mount_simple.py: Add mount testsTristan Maat2017-09-281-0/+52
|
* Implement tarcacheTristan Maat2017-09-283-4/+350
|
* Create artifactcache interfaceTristan Maat2017-09-282-286/+391
|
* Add platform factoriesTristan Maat2017-09-2835-45/+273
|
* Move sandboxes to separate directoryTristan Maat2017-09-286-568/+535
|
* _sandboxchroot.py: Implement sandboxchrootTristan Maat2017-09-281-0/+450
|
* utils.py: Fix missing psutil referenceTristan Maat2017-09-281-1/+1
|
* widget.py: Replace tail with a python implementationTristan Maat2017-09-281-6/+23
|
* build-module.sh.in: Don't attempt to copy empty sources75-source-bundle-generated-script-fails-when-a-build-element-has-no-sourceTristan Maat2017-09-271-1/+3
|
* fuse.py: Add support for Linux on ppc64Sam Thursfield2017-09-271-0/+16
| | | | | | | | | | | | | This is equivalent to this upstream pull request: https://github.com/terencehonles/fusepy/pull/72 It is needed for BuildStream to work on ppc64 architectures. Without this fix, the FUSE safe-hardlinks filesystem returns garbage. One visible effect is that running integration commands fails with "executable format error" (due to the filesystem returning garbage in place of the actual binary). https://gitlab.com/BuildStream/buildstream/issues/83
* Fork and embed fusepySam Thursfield2017-09-275-4/+988
| | | | | | | | | | | | | | | The upstream of fuse.py is <https://github.com/terencehonles/fusepy>. It looks pretty abandoned -- there have been no commits there since 5th April 2016 and there are 17 pull requests dating from 2013 onwards that are still waiting for responses from the maintainer. There's no support in fuse.py for ppc64 platforms which means BuildStream is unusable on that architecture at present. My pull request to fix that upstream is being ignored; since the module is a single .py file provided under the ISC license it is simplest to pull the whole thing into buildstream.git instead. The version of fuse.py that's been embedded is the one from pull request #72, from upstream release v2.0.4 (commit 0eafeb5).
* _loader.py: Allow environment-nocache on elements.93-creating-a-child-task-can-fail-and-raise-a-stack-traceTristan Van Berkom2017-09-221-1/+1
| | | | Fixes another regression from validating all the loaded node attributes.
* bst push: Check connectivity to cache before trying to pushsam/push-check-connectivitySam Thursfield2017-09-201-0/+2
| | | | | | On slow machines, the actual push operation can spend several minutes preparing before actually pushing, which is annoying if the push then fails.
* Specify the minimum required version of pytestMathieu Bridon2017-09-201-1/+1
| | | | | | | | A previous change introduced the usage of pytest.param to our test suite in commit 7aba0bfc906409073c4d246ec009a8622551726a. This was only added to pytest 3.1.0, and the tests can't work with older versions.
* Test the proper fallback of artifact configsMathieu Bridon2017-09-192-7/+67
|
* Let users override project artifacts optionsMathieu Bridon2017-09-194-3/+35
| | | | | | | | | | | | | | | | | | | A project can specify its artifacts cache sharing settings, and users can define a default artifacts cache to use as a fallback. With this change, users can also override the project configuration with their own. That means for a project named "libfoo", BuildStream will resolve the artifacts-related options in the following order: 1. the projects.libfoo.artifacts options from the user configuration; 2. if the above was not defined, then the artifacts options from the project configuration; 3. if the above was not defined, then the artifacts options from the user configuration; Fixes #87
* Let projects configure their artifacts pull/push optionsMathieu Bridon2017-09-194-5/+36
| | | | | | | With this commit, we first look at the artifacts options in the project configuration, then fall back on the user configuration if necessary. Relates to #87
* Give the various artifact_* attributes to the ArtifactCacheMathieu Bridon2017-09-192-22/+26
| | | | | Having them there will allow overriding the user configuration (the context) with the project configuration.
* Simplify a bit of codeMathieu Bridon2017-09-191-5/+1
| | | | | There's no need to set a default value, then ignore a KeyError when we can directly use dict.get().
* plugin.py: Add note on plugin extension supportTristan Van Berkom2017-09-191-0/+7
| | | | Note: original patch by Tristan Maat on MR !92, wording modified.
* project.py: Allow 'host-arches' and 'arches' in project.confsam/project.conf-archesSam Thursfield2017-09-171-1/+2
| | | | This fixes a regression from 6691d0eb7e20c5872d7a5f439f308ae46019777f.
* plugin.py: Fix documentation to link to correct file70-third-party-plugin-sharingTristan Van Berkom2017-09-141-1/+1
|
* Add testsTristan Maat2017-09-146-0/+111
|
* Fix affected test casesTristan Maat2017-09-141-6/+6
|
* Add documentationTristan Maat2017-09-145-1/+70
|
* Add loaded plugins to logTristan Maat2017-09-142-1/+32
|
* Add support for YAML default config loadingTristan Maat2017-09-144-16/+24
|
* _plugincontext.py: Add support for pip-installed pluginsTristan Maat2017-09-141-5/+42
|
* Fix affected test cases24-better-validation-for-loaded-yamlTristan Maat2017-09-145-4/+23
|
* Add source plugin node validationsTristan Maat2017-09-148-1/+19
|
* Add element plugin node validationsTristan Maat2017-09-147-4/+52
|
* context.py: Add user config node validationsTristan Maat2017-09-141-0/+18
|
* project.py: Add project config node validationsTristan Maat2017-09-141-0/+9
|
* Add element node validationsTristan Maat2017-09-144-0/+31
|
* Add _yaml.validate_nodeTristan Maat2017-09-133-0/+43
|
* tar.py source test case: Stop using tar's private _sha256sum() methodTristan Van Berkom2017-09-121-4/+5
| | | | | That was removed anyway, now use utils.sha256sum() to calculate the expected tar ref.
* source.py: Use utils.sha256sum() when calculating workspace keysTristan Van Berkom2017-09-121-11/+7
|
* patch.py source plugin: Use utils.sha256sum()Tristan Van Berkom2017-09-121-11/+1
|
* tar.py source plugin: Use utils.sha256sum()Tristan Van Berkom2017-09-121-9/+1
|
* local.py source plugin: Use utils.sha256sum()Tristan Van Berkom2017-09-121-10/+6
|
* utils.py: Added sha256sum utilityTristan Van Berkom2017-09-121-0/+21
| | | | | This little bit of code was being repeated a bunch of times already throughout buildstream, looks sane enough to offer a utility.
* Construct pipeline without push queue if cannot push to artifact cacheChandan Singh2017-09-121-8/+9
| | | | | | | | | Currently, if BuildStream is unable to push to the artifact cache for whatever reason, the build will just error out. Fix it so that if we are unable to push to the shared cache, we give a warning to the user and continue building. Fixes https://gitlab.com/BuildStream/buildstream/issues/90