summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* NEWS: Amend source checkout NEWS entriesjennis/update_source_checkoutJames Ennis2019-09-121-3/+6
| | | | | | The current mentions of `source checkout` in the NEWS file have been updated so that they explain the recent changes to `bst source checkout`
* _stream.py: Inform user of source checkout locationJames Ennis2019-09-121-0/+2
|
* source_checkout.py: Add --compression tests for source checkoutJames Ennis2019-09-121-0/+34
|
* cli.py: Add --compression option to source checkoutJames Ennis2019-09-122-8/+20
| | | | | | | | | !1451 introduced the --compression option to bst artifact checkout. This MR is a step towards making the commands more symmetric, and introduces the --compression option to bst source checkout Now we're compressing, we must explicitly close the tarball once we're done writing to it.
* _stream.py: Handle tar compression mode in separate functionJames Ennis2019-09-121-7/+21
| | | | | | | | | | | This patch introduces a local _handle_compression() function, which returns a string representing the "mode" of tarfile compression required by the TarFile object. In addition to this, _export_artifact() has been changed so that it now uses this new function See: https://docs.python.org/3/library/tarfile.html#tarfile.open
* source_checkout.py: Add test for --tar/--directory conflictJames Ennis2019-09-121-0/+17
|
* cli.py: Make source checkout more consistent with artifact checkoutJames Ennis2019-09-123-28/+42
| | | | | | | | | | | | This MR changes the behaviour of source checkout so that it is more like artifact checkout. That is, a --directory option can be provided, rather than a mandatory LOCATION. In addition to this, the --tar option is no longer a boolean flag, rather it expects a tarfile name (just like artifact checkout) The appropriate tests have also been altered so that they support the new API
* _stream.py: Include all args in doc comment of source_checkout()James Ennis2019-09-121-1/+4
|
* _stream.py: Add doc comment to _export_artifacts()James Ennis2019-09-121-0/+12
| | | | | _export_artifact() is not a trivial function and thus deserves a doc comment
* source_checkout.py: Remove commented out touch() and add commentJames Ennis2019-09-121-1/+1
| | | | | | In "test_source_checkout_force()" we had a commented out line of code. This has been removed and a more useful comment has been added.
* cli.py: Fix typo in source checkout's doc stringJames Ennis2019-09-121-1/+1
|
* Merge branch 'jjardon/distutils' into 'master'bst-marge-bot2019-09-126-102/+3
|\ | | | | | | | | Use distutils plugin from bst-plugins-experimental See merge request BuildStream/buildstream!1600
| * Use distutils plugin from bst-plugins-experimentalJavier Jardón2019-09-126-102/+3
|/
* Merge branch 'jjardon/BST_FORMAT_VERSION' into 'master'Javier Jardón2019-09-1213-12/+26
|\ | | | | | | | | | | | | Fail if we try to build a BST_FORMAT_VERSION we do not support anymore Closes #1136 See merge request BuildStream/buildstream!1603
| * Fail if we try to build a BST_FORMAT_VERSION we do not support anymorejjardon/BST_FORMAT_VERSIONJavier Jardón2019-09-1213-12/+26
|/ | | | | bst-1.x support BST_FORMAT_VERSION == 17, as that is not supported by master I think is ok to set BST_FORMAT_VERSION_MIN = 18
* Merge branch 'build-all-option' into 'master'bst-marge-bot2019-09-124-4/+34
|\ | | | | | | | | Add 'dependencies' option to 'build' user config See merge request BuildStream/buildstream!1469
| * tests/remoteexecution/partial.py: Test building all dependenciesbuild-all-optionRaoul Hidalgo Charman2019-09-121-2/+12
| |
| * _context.py: Add 'dependencies' option to 'build' user configRaoul Hidalgo Charman2019-09-123-2/+22
|/ | | | | This option sets the default value for the `--deps` option of `bst build`.
* Prepare NEWS for 1.3.1.dev1 releaseChandan Singh2019-09-121-132/+164
| | | | | | | | | | | Since the development branch of BuildStream hasn't had a release in a while, the number of entries in the NEWS file is rather large. So, to make it easier to digest, split it into topics like CLI, API, Plugins etc. Under each topic, I have attempted to sort entries by their severity. Despite being long, the list is quite likely still incomplete.
* Merge branch 'juerg/cache-usage' into 'master'bst-marge-bot2019-09-102-2/+36
|\ | | | | | | | | | | | | cascache.py: Fix cache usage monitor on Python older than 3.7 Closes #1131 See merge request BuildStream/buildstream!1597
| * tests/artifactcache/expiry.py: Add test for cache usage monitorjuerg/cache-usageJürg Billeter2019-09-101-0/+33
| |
| * cascache.py: Fix cache usage monitor on Python older than 3.7Jürg Billeter2019-09-101-2/+3
|/ | | | | | | Older Python versions don't support the typecode 'q', see https://bugs.python.org/issue19896 Fixes #1131.
* Merge branch 'traveltissues/none-childdata' into 'master'bst-marge-bot2019-09-101-3/+4
|\ | | | | | | | | Check result is not None in tracking queue done() See merge request BuildStream/buildstream!1595
| * Check result is not None in tracking queue done()Darius Makovsky2019-09-101-3/+4
|/ | | | | | The tracking queue is the only queue implementing `done()` which requires the result to be iterable. If there is no result from the job this will hit a TypeError.
* Merge branch 'tpollard/sandboxmessage' into 'master'bst-marge-bot2019-09-101-2/+2
|\ | | | | | | | | _message.py: Use bool for sandbox Message() parameter See merge request BuildStream/buildstream!1592
| * _message.py: Use bool for sandbox Message() parameterTom Pollard2019-09-101-2/+2
|/ | | | | The sandbox member of BstError is a bool, which is then used as an arg for the message.
* Merge branch 'traveltissues/typo' into 'master'bst-marge-bot2019-09-101-1/+1
|\ | | | | | | | | Fix typo in pipeline msg detail See merge request BuildStream/buildstream!1594
| * Fix typo in pipeline msg detailDarius Makovsky2019-09-101-1/+1
|/
* Merge branch 'tpollard/notificationhandler' into 'master'bst-marge-bot2019-09-107-79/+234
|\ | | | | | | | | Stream - Scheduler notification handler See merge request BuildStream/buildstream!1550
| * scheduler.py: Notification for Message() propagationTom Pollard2019-09-104-7/+22
| | | | | | | | | | | | | | Add a notification for MESSAGE. Instead of scheduler's Queues and Jobs directly calling the message handler that App has assigned to Context, the Message() is now sent over the notification handler where it is then given to Messenger's handler.
| * scheduler.py: Notification for interactive failure retryTom Pollard2019-09-103-18/+21
| | | | | | | | | | | | | | | | | | Add a notifcation for RETRY. This moves the retry handling into scheduler, which will be running in the process which has been suspended for interactivity and as such will be able to load the relevant Element. Note a failed job via the scheduler should never not have a related queue, so the try except when matching the queue via the action name should not be needed.
| * scheduler.py: Notification for sched suspended statusTom Pollard2019-09-102-1/+9
| | | | | | | | | | | | Add a notification for SUSPENDED. Stored as a bool in Stream which is flipped when the scheduler notifies that the event loop has changed state.
| * scheduler.py: Notifications for sched suspendingTom Pollard2019-09-102-7/+19
| | | | | | | | | | | | Add a notification for SUSPEND & UNSUSPEND. This splits the jobs_suspended context manager into two methods, which are triggered by suspend() context manager yielding in Stream().
| * scheduler.py: Notification for sched terminated statusTom Pollard2019-09-102-1/+9
| | | | | | | | | | | | Add a notification for TERMINATED, which is notified as True in Stream when the scheduler terminates the event loop via user interactivity or SIG handling.
| * scheduler.py: Notification for sched loop running statusTom Pollard2019-09-102-3/+13
| | | | | | | | | | | | Add a notification for RUNNING, which is stored as a bool in Stream which is flipped when the scheduler notifies that the event loop has changed state.
| * scheduler.py: Move elapsed_time() to shared State()Tom Pollard2019-09-103-22/+32
| | | | | | | | | | | | | | | | The starttime relative to the scheduler, used to track deltas for time spent not suspended across Stream--Scheduler is now synced via a notification. This removes the need to call into the scheduler from the 'frontend' to determine the time difference for scheduler relative queries.
| * scheduler.py: Introduce a notification queue for stream interactionTom Pollard2019-09-103-28/+117
|/ | | | | | | | | | | | | | For the 'backend' of BuildStream to run in a subprocess certain interactions between the 'frontend' need to be augmented over a queue between the processes, as well as adaptions for the differences in state between them. This commit implements the core of these interactions as notification objects over a deque with notifying callbacks on either side, which should be switched to a multiprocessing queue once there's process separation at which point 'both ends' can execute an event loop. This also removes the checks for the ticker & interrupt callbacks to be optional, as currently they're always implemented.
* Merge branch 'juerg/casd' into 'master'bst-marge-bot2019-09-104-120/+138
|\ | | | | | | | | | | | | casremote.py: Limit request size for batch download and upload Closes #1129 See merge request BuildStream/buildstream!1591
| * Add tests/frontend/large_directory.pyJürg Billeter2019-09-102-0/+90
| |
| * casremote.py: Limit request size for batch download and uploadJürg Billeter2019-09-101-28/+47
| | | | | | | | Fixes #1129.
| * cascache.py: Remove unused pull() and push() methodsJürg Billeter2019-09-091-92/+1
|/ | | | These methods used the old ReferenceStorage service.
* Merge branch 'jennis/update_python_deps' into 'master'bst-marge-bot2019-09-093-29/+38
|\ | | | | | | | | Update all Python dependencies See merge request BuildStream/buildstream!1587
| * Update all python dependenciesJames Ennis2019-09-093-29/+38
|/ | | | | | | | | When running the testsuite, we see a DeprecationWarning for one of our dependencies, pluginbase and a UserWarning for /usr/lib64/python3.x/distutils/dist.py:274. This patch updates all Python dependencies, which as well as updating things, stops these warnings.
* Merge branch 'coldtom/fix-status-job-render' into 'master'bst-marge-bot2019-09-091-1/+1
|\ | | | | | | | | _frontend/status.py: Fix non-formatted terminator See merge request BuildStream/buildstream!1589
| * _frontend/status.py: Fix non-formatted terminatorcoldtom/fix-status-job-renderThomas Coldrick2019-09-091-1/+1
|/ | | | | | | | Currently we don't format the terminator to the displayed widget for a StatusJob, which means that we have blue brackets apart from the terminating one, which is white. This is a trivial patch to fix this.
* Merge branch 'traveltissues/1110' into 'master'bst-marge-bot2019-09-092-45/+43
|\ | | | | | | | | | | | | use show_default Closes #1110 See merge request BuildStream/buildstream!1588
| * cli.py: remove superfluous kwargs for flagsDarius Makovsky2019-09-091-38/+38
| | | | | | | | cleanup help msgs
| * casserver.py: Use show_default for optionsDarius Makovsky2019-09-091-7/+5
|/ | | | is_flag is always False by default (you can't specify an absent flag)
* Merge branch 'tlater/cache-endpoints' into 'master'bst-marge-bot2019-09-0625-563/+1329
|\ | | | | | | | | | | | | Support separate end points for artifact caches Closes #1041 See merge request BuildStream/buildstream!1540
| * Change unfitting function nameTristan Maat2019-09-0610-20/+20
| |