summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * _scheduler: Fix bookkeeping of terminated jobsTristan Van Berkom2018-10-032-9/+24
|/ | | | | | | | | | | * Enhanced the base Job class to bookkeep which jobs have been terminated, and to consider them as `skipped` when asked via the `skipped` property. * Enhanced the base Queue class to bookkeep the job statuses more carefully. This fixes #479
* Merge branch 'juerg/cas-batch-1.2' into 'bst-1.2'Tristan Van Berkom2018-10-032-96/+224
|\ | | | | | | | | CAS: Implement BatchUpdateBlobs support See merge request BuildStream/buildstream!844
| * _artifactcache/cascache.py: Use BatchUpdateBlobsjuerg/cas-batch-1.2Jürg Billeter2018-10-031-4/+74
| | | | | | | | | | | | | | This uses BatchUpdateBlobs instead of individual blob upload to speed up artifact pushing, if the server supports it. Fixes #677.
| * _artifactcache/casserver.py: Implement BatchUpdateBlobsJürg Billeter2018-10-031-2/+43
| | | | | | | | Fixes #676.
| * cascache.py: Preparation for remote executionJim MacArthur2018-10-031-94/+111
|/ | | | | | | Refactor the push() and pull() implementations so that API additions needed for remote-execution is made easier. https://gitlab.com/BuildStream/buildstream/issues/454
* Merge branch 'tristan/fix-status-messages-1.2' into 'bst-1.2'Tristan Van Berkom2018-10-032-21/+49
|\ | | | | | | | | fix status messages (1.2) See merge request BuildStream/buildstream!846
| * source.py: Silence messages while consuming source fetcherstristan/fix-status-messages-1.2Tristan Van Berkom2018-10-021-17/+37
| | | | | | | | | | | | | | | | | | The source fetchers might be a list or a generator, when it is a generator (like the git source does), then we want to ensure that we silence the status messages which might occur as a result of consuming a source fetcher from the generator. This fixes the logs to be less verbose.
| * git.py: Added timed activity around fetching, displaying the URL being fetched.Tristan Van Berkom2018-10-021-4/+12
|/ | | | This will take care of silencing the status messages while checking submodules.
* Merge branch 'juerg/cas-batch-1.2' into 'bst-1.2'Jürg Billeter2018-10-015-39/+207
|\ | | | | | | | | _artifactcache/cascache.py: Use BatchReadBlobs See merge request BuildStream/buildstream!838
| * _artifactcache/cascache.py: Use BatchReadBlobsJürg Billeter2018-09-301-12/+137
| | | | | | | | | | | | | | This uses BatchReadBlobs instead of individual blob download to speed up artifact pulling, if the server supports it. Fixes #554.
| * _artifactcache/casserver.py: Harmonize payload size limitJürg Billeter2018-09-301-5/+6
| | | | | | | | | | Use 1 MiB as payload size limit on the server side for both individual downloads and batch uploads.
| * _artifactcache/cascache.py: Increase payload size limit for uploadsJürg Billeter2018-09-301-2/+7
| | | | | | | | | | gRPC can handle 1 MiB payloads. Increase size limit from 64 KiB to speed up uploads.`
| * _artifactcache/cascache.py: Add _ensure_blob helperJürg Billeter2018-09-301-24/+33
| | | | | | | | | | | | | | | | This adds directory objects to the local repository before downloading files in the directory. However, artifact references are still stored only after downloading the complete directory and thus, there won't be dangling references. This will anyway be required for partial download support.
| * artifactcache: rename get_quota_exceeded()Tiago Gomes2018-09-303-5/+5
| |
| * artifactcache: improve _fetch_directory()Tiago Gomes2018-09-301-6/+19
| | | | | | | | | | | | * Rename tree to dir_digest to make it clear this is a Digest object, and not a Tree object. * Add documentation
| * artifactcache: improve _create_tree()Tiago Gomes2018-09-301-4/+19
| | | | | | | | | | | | | | | | * Rename it to _commit_directory() because… it is what it does; and also for symmetry with _fetch_directory(). * Rename digest to dir_digest to make it clear this is a digest for a directory. A following commit will also reuse the same variable name * Document method.
| * artifactcache: fix oversightTiago Gomes2018-09-301-1/+1
|/ | | | | We want to check if some file is already cached here, not the parent directory.
* Merge branch 'valentindavid/silverblue-path-1.2' into 'bst-1.2'Tiago Gomes2018-09-282-1/+13
|\ | | | | | | | | Backport to 1.2: Fix outside-of-project check when project path is not canonical. See merge request BuildStream/buildstream!834
| * Fix outside-of-project check when project path is not canonical.valentindavid/silverblue-path-1.2Valentin David2018-09-282-1/+13
|/ | | | | | | | | The issue happens on Silverblue where /home is a symlink to /var/home. With this element-path is something like /var/home/user/project/elements, when the project path is /home/usr/project. Comparing canonical paths solves the issue. Fixes #673
* ci: update freedesktop-sdk refTiago Gomes2018-09-261-1/+1
| | | | The current one doesn't build due server being down.
* Merge branch 'tiagogomes/issue-514-backport' into 'bst-1.2'Tiago Gomes2018-09-251-0/+43
|\ | | | | | | | | CI: test building freedesktop-sdk overnight See merge request BuildStream/buildstream!827
| * CI: test building freedesktop-sdk overnightTiago Gomes2018-09-251-0/+43
|/ | | | Closes #514.
* NEWS: Update for 1.2.21.2.2Jürg Billeter2018-09-241-0/+6
|
* Merge branch 'bochecha/blessings' into 'bst-1.2'Jürg Billeter2018-09-241-1/+0
|\ | | | | | | | | _frontend/app.py: Remove leftover blessings import See merge request BuildStream/buildstream!821
| * _frontend/app.py: Remove leftover blessings importMathieu Bridon2018-09-241-1/+0
|/
* NEWS: Updating with fixes for 1.2.11.2.1Tristan Van Berkom2018-09-211-0/+22
|
* Merge branch 'tristan/fix-source-reinstantiation-1.2' into 'bst-1.2'Tristan Van Berkom2018-09-211-11/+34
|\ | | | | | | | | source.py: Fix re-instantiation See merge request BuildStream/buildstream!816
| * source.py: Fix re-instantiationTristan Van Berkom2018-09-211-11/+34
|/ | | | | | | | | | This fixes an issue where the re-instantiated Source used with Source mirroring enabled is not completely initialized. Failing to load the ref from the project.refs file for instance, will result in a crash at `fetch` time. This fixes issue #666
* Merge branch 'juerg/cas-batch-1.2' into 'bst-1.2'Tristan Van Berkom2018-09-201-0/+49
|\ | | | | | | | | _artifactcache/casserver.py: Implement BatchReadBlobs See merge request BuildStream/buildstream!814
| * _artifactcache/casserver.py: Implement BatchReadBlobsJürg Billeter2018-09-201-0/+25
| | | | | | | | Fixes #632.
| * _artifactcache/casserver.py: Implement Capabilities serviceJürg Billeter2018-09-201-0/+24
|/
* Merge branch 'Qinusty/skipped-rework-backport-1.2' into 'bst-1.2'Tristan Van Berkom2018-09-2013-65/+88
|\ | | | | | | | | Backport skipped reword (!765) See merge request BuildStream/buildstream!810
| * cascache.py: Modify messaging API callsJosh Smith2018-09-201-5/+2
| | | | | | | | | | | | | | Both pulling and pushing INFO messages are now status messages. Calls to the messaging API through `self.context.message()` have now been switched to `element.info`.
| * cascache.py: Move push/pull messaging to cascacheJosh Smith2018-09-203-9/+9
| | | | | | | | | | | | | | | | Pulled/Pushed messages will no longer be produced from within element.py, instead they will be produced during CasCache push() and pull() appropriately. Message consistency has also been improved.
| * element.py: Remove redundant timed_activityJosh Smith2018-09-191-9/+8
| | | | | | | | | | This removes the timed_activity for an element _push action. This is unnecessary as the job is already being timed elsewhere.
| * tests.py: Test skip on pushJosh Smith2018-09-191-0/+23
| | | | | | | | | | Adds a test to ensure that BuildStream alerts the user of a skipped push when the remote already has the artifact cached.
| * Rework Skipped usageJosh Smith2018-09-1910-45/+49
|/ | | | | | | | | | The SKIPPED message type is now used to indicate the end of a task which was successful without having to perform the given task. This overhauls the use of `Queue.done()` and therefore queues do not need to provide a processed/skipped return value from `done()`. Instead this is replaced with the action of raising a `SkipJob` exception from within `Queue.process()`.
* Merge branch 'tristan/remove-blessings-1.2' into 'bst-1.2'Tristan Van Berkom2018-09-193-8/+77
|\ | | | | | | | | _frontend/status.py: Completely remove the blessings dependency from BuildStream See merge request BuildStream/buildstream!809
| * _frontend/status.py: Completely remove the blessings dependency from BuildStreamTristan Van Berkom2018-09-193-8/+77
|/ | | | | | | | | | | | | | | | | | | | | | | This actually improves reliability of the status bar because we now disable it completely in the case that not all of the terminal escape sequences are supported on the given terminal. This replaces the few functions we were using, to move the cursor up one line, move it to the beginning of the line, and to clear a line, with low level functions provided by the curses module in the standard library. This change makes it easier for downstream distro package maintainers to package BuildStream, particularly on Fedora. Asides from changing _frontend/status.py, this commit includes the following changes: * _frontend/app.py: Use python isatty() function to determine if we are connected to a tty, instead of relying on blessings. * setup.py: Remove the dependency on blessings.
* Merge branch 'tristan/fix-artifact-config-crash-1.2' into 'bst-1.2'Tristan Van Berkom2018-09-185-1/+46
|\ | | | | | | | | Fix artifact config crash (1.2) See merge request BuildStream/buildstream!805
| * tests/artifactcache/config.py: Added test for invalid push remote configurationTristan Van Berkom2018-09-184-0/+35
| | | | | | | | | | Test that we get the expected error when configuring a client-cert without client-key, or the inverse.
| * _artifactcache/artifactcache.py: Error out gracefully when push remote is ↵Tristan Van Berkom2018-09-181-1/+11
|/ | | | | | | | | | mal-specified When configuring a push remote and specifying either the client-cert or the client-key, then both must be specified. This ensures we get an informative error instead of a stack trace and BUG. Fixes issue #625
* Merge branch 'tristan/fix-override-options-1.2' into 'bst-1.2'Tristan Van Berkom2018-09-184-0/+52
|\ | | | | | | | | Fix override options 1.2 See merge request BuildStream/buildstream!803
| * tests/format/optionoverrides.py: Added test for options in element overridesTristan Van Berkom2018-09-183-0/+49
| | | | | | | | This is a regression test for issue #658
| * _project.py: Fix option resolution in element & source overridesTristan Van Berkom2018-09-181-0/+3
|/ | | | | | | | | This ensures that option expressions are resolved in the project level overrides before attempting to composite them on the instantiated elements. Seems this is a regression from introducing the include directive. This fixes issue #658
* buildstream/_frontend/complete.py: Added missing click license complianceTristan Van Berkom2018-09-161-2/+17
| | | | | | Somehow I missed this when originally forking the file from the click library, now noticing that we should have followed what was written in: https://github.com/pallets/click/blob/master/LICENSE
* Merge branch 'tiagogomes/issue-287-backport' into 'bst-1.2'Tiago Gomes2018-09-148-27/+140
|\ | | | | | | | | Backport of !678 (Add validation of configuration variables) to 1.2 branch. See merge request BuildStream/buildstream!789
| * Add tests for validating configuration variablesTiago Gomes2018-09-143-0/+101
| |
| * element: validate configuration variablesTiago Gomes2018-09-142-1/+12
| | | | | | | | Ensure that protected variables are not being redefined by the user.
| * docs: document protected variablesTiago Gomes2018-09-142-15/+22
| | | | | | | | | | And remove then from the defaults as they are dynamically set by BuildStream.