summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add a test for overlaps114-give-better-warnings-on-overlapsJonathan Maw2017-12-0113-0/+62
|
* Produce a more in-depth report of overlaps when stagingJonathan Maw2017-12-011-9/+23
| | | | | The information provided by link_files is not sufficient to know which element had the overlapped file.
* utils: Expand file copying to optionally report files writtenJonathan Maw2017-12-011-7/+23
|
* buildstream/plugins/elements: Add *-global and *-local configuration variablesJavier Jardón2017-11-303-3/+9
| | | | | | | | | This will allow to define: - global configuration parameters that will be used to all the elements using that build system - local configuration parameters that will override the global ones Left *-extra for compatibility
* Issue #142: Ensure we don't append provenances twiceTristan Maat2017-11-302-5/+10
|
* Add a test for tar lzipValentin David2017-11-303-0/+58
|
* Add support for lzip in tar source. Fix #158.Valentin David2017-11-301-1/+32
|
* Allow stdout and stderr to be overriden in Plugin.callValentin David2017-11-301-5/+4
|
* _options/optionpool.py: Split load_valuesJürg Billeter2017-11-302-6/+14
| | | | | Split load_values into load_yaml_values and load_cli_values to allow independent loading from multiple YAML nodes.
* _pipeline.py: Load platform before creating Loader instanceJürg Billeter2017-11-301-5/+5
| | | | This allows platform access in Loader code.
* _loader.py: Remove historic distinction between element name and filenameJürg Billeter2017-11-301-8/+6
| | | | They have been the same for a long time.
* _loader.py: Remove unused basedir attribute from LoadElementJürg Billeter2017-11-301-5/+2
|
* _loader.py: Remove unused owner attribute from DependencyJürg Billeter2017-11-301-7/+6
|
* _loader.py: Create Dependency objects for dummy targetJürg Billeter2017-11-301-1/+1
| | | | Match the structure of real targets.
* .coveragerc: Ignore eggsJürg Billeter2017-11-301-0/+1
|
* plugin.py: Add log() methodSam Thursfield2017-11-291-0/+12
| | | | This is a helper to log messages into the plugin's log file.
* Fix untar of symlinks. Only hardlinks are relative to top of archive and ↵Valentin David2017-11-291-3/+1
| | | | should be normalized.
* bst-here: Mitigate permission issuesbst-here-permissionsTristan Maat2017-11-291-2/+10
|
* .gitlab-ci.yml: Use source distribution tarballs in all testsTristan Van Berkom2017-11-281-13/+74
| | | | | | | | | | | | This commit adds an initial stage to the pipeline to build a distribution tarball and generate some helper scripts for later CI to use to unpack it and install it. Then, it makes sure that all pytest and integration test runs work from the dist tarball instead of directly from the git repo, also the docs are built from the dist tarball. This ensures that everything continues to work with a dist tarball at all times.
* Remove all deleted paths from manifest after integration commands inValentin David2017-11-271-1/+3
| | | | | | | | | | compose plugin including paths still reachable through following of symbolic links. Keeping reachable paths through following of symbolic links in manifest. Can lead to ENOENT error when copying the file if target directory of a symbolic link is not yet created. The file is anyway copied since the real path of the file is also in the manifest.
* .gitlab-ci.yml: Use specific version of buildstream-fedora Docker imageSam Thursfield2017-11-271-1/+1
| | | | | | | | | | | | | | | | | | | | The image is rebuilt nightly which means it could change under our feet and cause confusing breakages. The reason for these nightly rebuilds is so that the `bst-here` script offers a reasonably fresh version of BuildStream to users. But it also means that dependencies could change in broken ways. You can see the list of tags here, ordered by newness: https://hub.docker.com/r/buildstream/buildstream-fedora/tags/ The number in one of these tag names is the "version" of the image (which is really the number of commits in the buildstream-docker-images repo), while the hex string identifies the commit of BuildStream that the image contains. When changing the Docker image (to add new dependencies, or whatever) you will need to wait until the new tag is pushed, then modify .gitlab-ci.yml so that it pulls the new tag.
* Replace call to legacy urllib.request.urlretrieve by urllib.request.urlopen ↵Valentin David2017-11-251-8/+12
| | | | and add accept header to avoid 406 error on some http servers (e.g alioth.debian.org).
* setup.py: Pinning coverage at 4.4.0 instead of 4.2Tristan Van Berkom2017-11-251-1/+1
| | | | | | Our problem is with 4.4.2; and 4.2 lacks some features and fails to collect all of the coverage from sub processes, causing our reports to drop by 10%.
* Only initialize remote artifact cache connections if neededSam Thursfield2017-11-234-15/+26
| | | | | | | | | | | | | | | | This fixes a regression from the canonical-pull-urls branch that was just merged. The `OSTreeCache.__init__()` function was connecting to the cache, which is bad because execution would randomly freeze for several seconds when the connection was slow. We now only initialize remote connections where needed; this was already introduced in 5c2ef6d076921bc0121e61efaa7a719c34ea1912 but had regressed. I renamed the keyword arg from `fetch_remote_refs` to `use_remote_cache` because it needs to be set for any interaction with the remote cache, doesn't matter if they are fetches or pushes. The initialization stage is also moved later so that we print a message telling the user what we are up to before trying the network access.
* _artifactcache.py: Fixed stack trace regression in pushing of artifacts.Tristan Van Berkom2017-11-241-2/+2
|
* Replace 'push-url' and 'pull-url' options with just 'url'sam/canonical-push-urlsSam Thursfield2017-11-2211-123/+73
| | | | | | | | This is possible now that the SSH protocol can redirect to the appropriate pull URL. Note that this commit makes no attempt at backwards compatibility. Everthing will break!
* Remove the push-port config optionSam Thursfield2017-11-229-40/+16
| | | | | | | | | | | | Ports can and should be specified by using proper ssh:// URL forms, e.g: ssh://artifacts@example.com:22200/artifacts The alternate form of artifacts@example.com:artifacts isn't a valid URL, and doesn't let you specify a different port. People are used to this form due to Git continuing to use it but we should encourage people to use proper URLs.
* Artifact push URLs must redirect to the corresponding pull URLSam Thursfield2017-11-223-16/+58
| | | | | | | | | | | | | | | | | This change is part of issue #112 ("Artifact configuration is confusing and fragile, need canonical push/pull urls.") It updates the bst-artifact-receive program to send a pull URL to clients who access it over SSH. This requires extra configuration in the artifact cache server, so that it knows the correct pull URL. Versions of BuildStream which contain this commit will not be able to communicate over SSH with artifact caches that have not been updated to the same version. Currently this is just used to double-check user configuration, but we can now simplify the user facing configuration for artifact caches completely.
* Check connectivity to remote cache on `bst push`Sam Thursfield2017-11-221-0/+2
|
* setup.py: Add pytest-xdist dependencyJürg Billeter2017-11-221-0/+2
| | | | | | This allows running tests in parallel: ./setup.py test --addopts "-n auto"
* Accept the first character as shortcut on interruption prompts130-interactive-prompt-prefixAntoine Wacheux2017-11-212-12/+74
| | | | | | | | On interruption, this makes buildstream to accept the first character of all the possible choices as if it was the full command. This behavior has been added to the failure screen and to the interruption screen. Fixes https://gitlab.com/BuildStream/buildstream/issues/130
* doc/source/install.rst: Added instructions to install on FedoraTristan Van Berkom2017-11-211-0/+9
| | | | | | | Used the packages names we use for the docker containers we use for CI, which are fedora based. Fingers crossed that this is the right set of package names.
* setup.py: Pinning coverage down to version 4.2Tristan Van Berkom2017-11-211-1/+3
| | | | | | | Seeing random crashes with 4.4.2, these are solved by simply using version 4.2. Need to investigate and report proper bug to upstream for this.
* Removing unneeded str() statements in "{}".format() statementsTristan Van Berkom2017-11-214-13/+13
| | | | | Since these changes were effected in 3b17762a4cab23c238762ca32baa348788347473, these stringifications are now implied and no longer needed.
* integration-tests: Adding a compose test ensuring removed files in ↵Tristan Van Berkom2017-11-204-5/+56
| | | | integration are removed
* plugins/elements/compose.py: post merge fixing of compose elementTristan Van Berkom2017-11-201-19/+27
| | | | | | | | | | o Some things changed in master since this patch, notably the keyword only arguments have changed o Enhanced the user feedback to mention removed, added and modified files resulting from running integration o Dont silence messages while integrating the sandbox
* element.py: Some changes to the added compute_manifest() methodTristan Van Berkom2017-11-201-10/+2
| | | | | | | | o Use the * parameter to denote keyword-only arguments o Remove the docs mentioning that it is specifically for the compose element use case, while it's only used here currently, it is not necessarily true.
* Handle removed files from integration in compose pluginValentin David2017-11-202-20/+58
| | | | Fixes issue #147
* _ostree.py: Fix string formatting in fetch()Jürg Billeter2017-11-201-1/+2
| | | | | | | | | New-style formatting does not implicitly convert from float to int. Add explicit conversion to fix the following error: ValueError: Unknown format code 'd' for object of type 'float' Fixes: 3b17762a ("Switch old-style string formattings to new...")
* Revert "Accept the first character as shortcut on interruption prompts"Tristan Van Berkom2017-11-192-74/+12
| | | | | | | This reverts commit d05f0f433979a6ae79667bb51d4a7a5f365941d6. Reverting this commit, seems to consistently break the cmake integration test when running on gitlab
* Accept the first character as shortcut on interruption promptsAntoine Wacheux2017-11-192-12/+74
| | | | | | | | On interruption, this makes buildstream to accept the first character of all the possible choices as if it was the full command. This behavior has been added to the failure screen and to the interruption screen. Fixes https://gitlab.com/BuildStream/buildstream/issues/130
* tests/pipeline/load.py: Enhanced and added test cases for exceptionsTristan Van Berkom2017-11-1812-34/+73
| | | | | | | | | Make this into a single paramaterized test case and test a few more combinations: o Ensure that excepting works with multiple targets in play o Ensure that multiple exceptions succeed in excepting the commonly depended elements which are otherwise referred to by the target
* tests/testutils/runcli.bst: Fix get_pipeline() to not use mutable default ↵Tristan Van Berkom2017-11-181-1/+4
| | | | argument
* load.py: Add test to check intersection exceptionsTristan Maat2017-11-182-0/+24
|
* Fix testsTristan Maat2017-11-184-14/+3
|
* _pipeline.py: Adjust remove_elements to work on the 'intersection'Tristan Maat2017-11-181-38/+53
|
* Load excepted elements as part of the pipelineTristan Maat2017-11-182-13/+20
| | | | | | | | Causes --except specified elements to be loaded separately and the intersections of the except elements and the loaded pipeline to be calculated. This fixes issue #131
* main.py: Fix app initializationTristan Maat2017-11-181-6/+6
|
* utils.py: Fix variable name typoGökçen Nurlu2017-11-171-1/+1
|
* Switch old-style string formattings to new '.format()'Gökçen Nurlu2017-11-1717-80/+81
|