summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Generating man pagesTristan Van Berkom2017-09-1016-69/+115
| | | | | Including changes for newly added bst push & pull commands and also some changes to the shell command.
* _sandboxbwrap.py: Make terminal control setting conditional on stdin being a ttytesting-shellTristan Van Berkom2017-09-101-1/+1
| | | | So that interactive sandbox mode can be used in a test or automated scenario.
* _frontend/main.py: Changes to the bst shell commandTristan Van Berkom2017-09-101-22/+23
| | | | | | | | | | | | | | | | | | | | | | | bst shell command is now an optional argument, which defaults to ['sh', '-i']. This allows one to override the command including the shell, so one need not invoke the shell, thus it fixes issue #86. Instead of an option. This means we can pick up a complete command line after the '--' token directly from the remaining argument vector, which makes escaping of things a bit less complicated. E.g.: bst shell --scope run <target.bst> -- sh -c "echo Hello World" Further, the --scope argument is removed in favor of defaulting to the --scope=run behavior, and adding a --build option (use `bst shell --build <target>` for build shells, otherwise juse use `bst shell <target>` for run shells). Finally, the --builddir has been renamed to --sysroot; which a bit more accurately describes what it is.
* element.py: Changed Element._shell() behaviors.Tristan Van Berkom2017-09-101-5/+7
| | | | | | o The command argument is a list, not a string o The default value for the command list is ['sh', '-i'] o The sandbox is always run interactively
* tests/cachekey: Adding cache key tests for new patch sourceTristan Van Berkom2017-09-099-1/+30
|
* Adding new patch source to the docs index.Tristan Van Berkom2017-09-091-0/+1
|
* Add patch source pluginChandan Singh2017-09-0923-7/+341
| | | | Fixes #63
* _yaml.py: Removing unused CompositePolicy.STRICTTristan Van Berkom2017-09-091-14/+2
| | | | | This composite policy is on the way out the door anyway, first lets reduce some unused code though.
* Dockerfile-build.sh: remove DNF cache at the end of the buildSam Thursfield2017-09-091-0/+1
| | | | This saves over 100MB from the resulting image size.
* .gitlab-ci.yml: Also use the .coveragerc when reportingTristan Van Berkom2017-09-081-1/+1
|
* .gitlab-ci.yml: Produce combined coverage reportTristan Van Berkom2017-09-081-4/+43
| | | | | | This report combines the coverage from the integration tests and the pytest suite together into one report so we can see just what parts of the code base we're covering collectively.
* .coveragerc: Configuring so that reports from different environments can be ↵Tristan Van Berkom2017-09-081-7/+11
| | | | combined
* _ostree.py: Removed remove()Tristan Van Berkom2017-09-081-23/+0
| | | | | | | | The remove() API is not used anywhere, it was previously used by ArtifactCache.remove() which itself was unused. If we need it in the future, it will be right here in the history.
* _artifactcache/artifactcache.py: Removed remove()Tristan Van Berkom2017-09-081-16/+0
| | | | | The remove() API is not used anywhere, except for previously being tested.
* Removing artifact cache tests.Tristan Van Berkom2017-09-083-113/+0
| | | | | | | | | | Except for the ArtifactCache.remove() test, all of these assertions are covered by the frontend `push` and `pull` tests. The remove() API itself is unused except for being tested, lets leave this functionality out until it's used. The highlevel tests are easier to write and exercise more of the codebase to assert the right behaviors, so lets only maintain that.
* .coveragerc: Indicate that we use multiprocessingTristan Van Berkom2017-09-061-2/+10
| | | | | | | The coverage reports do not include codepaths reached by forked processes with multiprocessing unless we configure this, now we have a more accurate report (and up from 69% to 73% !)
* doc/source/install.rst: Fixing docs for required OSTree versionTristan Van Berkom2017-09-051-6/+1
| | | | | | | We require a newer version of OSTree now so the old note in the install.rst doesnt make sense anymore. This fixes issue #88
* tests/frontend/buildcheckout.py: Run tests in strict/non-strict modeTristan Van Berkom2017-09-051-9/+21
|
* source-bundle: don't use a subdirectory of {build_root}Charles Bailey2017-09-051-3/+3
| | | | | | | | | | Use {build_root} itself and not a subdirectory of {build_root} for the build area used in the source-bundle generated build scripts. This is consistent with what %{build-root} is expanded to when generating the build scripts. Fixes issue #67
* tests/completions/completions.py: Testing more completion casesTristan Van Berkom2017-09-0510-17/+114
|