Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add image doc projectimage-authoring | Tristan Maat | 2018-02-14 | 16 | -1/+734 |
| | |||||
* | image_authoring.rst: Add image creation documentation | Tristan Maat | 2018-02-14 | 1 | -0/+333 |
| | |||||
* | .gitlab-ci.yml: Support test execution in other repositories | Jürg Billeter | 2018-02-13 | 1 | -2/+5 |
| | | | | | | | Do not make any assumptions about the working directory as that varies across repositories. Fixes #251 | ||||
* | _frontend/cli.py: Check for invalid --track-except or --track-save | Phillip Smyth | 2018-02-13 | 1 | -0/+8 |
| | | | | | | | Report error when --track-except or --track-save is specified without --track or --track-all. Fixes #181 | ||||
* | _frontend/cli.py: Improve closing of non-existing workspace | Phillip Smyth | 2018-02-13 | 1 | -0/+5 |
| | | | | Fixes #182 | ||||
* | source.py: fix comment typo | Angelos Evripiotis | 2018-02-13 | 1 | -1/+1 |
| | |||||
* | doc: consistent source staging dir doc | Angelos Evripiotis | 2018-02-13 | 3 | -0/+9 |
| | | | | | All source plugins respond to the 'directory' key, so add the doc for it to those that didn't have it. | ||||
* | source.py: Fix typo in workspace warning | Jürg Billeter | 2018-02-13 | 1 | -1/+1 |
| | | | | Fixes #250 | ||||
* | scheduler.py: Do not prematurely terminate loop after skipping jobsjuerg/scheduler | Jürg Billeter | 2018-02-12 | 1 | -1/+7 |
| | | | | | | | | It is possible that Queue.process_ready() skips jobs without starting a job. Pull the skipped jobs forward through the queues and process them instead of prematurely terminating the loop due to lack of active jobs. Fixes #236 | ||||
* | .gitlab-ci.yml: Fix INTEGRATION_CACHE | Jürg Billeter | 2018-02-12 | 1 | -5/+2 |
| | | | | | The working directory of the runner is /builds/BuildStream/buildstream, not /builds/BuildStream. | ||||
* | test: Add tests that bzr workspace initialization acts as expected | Jonathan Maw | 2018-02-12 | 1 | -0/+19 |
| | |||||
* | bzr: Implement init_workspace | Jonathan Maw | 2018-02-12 | 1 | -0/+15 |
| | | | | | This will checkout a branch from the cache, and switch its parent branch to the url and ref that the source came from | ||||
* | utils.py: Wrap calls to os.path.realpath() in an LRU cache | Sam Thursfield | 2018-02-12 | 1 | -9/+15 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | The os.path.realpath() function is expensive and we call it many times, to the point that os.path.realpath() calls make up around 40% of the total time spent in Element.stage_artifact(). The cleanest way to fix this is with a `functools.lru_cache()` wrapper that caches recently used values. None of the code in question can be removed (as the tests added in the previous commit will demonstrate). I tested this by running `bst shell base/base-system.bst true` in the GNOME modulesets project. o Without this patch there are 240,019 calls os.path.realpath() o With this patch there are 10,379 calls to os.path.realpath() o If we increase the cache size to 128 items, there are 10,359 calls to os.path.realpath(). o If we reduce the cache size to 32 items, there are 10,426 calls. o In all cases the number of *unique* calls is 10,327. This fixes issue #174. | ||||
* | Add integration tests for edge cases involving symlinks and overlaps | Sam Thursfield | 2018-02-12 | 5 | -0/+152 |
| | |||||
* | projectconf.rst: clarify 'type option'options_type | Angelos Evripiotis | 2018-02-11 | 1 | -2/+2 |
| | | | | | | | Reword 'Flags type options' slightly for more clarity. We use 'option type' to refer to these thingies elsewhere, adjust 'arch' to be the same way. | ||||
* | Refactor CLI importscompletion-optimizations | Tristan Maat | 2018-02-08 | 5 | -700/+721 |
| | | | | | This reduces the number of unconditional imports, mainly to speed up bash completion. | ||||
* | Add a 'path' config option to junction elements | Sam Thursfield | 2018-02-08 | 2 | -1/+16 |
| | | | | | | | | | | | | | | | | | | | This makes it possible to depend on a project which is in a subdirectory of a Git repository. The error message given when the expected project.conf file is not found has also been improved. Previously the error would look like this: Error loading pipeline: Could not find file at /home/sam/.cache/buildstream/build/freedesktop-sdk-junction-rvmn17s2/project.conf This is giving the path of an internal temporary directory where the foreign project's source is checked out. The new error gives more information: Error loading pipeline: Could not find the project.conf file for junction element at freedesktop-sdk-junction.bst [line 1 column 0]. Expecting a project at path '.' within git source at freedesktop-sdk-junction.bst [line 4 column 2] | ||||
* | Add test for project-specific artifact shares with junctions | Jürg Billeter | 2018-02-08 | 10 | -0/+121 |
| | |||||
* | _artifactcache: Use project-specific remotes for subprojects | Jürg Billeter | 2018-02-08 | 7 | -52/+128 |
| | |||||
* | Add list of projects to Context | Jürg Billeter | 2018-02-08 | 2 | -0/+23 |
| | |||||
* | Add junction tests | Jürg Billeter | 2018-02-08 | 47 | -0/+435 |
| | |||||
* | Add junction support for subprojects | Jürg Billeter | 2018-02-08 | 13 | -33/+400 |
| | | | | | This introduces junctions as a new kind of elements to allow dependencies to cross project boundaries. | ||||
* | _loader.py: Pass Loader instance to LoadElement | Jürg Billeter | 2018-02-08 | 1 | -4/+4 |
| | | | | Loader access will be required for junctions. | ||||
* | Add project attribute to MetaElement | Jürg Billeter | 2018-02-08 | 3 | -7/+10 |
| | | | | With junctions, elements may be loaded from multiple projects. | ||||
* | Pass Project instance to Loader | Jürg Billeter | 2018-02-08 | 7 | -29/+33 |
| | | | | Project access will be required for junctions. | ||||
* | Move element and source factories from Pipeline to Project | Jürg Billeter | 2018-02-08 | 4 | -30/+31 |
| | | | | Element and source factories use a project-specific search path. | ||||
* | Move cli_options from Context to Project | Jürg Billeter | 2018-02-08 | 9 | -19/+20 |
| | | | | cli_options are project-specific. | ||||
* | _options: Support transform function for variable substitution | Jürg Billeter | 2018-02-08 | 5 | -7/+15 |
| | |||||
* | element.py: Split errors and warnings for overlaps | Jürg Billeter | 2018-02-08 | 1 | -17/+25 |
| | | | | | This ensures that overlap warnings from projects without fail-on-overlaps are not reported in fatal error messages. | ||||
* | Remove old workspace mount integration test | Jürg Billeter | 2018-02-07 | 7 | -110/+0 |
| | | | | It has already been migrated. | ||||
* | Add workspace mount integration test175-refactor-integration-tests | Tristan Maat | 2018-02-07 | 3 | -0/+50 |
| | |||||
* | Remove old integration tests | Tristan Maat | 2018-02-07 | 187 | -2341/+0 |
| | |||||
* | Merge integration tests into general tests | Tristan Maat | 2018-02-07 | 34 | -69/+109 |
| | |||||
* | shell.py: Add shell test | Tristan Maat | 2018-02-07 | 1 | -0/+78 |
| | |||||
* | Add bzr test | Tristan Maat | 2018-02-07 | 3 | -0/+49 |
| | |||||
* | Migrate element test files | Tristan Maat | 2018-02-07 | 28 | -0/+794 |
| | |||||
* | Add test utilities for integration tests | Tristan Maat | 2018-02-07 | 4 | -26/+132 |
| | |||||
* | runcli.py: Allow setting individual config settings | Tristan Maat | 2018-02-07 | 1 | -4/+8 |
| | |||||
* | .gitignore: Add rules for various testing directories | Tristan Maat | 2018-02-07 | 1 | -3/+7 |
| | |||||
* | tests/frontend/overlaps.py: Add test for runtime dependency staging | Jürg Billeter | 2018-02-07 | 2 | -0/+19 |
| | | | | This test covers #225. | ||||
* | element.py: Fix staging of runtime dependencies with overlaps | Abderrahim Kitouni | 2018-02-07 | 1 | -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-arch | Tristan Van Berkom | 2018-02-07 | 24 | -24/+24 |
| | |||||
* | _project.py: Bumping artifact version for execution environment | Tristan Van Berkom | 2018-02-07 | 1 | -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 key | Tristan Van Berkom | 2018-02-07 | 1 | -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 consistency | Tristan Van Berkom | 2018-02-07 | 1 | -3/+4 |
| | |||||
* | Revert "image_authoring.rst: Add image creation documentation" | Jürg Billeter | 2018-02-07 | 1 | -69/+0 |
| | | | | | | This was pushed accidentally. This reverts commit 34a60189be63dc86d333ca895ce44bd24adb43c3. | ||||
* | image_authoring.rst: Add image creation documentation | Tristan Maat | 2018-02-06 | 1 | -0/+69 |
| | |||||
* | Increase the soft limit for open file descriptorsjuerg/fuse-rlimit | Jürg Billeter | 2018-02-06 | 1 | -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.10 | Javier Jardón | 2018-02-05 | 1 | -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.10 | Javier Jardón | 2018-02-05 | 1 | -1/+1 |
| |