summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix bugs and style issues with pylint239-use-pylint-for-lintingTristan Maat2018-02-082-4/+1
|
* Add pylint exceptionsTristan Maat2018-02-085-6/+8
|
* Add pylint to CITristan Maat2018-02-084-2/+532
|
* Remove old workspace mount integration testJürg Billeter2018-02-077-110/+0
| | | | It has already been migrated.
* Add workspace mount integration test175-refactor-integration-testsTristan Maat2018-02-073-0/+50
|
* Remove old integration testsTristan Maat2018-02-07187-2341/+0
|
* Merge integration tests into general testsTristan Maat2018-02-0734-69/+109
|
* shell.py: Add shell testTristan Maat2018-02-071-0/+78
|
* Add bzr testTristan Maat2018-02-073-0/+49
|
* Migrate element test filesTristan Maat2018-02-0728-0/+794
|
* Add test utilities for integration testsTristan Maat2018-02-074-26/+132
|
* runcli.py: Allow setting individual config settingsTristan Maat2018-02-071-4/+8
|
* .gitignore: Add rules for various testing directoriesTristan Maat2018-02-071-3/+7
|
* tests/frontend/overlaps.py: Add test for runtime dependency stagingJürg Billeter2018-02-072-0/+19
| | | | This test covers #225.
* element.py: Fix staging of runtime dependencies with overlapsAbderrahim Kitouni2018-02-071-1/+1
| | | | | | | | This fixes `bst shell` crashes in the presence of overlaps. Fixes #225 Fixes: 2aa233da ("element: Handle overlaps with a whitelist and...")
* tests/cachekey: Updating cache key test for new artifact versioncache-keys-os-archTristan Van Berkom2018-02-0724-24/+24
|
* _project.py: Bumping artifact version for execution environmentTristan Van Berkom2018-02-071-1/+1
| | | | | Now that we consider the arch and os for every artifact, lets bump the core artifact version to make this trackable.
* element.py: Consider execution environment in cache keyTristan Van Berkom2018-02-071-0/+10
| | | | | | Do this by default for every element, later we will have to handle it differently when supporting projects which build on specific arches with virtualization or networked workers.
* _pipeline.py: Silence some messages while interrogating source consistencyTristan Van Berkom2018-02-071-3/+4
|
* Revert "image_authoring.rst: Add image creation documentation"Jürg Billeter2018-02-071-69/+0
| | | | | | This was pushed accidentally. This reverts commit 34a60189be63dc86d333ca895ce44bd24adb43c3.
* image_authoring.rst: Add image creation documentationTristan Maat2018-02-061-0/+69
|
* Increase the soft limit for open file descriptorsjuerg/fuse-rlimitJürg Billeter2018-02-061-0/+9
| | | | | | | | SafeHardlinks FUSE needs to hold file descriptors for all processes in the sandbox. Avoid hitting the limit too quickly by increasing the soft limit to the maximum. Fixes #232
* setup.py: Require jinja >= 2.10Javier Jardón2018-02-051-1/+1
| | | | | | jinja2 2.10 import time has been divided by two compared to Jinja 2.9.6 Fixes #194
* .gitlab-ci.yml: Update docker image so it contains jinja >= 2.10Javier Jardón2018-02-051-1/+1
|
* Update copyright years of changed filesSam Thursfield2018-02-053-2/+3
|
* Improve documentation for autotools, cmake and meson elementsSam Thursfield2018-02-056-13/+101
| | | | | | The key change is to document the correct usage of the conf-local and conf-global style options, as it was previously impossible to figure that out from the documentation.
* plugins/elements/cmake.yaml: Remove unexplained FIXME commentSam Thursfield2018-02-051-1/+0
|
* Add tests for workspace config format conversionChandan Singh2018-02-051-0/+54
|
* Make workspaces element-wide instead of source-specificChandan Singh2018-02-054-85/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | At present, BuildStream supports source-specific workspaces. This patch makes workspaces element-wide. This will bring workspaces closer to what the build area looks like inside the sandbox when the build actually happens. As part of this change, format of `.bst/workspaces.yaml` file will also change. Previously, each element used to have a dict mapping each source to its workspace directory. Now, each element will directly map to its workspace directory. If users have existing workspaces open, this patch tries to cope with it but in some cases, it is not possible to reliably convert workspace config from old format to new format. When an element has workspace open for just one source, we assume that to be the workspace directory. But if there were more than one workspaces associated with an element, BuildStream will simply error out describing the issue. Note that the actual contents of the workspace directory are not changed in any case. So, if an element had multiple sources associated with it but only had workspace open for source, the other sources will not be automatically staged in the workspace unless the user runs `workspace reset` or something equivalent. Part of #209.
* _frontend: remove unused 'ctx' param from overrideAngelos Evripiotis2018-01-312-13/+8
| | | | | The 'ctx' parameter is carefully threaded through to 'complete_target', but it doesn't actually use it. Remove the parameter from unused places.
* _frontend: more doc on parametersAngelos Evripiotis2018-01-312-5/+24
|
* Get version number w/o pkg_resourcesGökçen Nurlu2018-01-316-11/+19
| | | | | | | | | | | | This removes most of the usages of pkg_resources from the codebase, helping the goal of getting rid of that completely. With this change, version number is generated during install and embedded into `__version__` which is then imported by root level `__init__`. From there, it is used by other parts of the codebase when needed. Generated `__version__` file is ignored and not tracked by git to prevent unnecessary 'changes' messages and accidental commits of that file.
* Modify the generated CLI script by monkey patchingGökçen Nurlu2018-01-311-0/+37
| | | | | | | This change monkey patches setuptools' code generation functionality, so that pkg_resources won't be imported in the generated file. Fixes #172
* doc/source/install.rst: Simplified as per recommendations of Allan DayTristan Van Berkom2018-01-291-23/+38
|
* doc: Explain overlap-whitelist and fail-on-overlap164-minimise-overlaps-by-having-overlaps-raise-exceptions-unless-configured-not-toJonathan Maw2018-01-252-0/+40
|
* tests: Add overlap testsJonathan Maw2018-01-2518-15/+125
|
* tests: Move test_overlaps test filesJonathan Maw2018-01-255-4/+5
| | | | | This was done so that the files can be re-used with different project.conf.
* tests: Remove stray printing during overlap testJonathan Maw2018-01-251-1/+0
|
* Add explicit error handling for ElementErrors that happen as a result of ↵Jonathan Maw2018-01-252-13/+20
| | | | staging artifacts
* element: Handle overlaps with a whitelist and option to raise errorsJonathan Maw2018-01-252-3/+49
| | | | | | | | | * Adds the 'overlap-whitelist' field to elements' public data. This is a list of globs that match files that the element is allowed to overlap other elements with. * Adds the project-wide 'fail-on-overlaps' field. If set, non-whitelisted overlaps will raise an error instead of printing a warning.
* element: Fix 'detail' not being stored in the ElementErrorJonathan Maw2018-01-251-1/+1
|
* Raise warning if workspaced source's ref is updatedincremental-buildChandan Singh2018-01-251-0/+4
| | | | | | | In case a source with an open workspace is tracked and it's ref gets updated, BuildStream should inform the user that the new ref will not be picked up so long as the workspace is open. To start using the updated ref, the existing workspace will have to be closed.
* Add support for doing incremental buildsChandan Singh2018-01-2515-18/+275
| | | | | | | | | | | | | | | | | | | | | | | | | This functionality is only supported for sources which have an open workspace. When such sources are present, the workspace directory will be mounted directly inside the sandbox. As opposed to the default behavior, which is to copy files inside the sandbox. This will save time when building large projects as only those files will need be re-compiled that have been modified during two consecutive builds (assuming the underlying build system supports such behavior). A few things to note regarding this behavior: - If there are any `configure-commands` present, they will run only once for each open workspace. If an element has multiple workspaces and any one of them is opened/closed, they will be executed again on the next run. But, modifying the contents of a workspace will not trigger the `configure-commands` to be executed on the next run. - Workspaced builds still leverage the cache. So, if no changes are made to the workspace, i.e. no files are modified, then it will not force a rebuild. Fixes #192.
* element.py: Call _update_state() in _schedule_tracking()Jürg Billeter2018-01-251-0/+2
| | | | Do not depend on caller calling it on its own.
* buildstream/utils.py: remove unused import 'pickle'Angelos Evripiotis2018-01-241-1/+0
|
* tests/frontend/pull.py: Add track+pull test for non-strict build planJürg Billeter2018-01-231-0/+44
|
* tests/frontend/pull.py: Add pull test for non-strict build planJürg Billeter2018-01-231-0/+51
|
* Keep track of failed pull operationsjuerg/202Jürg Billeter2018-01-232-0/+16
| | | | | Do not consider pull as pending if pull failed. This is required to allow fallback to fetch and build after pull failure.
* element.py: Use _pull_pending() in _update_state()Jürg Billeter2018-01-231-1/+4
| | | | | | This fixes strong cache key handling when the local cache contains an artifact that matches the weak cache key and the remote cache contains an artifact that matches the strict cache key.
* Add Element._pull_pending() methodJürg Billeter2018-01-232-10/+19
| | | | | | | This moves the pull status logic from PullQueue to Element. As PullQueue.process() simply calls Element._pull(), it doesn't make sense to keep the status logic in PullQueue. This is also required to use the pull status in other places without code duplication.