summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge branch 'tristan/cache-management' into 'master'Tristan Van Berkom2019-01-245-24/+141
|\ | | | | | | | | Cache management fixes See merge request BuildStream/buildstream!1091
| * tests/artifactcache/expiry.py: Test that expiry happens firsttristan/cache-managementTristan Van Berkom2019-01-241-0/+64
| |
| * _frontend/widget.py: Render core messages more like other messagesTristan Van Berkom2019-01-243-21/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to test when core activities occur by parsing the stderr in tests, we should make the messages conform more. At the same time, this restores alignment of columns in core messages with the element processing related messages. Also, _scheduler/scheduler.py is updated to make it's activity names conform to the (current) 5 character limit for the sake of alignment. The tests/frontend/logging.py test gets it's regexes updated for the log lines it checks for in stderr.
| * _scheduler/scheduler.py: Run cache size exclusively at startupTristan Van Berkom2019-01-241-2/+59
| | | | | | | | | | | | | | | | | | | | | | | | When running any session that has Queues which require Resource.CACHE, check if our loaded estimated size exceeds the quota, and if so; lock the Resource.CACHE resource exclusively right away and run an exclusive initial cache size job. This ensures we cleanup first before doing anything which might add to the cache at startup time, if deemed needed. This is a partial fix for issue #737
| * _scheduler/resources.py: Dont error out in unregister_exclusive_interest()Tristan Van Berkom2019-01-241-1/+1
|/ | | | | | Don't require the interest to be registered, just discard any interest, this function just sets a bit in a mask, and is not intended to maintain a balance like the reserve() function is.
* Merge branch 'issue-638-validate-all-files' into 'master'Jürg Billeter2019-01-2432-45/+519
|\ | | | | | | | | Add support for default targets See merge request BuildStream/buildstream!925
| * NEWS: Add entry for default target featurePhillip Smyth2019-01-241-0/+4
| |
| * tests/frontend/buildcheckout.py: Add default target test with junctionJürg Billeter2019-01-244-0/+56
| | | | | | | | | | Test that `bst build` does not fail in a project where the list of default targets includes a junction (junctions cannot be built).
| * tests/frontend/pull.py: Add default target test for bst push/pullJürg Billeter2019-01-241-0/+50
| |
| * tests/frontend/fetch.py: Add default target test for bst source fetchJürg Billeter2019-01-241-0/+35
| |
| * tests/frontend: Add default target tests for bst show and buildPhillip Smyth2019-01-2419-0/+179
| |
| * format_project.rst: Add documentation for default targetsJürg Billeter2019-01-241-0/+38
| |
| * _frontend/cli.py: Ignore junctions in default targets where appropriateJürg Billeter2019-01-241-2/+17
| | | | | | | | | | | | | | Junctions cannot be built, pulled, or pushed. Specifying a junction on the command line for these commands will result in an error. However, junctions may be in the list of default targets, so they need to be ignored for build, pull, and push commands.
| * _stream.py: Add ignore_junction_targets parameterJürg Billeter2019-01-241-0/+15
| | | | | | | | This filters out junctions from the list of targets.
| * _project.py: Add get_default_target() and get_default_targets() methodsJürg Billeter2019-01-243-41/+115
| | | | | | | | | | | | _frontend/cli.py: Use new methods. Based on patches by Phillip Smyth.
| * projectconfig.yaml: Add key for default targetsPhillip Smyth2019-01-242-1/+9
| | | | | | | | _versions.py: Bump format version
| * _frontend/cli.py: Guess element also for bst build --allJürg Billeter2019-01-241-1/+1
|/ | | | There is no reason to disallow guess_element() for bst build --all.
* Merge branch 'jonathan/test-missing-workspace-guessing' into 'master'Jürg Billeter2019-01-241-25/+46
|\ | | | | | | | | Add tests to cover reinstated support for guessing targets See merge request BuildStream/buildstream!1042
| * tests: Test that fetching an open workspace will fetch its dependenciesJonathan Maw2019-01-241-21/+34
| | | | | | | | | | Previously, there was no way of detecting whether fetching happened, as an element with an open workspace will not be fetched.
| * Test that tracking in workspaces actually worksJonathan Maw2019-01-241-4/+12
|/ | | | | Previously, it merely tested that buildstream did not fall other, rather than whether it did anything useful.
* Merge branch 'tristan/track-test-reduce' into 'master'Tristan Van Berkom2019-01-241-4/+3
|\ | | | | | | | | test_track_error_cannot_write_file() fixup See merge request BuildStream/buildstream!1104
| * tests/frontend/track.py: test_track_error_cannot_write_file() fixupTristan Van Berkom2019-01-241-4/+3
|/ | | | | | | | | This tests how BuildStream reacts when it fails to write the tracking results to the element files or project.refs file, which is an operation that plugins do not play a part in. As such, removing the per repo kind parameterization from this test as multiple runs are redundant here.
* Merge branch 'tristan/test-element-states' into 'master'Tristan Van Berkom2019-01-248-68/+94
|\ | | | | | | | | Reduce number of calls to `bst show` in tests See merge request BuildStream/buildstream!1103
| * tests/frontend/workspace.py: Refactored to use get_element_states()Tristan Van Berkom2019-01-241-12/+16
| |
| * tests/frontend/track.py: Refactored to use get_element_states()Tristan Van Berkom2019-01-241-8/+12
| |
| * tests/frontend/push.py: Refactored to use get_element_states()Tristan Van Berkom2019-01-241-6/+9
| |
| * tests/frontend/pull.py: Refactored to use get_element_states()Tristan Van Berkom2019-01-241-4/+4
| |
| * tests/sources/remote.py: Refactored to use get_element_states()Tristan Van Berkom2019-01-241-6/+13
| |
| * tests/elements/filter.py: Refactored to use get_element_states()Tristan Van Berkom2019-01-241-4/+6
| |
| * tests/artifactcache/expiry.py: Refactored to use get_element_states()Tristan Van Berkom2019-01-241-23/+30
| |
| * tests/testutils/runcli.py: Make get_element_states() take a list of targetsTristan Van Berkom2019-01-242-5/+4
|/ | | | | Instead of a single target, we can always provide a single target in a list.
* Merge branch 'tristan/insufficient-storage-error' into 'master'Tristan Van Berkom2019-01-244-58/+60
|\ | | | | | | | | Tristan/insufficient storage error See merge request BuildStream/buildstream!1102
| * _artifactcache.py: Raise ArtifactError() when quota size exceeds disk space.tristan/insufficient-storage-errorTristan Van Berkom2019-01-233-26/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not an error related to loading data, like a parse error in the quota specification is, but a problem raised by the artifact cache - this allows us to assert more specific machine readable errors in test cases (instead of checking the string in stderr, which this patch also fixes). This also removes a typo from the error message in the said error. * tests/artifactcache/cache_size.py Updated test case to expect the artifact error, which consequently changes the test case to properly assert a machine readable error instead of asserting text in the stderr (which is the real, secret motivation behind this patch). * tests/artifactcache/expiry.py: Reworked test_invalid_cache_quota() Now expect the artifact error for the tests which check configurations which create caches too large to fit on the disk.
| * tests: Migrated cache quota test into artifactcache/cache_size.pyTristan Van Berkom2019-01-232-34/+28
|/ | | | Instead of sitting mysteriously alone in internals/utils.py
* Merge branch 'chandan/unpin-sphinx' into 'master'Chandan Singh2019-01-231-3/+3
|\ | | | | | | | | tox.ini: Unpin sphinx dependency See merge request BuildStream/buildstream!1093
| * tox.ini: Unpin sphinx dependencyChandan Singh2019-01-231-3/+3
|/ | | | | | https://github.com/rtfd/sphinx_rtd_theme/pull/672 has been fixed upstream, and the newer versions of `sphinx_rtd_theme` do not break search functionality with Sphinx >= 1.8.
* Merge branch 'tristan/fix-pullbuildtrees-test' into 'master'Tristan Van Berkom2019-01-221-42/+42
|\ | | | | | | | | tests/integration/pullbuildtrees.py: Fix the non-integration case. See merge request BuildStream/buildstream!1098
| * tests/integration/pullbuildtrees.py: Fix the non-integration case.Tristan Van Berkom2019-01-221-42/+42
|/ | | | | | | | | | This test has one test case which is marked as an integration test, and the other is not an integration test, but was using the integration cli. The integration cli does not work correctly if not run in integration mode. This was causing an error locally in conftest.py when trying to create a tmpdir inside a nonexisting integration cache directory.
* Merge branch 'tristan/fix-terminated-status' into 'master'Tristan Van Berkom2019-01-222-1/+11
|\ | | | | | | | | _scheduler: Fix dont display a failure for terminated jobs See merge request BuildStream/buildstream!1096
| * _scheduler: Fix dont display a failure for terminated jobstristan/fix-terminated-statusTristan Van Berkom2019-01-222-1/+11
|/ | | | This fixes a recent regression introduced in c2fc2a5ea
* Merge branch 'jennis/add_obsoletion_note' into 'master'James Ennis2019-01-221-5/+5
|\ | | | | | | | | Add an obsoletion note to our deprecated commands. See merge request BuildStream/buildstream!1097
| * cli.py: Add an obsoletion note to our deprecated commands.James Ennis2019-01-221-5/+5
|/ | | | | | | | | Click 7.0 allows us to declare commands as 'hidden'. However, sphinx-click and click-man still generate these hidden commands in the documentation and man pages, respectively. This is a stop gap solution until the upstream issues (tracked in issues #879 and #881) have been addressed.
* Merge branch 'jennis/migrate_pull_push_commands' into 'master'James Ennis2019-01-2282-485/+732
|\ | | | | | | | | Move push/pull/checkout to the artifact subcommand group See merge request BuildStream/buildstream!1045
| * man: Regenerate all of our man pagesjennis/migrate_pull_push_commandsJames Ennis2019-01-2228-151/+274
| | | | | | | | | | | | | | | | | | Due to an upstream click_man issue: https://github.com/click-contrib/click-man/issues/10 generating the man pages with our current setup.py only generates a man page for bst-artifact-server, our first entry point. I then had to remove this entry point from setup.py and regenerate to obtain man pages for the commands in cli.py
| * Change bst checkout/pull/push references to bst artifact checkout/pull/pushJames Ennis2019-01-223-4/+4
| |
| * using_commands.rst: Add artifact log subcommandJames Ennis2019-01-221-0/+7
| |
| * using_commands.rst: Split out the artifact subcommandsJames Ennis2019-01-223-22/+31
| |
| * Add NEWS entry describing the deprecation of checkout, pull and pushJames Ennis2019-01-221-0/+10
| |
| * Mark 'old' checkout command as obsoleteJames Ennis2019-01-2238-182/+156
| | | | | | | | | | | | | | | | | | | | | | This commit marks 'bst checkout' as a 'hidden' command. If used, the user will be prompted to use the new 'bst artifact checkout' command. All tests which used 'bst checkout' have been modified to use the new artifact sub-command. This partially solves #822.
| * cli: Add artifact checkout subcommandJames Ennis2019-01-221-0/+69
| | | | | | | | | | | | 'artifact checkout' has slightly different behaviour from 'checkout', that is, either '--directory' or '--tar' are now required options. This is a step towards allowing checkout to take multiple args.