summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* man: Updated man pages for new `--max-jobs` CLI argumenttristan/bst-1/config-max-jobsTristan Van Berkom2019-07-1517-112/+101
|
* tests/frontend/show.py: Test proper resolution of max-jobsTristan Van Berkom2019-07-151-0/+51
| | | | | | | | This tests that the resolution of the `max-jobs` automatic variable is properly controlled by the new user configuration and command line option, including the default automatic '0' value. Regression test for #1033
* _project.py: Use the user specified max-jobsTristan Van Berkom2019-07-141-1/+6
| | | | | | | Only use automatic max-jobs by default if the user has not requested a specific value for max-jobs. This is a part of #1033
* _frontend: Added toplevel `--max-jobs` configurationTristan Van Berkom2019-07-143-0/+4
| | | | | | | | | | | | | | | | While this is currently only relevant for `bst build`, it is a current implementation detail that user configuration which gets overridden by command line options must use toplevel options. This patch allows invocations such as the following to override the max-jobs: bst --max-jobs 16 build target.bst This also updates the completions test to expect the new toplevel option. This is a part of #1033
* _context.py: Added max-jobs configurationTristan Van Berkom2019-07-142-1/+23
| | | | | | | | This loads the configuration of the max-jobs variable from the user configuration, where the default is 0 (meaning use the maximum number of cores with a limit of 8). This is a part of #1033
* Merge branch 'tristan/exit-on-nonblock-terminal-1.2' into 'bst-1.2'bst-1.2-branchpointbst-marge-bot2019-07-121-0/+12
|\ | | | | | | | | _frontend/cli.py: Exit with error if output streams are set to nonblocking See merge request BuildStream/buildstream!1389
| * _frontend/cli.py: Exit with error if output streams are set to nonblockingtristan/exit-on-nonblock-terminal-1.2Tristan Van Berkom2019-07-101-0/+12
|/ | | | | | | This is better than raising a stack trace later on when logging gets intense with a BlockingIOError. This fixes #929
* Merge branch 'valentindavid/disable-test_expiry_order' into 'bst-1.2'Valentin David2019-06-281-0/+1
|\ | | | | | | | | tests/artifactcache/expiry.py: Disable test failing on builders See merge request BuildStream/buildstream!1436
| * tests/artifactcache/expiry.py: Disable test failing on buildersvalentindavid/disable-test_expiry_orderValentin David2019-06-281-0/+1
|/
* Merge branch 'tristan/fix-workspaced-junctions-1.2' into 'bst-1.2'Tristan Van Berkom2019-05-242-24/+57
|\ | | | | | | | | Fix workspaced junctions (1.2) See merge request BuildStream/buildstream!1355
| * tests/frontend/show.py: Test behavior of unfetched/inconsistent workspaced ↵tristan/fix-workspaced-junctions-1.2Tristan Van Berkom2019-05-241-6/+37
| | | | | | | | | | | | | | | | | | junctions We already test the behavior without workspaces, lets just augment these tests to also run with a workspaced junction and check the results. This guards against regressions of #1030.
| * _loader/loader.py: Check Element._get_consistency() for junction consistencyTristan Van Berkom2019-05-241-18/+20
|/ | | | | | | | | | Instead of looping over the sources directly, we should be using the canonical way of checking element consistency. This requires an additional call to Element._update_state() on the freshly loaded junction element in order to ensure we calculate consistency. This fixes issue #1030.
* NEWS: Updating for 1.2.7 release1.2.7Tristan Van Berkom2019-05-201-0/+14
|
* Merge branch 'coldtom/backport-MR792' into 'bst-1.2'bst-marge-bot2019-05-104-1/+20
|\ | | | | | | | | Backport !792 to bst-1.2 See merge request BuildStream/buildstream!1338
| * Adding test for Invalid Yamlknownexus2019-05-103-0/+16
| |
| * Incorrect error when malformed project.confknownexus2019-05-101-1/+4
|/ | | | | | | | bst build returns "missing project.conf" when a project.conf is invalid This results in an existing project with malformed yaml being dismissed and attempts to make a new project Added new exception
* Merge branch 'tristan/fix-build-track-all-no-strict-1.2' into 'bst-1.2'Tristan Van Berkom2019-05-102-4/+95
|\ | | | | | | | | Fix build track all no strict 1.2 See merge request BuildStream/buildstream!1331
| * tests/frontend/buildtrack.py: Test that tracking builds in non-strict mode ↵tristan/fix-build-track-all-no-strict-1.2Tristan Van Berkom2019-05-091-1/+77
| | | | | | | | | | | | actually build This is a regression test for issue #1014
| * tests/frontend/buildtrack.py: Extending tests to ensure we build after trackingTristan Van Berkom2019-05-091-2/+15
| | | | | | | | | | This adds a check to test_build_track() to ensure that the target is cached as a result of building with tracking of selected elements.
| * element.py: Update state on reverse dependencies when strict key is resolved.Tristan Van Berkom2019-05-091-1/+3
|/ | | | | | | | | | | | | When calculating the strict key, we do not know for sure yet that the element is required or whether it will ever have a cache key, as we could be tracking elements which will result in resolving an element which is a build-only dependency of the target. This ensures that we process all elements which need to be processed, which is important for cases where we are building in non-strict mode and tracking is also enabled. This fixes issue #1014
* Merge branch 'tristan/fix-missing-workspace-artifact-1.2' into 'bst-1.2'bst-marge-bot2019-05-063-4/+54
|\ | | | | | | | | element.py: Reset workspace state if last successful build is missing (1.2) See merge request BuildStream/buildstream!1329
| * tests/integration/workspace.py: Test that we don't crash when workspace ↵Tristan Van Berkom2019-05-061-0/+33
| | | | | | | | | | | | artifacts are deleted This is a regression test for #1017
| * tests/testutils/runcli.py: Fix remove_artifact_from_cache() to work with ↵Tristan Van Berkom2019-05-061-2/+2
| | | | | | | | | | | | | | | | | | subdirs. The artifact directories are based on the element normal_name, which substitutes any path separators with dashes. Fix the helper function to use the correct path.
| * element.py: Reset workspace state if last successful build is missing.Tristan Van Berkom2019-05-061-2/+19
|/ | | | | | | | If the artifact referred to by the last successful build in the workspace state no longer exists, reset the workspace state and do not attempt to perform an incremental build instead of crashing. This fixes #1017
* Merge branch 'jjardon/fedora_30_coverage' into 'bst-1.2'bst-marge-bot2019-05-041-0/+1
|\ | | | | | | | | .gitlab-ci.yml: Add fedora 30 to coverage report See merge request BuildStream/buildstream!1326
| * .gitlab-ci.yml: Add fedora 30 to coverage reportJavier Jardón2019-05-041-0/+1
|/
* Merge branch 'abderrahim/non-strict-key-display-1.2' into 'bst-1.2'bst-marge-bot2019-05-041-4/+4
|\ | | | | | | | | _artifactcache.py: display the actual key being pulled See merge request BuildStream/buildstream!1305
| * _artifactcache.py: display the actual key being pulledabderrahim/non-strict-key-display-1.2Abderrahim Kitouni2019-05-041-4/+4
|/ | | | Fixes #981
* Merge branch 'jjardon/remove_F28' into 'bst-1.2'Javier Jardón2019-05-041-5/+0
|\ | | | | | | | | .gitlab-ci.yml: Remove deprecated F28 See merge request BuildStream/buildstream!1321
| * .gitlab-ci.yml: Remove deprecated F28jjardon/remove_F28Javier Jardón2019-04-301-5/+0
|/
* NEWS: Updating for 1.2.6 release1.2.6Tristan Van Berkom2019-04-301-0/+22
|
* Merge branch 'tristan/fix-cloned-plugin-ids-1.2' into 'bst-1.2'bst-marge-bot2019-04-302-10/+21
|\ | | | | | | | | Tristan/fix cloned plugin ids 1.2 See merge request BuildStream/buildstream!1315
| * source.py: Inherit unique ID in cloned sourcestristan/fix-cloned-plugin-ids-1.2Tristan Van Berkom2019-04-291-3/+5
| | | | | | | | | | | | When cloning a Source, we should inherit the same unique ID for the sake of sending a valid ID in any messages sent back to the frontend from a source cloned in a child task.
| * plugin.py: Allow passing a unique_id through the constructor.Tristan Van Berkom2019-04-291-5/+9
| | | | | | | | | | | | | | In the case of cloned Sources, they should not be allocating a new ID in track() and fetch() in case they do communicate their ID back to the main process, they should inherit the same ID of the Source they were cloned from.
| * plugin.py: Start plugin ID counter at ID 1Tristan Van Berkom2019-04-291-2/+7
|/ | | | | | | | | | | This was always intended, but was not well commented. The reason we start plugin ID counters at 1 is that we prefer relying on a falsy value to determine whether an ID holding variable has been set or not. This patch also adds a more informative assertion in Plugin._lookup() This by itself essentially fixes #1012
* Merge branch 'bochecha/fix-docs-build' into 'bst-1.2'Tristan Van Berkom2019-04-222-2/+2
|\ | | | | | | | | Fix building the docs See merge request BuildStream/buildstream!1302
| * doc/source/format_declaring.rst: Fix the YAML blockMathieu Bridon2019-04-221-1/+1
| | | | | | | | String starting with a "%" character need to be quoted.
| * doc: Fix the build with Sphinx 2.0Mathieu Bridon2019-04-221-1/+1
|/ | | | | | | | | | | | Sphinx 1.7, released in February 2018 moved the sphinx.apidoc module to sphinx.ext.apidoc, with an alias and a deprecation warning in place so users know to port their code. The compatibility alias was removed in Sphinx 2.0, so we need to move to the new module name. Fortunately, since the new module name is more than a year old, this shouldn't break anything for anybody.
* Merge branch 'tristan/rename-errno-fix-1.2' into 'bst-1.2'bst-marge-bot2019-04-161-3/+3
|\ | | | | | | | | plugins/sources/git.py: Cope with rename returning error EEXIST See merge request BuildStream/buildstream!1294
| * plugins/sources/git.py: Cope with rename returning error EEXISTTristan Van Berkom2019-04-161-3/+3
|/ | | | Thanks to Matthew Yates for pointing this out.
* Merge branch 'tristan/fix-non-strict-push-1.2' into 'bst-1.2'bst-marge-bot2019-04-152-0/+60
|\ | | | | | | | | Fix non strict push 1.2 See merge request BuildStream/buildstream!1289
| * tests/frontend/push.py: Test pushing artifacts in non-strict modetristan/fix-non-strict-push-1.2Tristan Van Berkom2019-04-151-0/+46
| | | | | | | | This is a regression test for issue #990
| * _stream.py: Mark all elements as pulled in Stream.push()Tristan Van Berkom2019-04-151-0/+14
|/ | | | | | | | | Marking all elements as pulled in Stream.push() ensures that cache keys are resolved before pushing elements, otherwise state is left unresolved in non-strict mode while elements are awaiting to download an artifact by it's strict cache key. Fixes #990
* Merge branch 'tristan/platform-cache-quota-1.2' into 'bst-1.2'bst-marge-bot2019-04-1523-140/+466
|\ | | | | | | | | Cache quote related backports See merge request BuildStream/buildstream!1288
| * tests/testutils/artifactshare.py: Add message handlertristan/platform-cache-quota-1.2Tristan Van Berkom2019-04-141-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | This needs to be added along with the status messages added to the artifact cache, and this detail diverges from master. This is because we have not bothered to backport !1071 which refactors the CASCache to be a delegate object of the ArtifactCache istead of a derived class - backporting !1071 would allow us to remove these message handlers because the CAS server and test fixture only use the CASCache object directly, not the business logic in the ArtifactCache.
| * _artifactcache/casserver.py: Add message handlerTristan Van Berkom2019-04-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | This needs to be added along with the status messages added to the artifact cache, and this detail diverges from master. This is because we have not bothered to backport !1071 which refactors the CASCache to be a delegate object of the ArtifactCache istead of a derived class - backporting !1071 would allow us to remove these message handlers because the CAS server and test fixture only use the CASCache object directly, not the business logic in the ArtifactCache.
| * _scheduler/jobs/cleanupjob.py: Update cache size while processingTristan Van Berkom2019-04-141-1/+14
| | | | | | | | | | | | Updates the known cache size in the main process while the cleanup process is ongoing, so that the status indicators update live while the cleanup happens.
| * _scheduler/jobs/job.py: Allow subclasses to message the frontendTristan Van Berkom2019-04-141-19/+50
| |
| * _artifactcache.py: Added client progress callback to ArtifactCache.clean()Tristan Van Berkom2019-04-141-1/+12
| |
| * _artifactcache.py: Add status messages in cache management operationsTristan Van Berkom2019-04-141-5/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | Added some useful status messages when: * Calculating a new artifact cache usage size * Starting a cleanup * Finishing a cleanup Also enhanced messaging about what was cleaned up so far when aborting a cleanup.