-
4f0bfb4a
by Tristan Van Berkom
at 2018-10-11T15:37:51Z
Rename element_enums.py -> types.py
This will be the place to store low level data types used
throughout the core, for now this includes public and private
types.
-
9dc10cc7
by Tristan Van Berkom
at 2018-10-11T15:45:36Z
doc/source/core_framework.rst: Include the foundation types in the API docs.
-
efc0d4cc
by Tristan Van Berkom
at 2018-10-11T15:48:44Z
types.py: Moved Consistency definition here from source.py
And slightly touch up the doc strings for Consistency and Scope.
-
a0712ead
by Tristan Van Berkom
at 2018-10-11T16:23:54Z
Merge branch 'tristan/refactor-types-api' into 'master'
Refactor types api
See merge request BuildStream/buildstream!870
-
ce55b9a0
by Tiago Gomes
at 2018-10-12T10:15:46Z
doc: updates considering website being live now
* Add a link to the website on the main page.
* Remove install instructions as they are now on the website.
* Remove Resources section as that information can be found at the
website, and also looks bad.
* Move artifact server setup from the no longer existing Install section
to the Using section.
-
10b092e1
by Tristan Van Berkom
at 2018-10-12T10:21:27Z
doc/source/additional_docker.rst: Fix link to refer to website
The docker guide, which is part of the install guide, has moved
to the website.
-
1c7ba9a0
by Tristan Van Berkom
at 2018-10-12T10:24:31Z
doc/source/index.rst: Moved references to the website below the simple ToC.
-
3738dd06
by Tristan Van Berkom
at 2018-10-12T10:49:39Z
Merge branch 'tristan/remove-install-guide' into 'master'
Remove install guide
See merge request BuildStream/buildstream!872
-
c31ed138
by Tristan Van Berkom
at 2018-10-14T15:24:53Z
CONTRIBUTING.rst: Added more guidelines about documenting the user guide
-
b39d87b4
by Jürg Billeter
at 2018-10-15T11:07:05Z
_artifactcache: Fix crash in push_directory() without artifact server
Fixes #708.
-
4e3ec89e
by Jürg Billeter
at 2018-10-15T11:48:16Z
Merge branch 'juerg/remote-config' into 'master'
_artifactcache: Fix crash in push_directory() without artifact server
Closes #708
See merge request BuildStream/buildstream!871
-
d15ed8fc
by Jonathan Maw
at 2018-10-15T15:54:59Z
yaml: Add a cache of parsed and provenanced yaml
Note that the ProvenanceFile's names will be incorrect after loading
from the cache, but this is currently only used for writeback, which
isn't used in junctions.
-
f4eb685a
by Jonathan Maw
at 2018-10-15T15:54:59Z
yamlcache.py: Add yaml cache tests
-
26dfa882
by Lachlan Mackenzie
at 2018-10-15T15:54:59Z
yaml.py: Add loader for yaml test files cache option
* Fix to CWD issue provided by Jonathan Maw
-
0fbff08b
by Lachlan Mackenzie
at 2018-10-15T15:54:59Z
yaml.py: Add yaml cache testing to yaml list composition test
-
3d58d7c5
by Lachlan Mackenzie
at 2018-10-15T15:54:59Z
yaml.py: Add yaml cache test to yaml list composition twice
-
363cfc39
by Lachlan Mackenzie
at 2018-10-15T15:54:59Z
yamlcache.py: Add YAML cache changed file test
* Test in same style as test_yamlcache_used
* Move of project not required so removed
-
086c47c4
by Jonathan Maw
at 2018-10-15T16:19:01Z
Merge branch 'lachlan/pickle-yaml-test-list-composite' into 'master'
Add YAM cache testing to yaml tests and further YAML cache refinements
See merge request BuildStream/buildstream!836
-
6298e409
by William Salmon
at 2018-10-16T12:39:14Z
Sandbox: CWD was not being created for workspaces
The code was creating the cwd folder but when the workspace was
mounted in to the buildroot it was hiding the folder created in it
behind the bind mounted workspace.
However by using the bubblewarp `--dir` directive to ensure that cwd
exists we can cover both workspace and non workspace situations with
the same method.
For issue #512 in Gitlab.
-
bbcb9bd5
by William Salmon
at 2018-10-16T12:39:14Z
New Integration test for workspace command-subdir
Build stream was only creating command-subdir for non workspace builds
this has now been fixed, and this regression test should support the
feature.
For issue #512 in Gitlab.
-
5e7cc645
by William Salmon
at 2018-10-16T12:39:14Z
Add conf-root variable to builds
Adding the conf-root variable makes creating out of source builds
slightly easier.
For issue #512 in Gitlab.
-
0d04e1b7
by William Salmon
at 2018-10-16T12:39:14Z
Added tests for conf-root variable
For issue #512 in Gitlab.
-
b2767ac0
by William Salmon
at 2018-10-16T12:39:14Z
Extended the Documentation to cover out of source builds
For issue #512 in Gitlab.
-
118704a9
by William Salmon
at 2018-10-16T12:39:14Z
Added a news item for building out of the source directory
For issue #512 in Gitlab.
-
0a5db229
by Phil Dawson
at 2018-10-16T13:19:56Z
Merge branch 'willsalmon/outOfSourecBuild' into 'master'
Out of source builds
Closes #512
See merge request BuildStream/buildstream!776
-
1fd38fb7
by Jim MacArthur
at 2018-10-16T14:54:09Z
bst2html.py: Name the second argument to avoid an error
-
b023d5c0
by Jim MacArthur
at 2018-10-16T15:28:15Z
Merge branch 'jmac/doc-argument-fix' into 'master'
Add named argument in bst2html.py to fix documentation
See merge request BuildStream/buildstream!874
-
ac5b482d
by Richard Dale
at 2018-10-16T19:40:39Z
Fix spelling of it's and its
-
3d9c4eca
by Jürg Billeter
at 2018-10-16T20:17:39Z
Merge branch 'rdale/spelling' into 'master'
Fix spelling of it's and its
See merge request BuildStream/buildstream!877
-
edc07536
by Tiago Gomes
at 2018-10-17T13:49:15Z
README: use correct links for documentation website
-
155296a7
by Tiago Gomes
at 2018-10-17T13:49:15Z
setup.py: use correct link for documentation website
-
131f95eb
by Tiago Gomes
at 2018-10-17T14:15:38Z
Merge branch 'tiagogones/update-links-to-documentation' into 'master'
Update links to documentation website
See merge request BuildStream/buildstream!876
-
c327d1f3
by Valentin David
at 2018-10-17T14:33:40Z
Change URL to the Alpine tarball
-
eeb334f2
by Javier Jardón
at 2018-10-17T15:03:17Z
Merge branch 'valentindavid/move_alpine_tarball' into 'master'
Change URL to the Alpine tarball
See merge request BuildStream/buildstream!880
-
b8f69946
by Daniel Silverstone
at 2018-10-18T09:32:09Z
_loader/loader.py: Be more explanatory in CircDep exception
When a circular dependency is detected, the reported error hilights
only one part of the loop in question. This change ensures that
the entire loop is listed so that the user has a greater chance of
easily determining the correct fix.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
892866e1
by richardmaw-codethink
at 2018-10-18T10:04:32Z
Merge branch 'danielsilverstone-ct/report-loop' into 'master'
_loader/loader.py: Be more explanatory in CircDep exception
See merge request BuildStream/buildstream!878
-
f1aa0974
by Javier Jardón
at 2018-10-18T14:13:35Z
Fix python warnings: Use collections.abc instead collections
Since python 3.3, collections has been moved to collections.abc module.
For backwards compatibility, they continue to be visible in this module through Python 3.7.
Subsequently, they will be removed entirely.
See https://docs.python.org/3/library/collections.html
-
f1550c8e
by Valentin David
at 2018-10-18T16:02:45Z
Merge branch 'jjardon/warnings_collections' into 'master'
Fix python warnings: Use collections.abc instead collections
See merge request BuildStream/buildstream!883
-
1c24979a
by Angelos Evripiotis
at 2018-10-19T21:17:01Z
Spelling fixes: 'affect', not 'effect' as verb
Fix most instances of 'effect' being used as a verb instead of a noun.
Skipped generated instance in doc/source/conf.py.
-
43a2eee3
by Angelos Evripiotis
at 2018-10-19T21:48:59Z
Merge branch 'aevri/affect' into 'master'
Spelling fixes: 'affect', not 'effect' as verb
See merge request BuildStream/buildstream!885
-
12719f0d
by Jürg Billeter
at 2018-10-22T17:05:41Z
_artifactcache: Rename update_atime() to update_mtime()
os.utime() updates both, however, list_artifacts() sorts refs by mtime,
i.e., atime is irrelevant.
-
a7a28d14
by Jürg Billeter
at 2018-10-22T17:05:41Z
_artifactcache: Fix ref in update_mtime()
get_artifact_fullname() is required to construct the ref. The cache key
alone does not suffice.
-
be29e0f5
by Jürg Billeter
at 2018-10-22T17:53:26Z
Merge branch 'juerg/cas-mtime' into 'master'
_artifactcache: Fix ref in update_mtime()
See merge request BuildStream/buildstream!882
-
b74aca1a
by Jürg Billeter
at 2018-10-23T09:22:19Z
tests/testutils/artifactshare.py: Fix has_artifact() to match core code
Replace path separator with '-' to match Element.normal_name.
-
c7dda150
by Jürg Billeter
at 2018-10-23T09:48:00Z
Merge branch 'juerg/test-artifactshare' into 'master'
tests/testutils/artifactshare.py: Fix has_artifact() to match core code
See merge request BuildStream/buildstream!890
-
74c115b9
by Angelos Evripiotis
at 2018-10-23T10:07:31Z
plugins/sources: refactor, rm needless ExitStack-s
Remove two uses of ExitStack that aren't necessary and make the code
a little harder to follow.
-
ecb58b42
by Phil Dawson
at 2018-10-23T10:33:47Z
Merge branch 'aevri/rm-exitstack' into 'master'
plugins/sources: refactor, rm needless ExitStack-s
See merge request BuildStream/buildstream!888
-
aa0cbf5d
by Martin Blanchard
at 2018-10-23T10:54:40Z
_sandboxremote.py: Try to reopen operation steam on failure
The REAPI allows a client to reconnect to an ongoing operation stream by
providing a WaitExecution(). If implemented on server side, BuildStream
will try to recover from connection errors using it.
https://gitlab.com/BuildStream/buildstream/issues/630
-
552f5fc6
by Jim MacArthur
at 2018-10-23T11:19:48Z
Merge branch 'mablanch/630-remote-execution-reconn' into 'master'
Handle connection losses during remote build execution
See merge request BuildStream/buildstream!806
-
276d2195
by Angelos Evripiotis
at 2018-10-25T10:17:49Z
_downloadablefilesource: handle ValueError-s
-
2d012a21
by Angelos Evripiotis
at 2018-10-25T10:17:49Z
Merge branch 'aevri/unknown-uri-452' into 'master'
_downloadablefilesource: handle ValueError-s
Closes #452
See merge request BuildStream/buildstream!893
-
cf4741ce
by James Ennis
at 2018-10-25T13:05:43Z
docs: Add helpful notes to artifact server configuration instructions
-
5737bb06
by James Ennis
at 2018-10-25T13:05:43Z
using_configuring_artifact_server.rst: Fix incorrect reference to bst push (with link)
-
28317622
by James Ennis
at 2018-10-25T13:35:22Z
Merge branch 'jennis/patch_remote_cache_docs' into 'master'
Improve our documentation for configuring an artifact server
See merge request BuildStream/buildstream!899
-
d2743c52
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_context.py: Remove useless `return` from `Context.message`
This pointless bare `return` was causing modern pylint to raise an
error.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
95adf09e
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_variables.py: Fix lint issue in `find_recursive_variable`
The python `for`/`else` construct only makes sense if the `for` loop body
has a `break` statement. Otherwise the use of `else` causes pylint
to raise an error.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
9359c067
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_workspaces.py: Simplify chained comparison
In `_parse_workspace_config` there was a chained version comparison
which is simplified in this commit to quieten a pylint issue.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
796bd8c9
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_yaml.py: use `in (a,b)` to simply boolean checks
Where we use a construct `val == foo or val == bar` we can instead use
`val in (foo, bar)` which pylint prefers.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
5a3a537f
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_yaml.py: Quieten a lint in Python < 3.6
For Python before 3.6, `path.resolve()` could not take the `strict`
keyword argument. Linting on such Python versions will raise an unnecessary
issue given the check present. As such, quieten that lint.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
b279c730
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_yamlcache.py: Correct bug in `YamlCache._get_filepath()`
The correct file path was computed but never returned. This was
never caught because of a test missing consumption of one of its
parameters. This commit resolves the bug mentioned in #722 leaving
the test to be amended by a future commit.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
527f3b32
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_yamlcache.py: Correct braino in variable name
This braino would mean that we'd fail to raise the right exception
if we failed to find the right project object when unpickling the
yaml cache.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
6d0c697d
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_yamlcache.py: Remove unused imports
The imports of _cachekey and utils were unused.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
32323695
by Daniel Silverstone
at 2018-10-25T14:43:52Z
buildelement.py: Quieten a lint about `__commands`
Unfortunately elements don't override `__init__` in general, so
we have to quieten pylint here.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
c5c0654d
by Daniel Silverstone
at 2018-10-25T14:43:52Z
element.py: Simplify some conditions with `in (foo, bar)`
Where we have conditions of the form `var == foo or var == bar` it
can be simplified to `var in (foo, bar)` which pylint prefers.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
4f84e2f6
by Daniel Silverstone
at 2018-10-25T14:43:52Z
element.py: Silence pylint warning about abstract method
Unfortunately pylint can't understand that we'll always use subclasses
of Element and as such complains of a no-return function (`assemble()`)
having its return value used. This quietens that warning.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
b4645745
by Daniel Silverstone
at 2018-10-25T14:43:52Z
plugin.py: use dict.get() instead of an if statement
Pylint recommends the use of dict.get() rather than a multi-line if
statement for handling optional keyword arguments.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
68ec9bcf
by Daniel Silverstone
at 2018-10-25T14:43:52Z
source.py: Quiet several pylint issues with abstract methods
A number of times, abstract methods are called which pylint cannot
possibly understand will only ever happen in subclasses which implement
the abstract methods. This silences those specific warnings
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
1bf0a031
by Daniel Silverstone
at 2018-10-25T14:43:52Z
source.py: Remove unused local variable
Remove `source_kind` as it was unused.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
e9c6db1e
by Daniel Silverstone
at 2018-10-25T14:43:52Z
source.py: Remove unused variable
Remove the `context` variable which was unused.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
5a187a1e
by Daniel Silverstone
at 2018-10-25T14:43:52Z
utils.py: Disable lint warning about popen
We use `preexec_fn` in our use of Popen. Since there are threads
in the codebase, this is not necessarily safe. However we go to
great lengths to ensure that the main process doesn't spawn threads
(they're used in gRPC a lot) and so it should be safe for our use.
As such, we disable the lint here.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
b368f57f
by Daniel Silverstone
at 2018-10-25T14:43:52Z
utils.py: Group stat imports
The imports of `stat` and `S_ISDIR` from `stat` should be grouped to
satisfy pylint.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
b45fea19
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/artifactcache.py: Remove superfluous parens
The pylint report dislikes the superfluous parens which used to
be here in this assert.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
3e4a6507
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/artifactcache.py: Silence lint issues
The pylint tool is unable to understand that the abstract methods
in the artifact cache will only be called when there's concrete
implementations behind them. Silence the lint errors for these
specific calls.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
447780b0
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_frontend/app.py: Remove unused import of `resource`
The `resource` import was unused. Removed.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
247b9fa8
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_frontend/status.py: Reorder imports
The `curses` import is "standard" whereas `click` is not. As such, despite
alphabetical order normally being the rule, `curses` must come before `click`.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
522867c8
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_fuse/{hardlinks,mount}.py: Remove dangerous use of {} in defaults
Since default values in arguments to functions and methods are created once
at the compilation of the code, it is dangerous to include list and dict
literals in them. This changes the use of {} to None.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
31a7bce5
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_fuse/mount.py: Deal with abstract method lint issue
Unfortunately pylint can't tell this is an abstract method which will
only ever end up invoked from a class which concretises it. As such
we need to silence this warning.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
eb805c6c
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_options/optionbool.py: Refactor conditions
The pylint tool prefers that conditions of the form "var == foo or var == bar"
be refactored into "var in (foo, bar)".
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
aca9a612
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_platform/darwin.py: Remove useless __init__()
An otherwise empty __init__ passing no arguments to super.__init__
is worthless. Remove it.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
77b1506f
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_platform/darwin.py: Remove unused imports
The import of `resource` was unused.
The import of `PlatformError` was unused.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
70000b0d
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_platform/linux.py: Remove unused imports
The imports of `Message` and `MessageType` were unused.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
bab617d0
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_platform/linux.py: Simplify return statement
The linter dislikes an if/return/else/return where it can be
simplified to a return of the if condition.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
45a1d15f
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_scheduler/jobs/job.py: Correct lint issue around abstract method
The linter cannot detect abstract methods the way we use them, so
this silences the warning which ensues.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
e9154b4d
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_scheduler/queue/pullqueue.py: Remove unused return value
The `done()` method does not return anything anywhere else.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
7b082bb7
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_scheduler/queue/trackqueue.py: Remove unused import
The `SourceError` import was never used
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
f1cfc0b7
by Daniel Silverstone
at 2018-10-25T14:43:52Z
plugins/source/git.py: Rationalised unused return values
The `assert_ref_in_track()` method's return value was never used so
rationalise it to never return a value.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
7c72d25b
by Daniel Silverstone
at 2018-10-25T14:43:52Z
sandbox/_mount.py: Do not use dict literals in argument defaults
The use of dictionary literals in argument defaults is disrecommended
due to the way that they are static and thus potentially very confusing.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
4e7408ee
by Daniel Silverstone
at 2018-10-25T14:43:52Z
sandbox/_mounter.py: Remove useless inheritance on `object`
In Python 3, inheriting from `object` explicitly is pointless.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
df495d16
by Daniel Silverstone
at 2018-10-25T14:43:52Z
sandbox/_sandboxbwrap.py: Disable lint about dict.get
Sometimes `dict.get()` is preferable, in this instance it's less clear
so we'll disable that lint
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
63c6e6b1
by Daniel Silverstone
at 2018-10-25T14:43:52Z
sandbox/_sandboxchroot.py: Silence warning about unused variable
The variable was unused, remove it.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
3394741a
by Daniel Silverstone
at 2018-10-25T14:43:52Z
sandbox/_sandboxchroot.py: Silence warning about preexec_fn
We are super-careful to not use threads in places where we might use
Popen and as such this warning is save to quash.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
cd20e7a1
by Daniel Silverstone
at 2018-10-25T14:43:52Z
sandbox/_sandboxchroot.py: Silence warning about dict.get
Sometimes `dict.get()` is preferable to an `if` statement, but this time
it's clearer if we keep the structure. As such, silence the warning.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
5087f5c5
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/cascache.py: Refactor slightly for indentation
Correct some multi-line conditional indentation by slight refactor
if necessary.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
d73d965b
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/cascache.py: Silence len(SEQUENCE) as condition warnings
The lint tool dislikes the use of `if len(SEQ) == 0` type statements
because nominally `len(SEQ)` may be more expensive than `bool(SEQ)`.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
fa740402
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/cascache.py: Prepare attributes in __init__
Python linters prefer that attributes are defined in __init__ rather
than left to later routines.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
ad8271f0
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/cascache.py: Remove unused imports
The imports of `Message` and `MessageType` were unused.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
1445a901
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/cascache.py: Cleanup lint warning about indexing
In order to quieten the linter, and to make a more correct comparison,
we switch to using the `Code.OK` enumeration from `google.rpc.Code`
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
19df07ea
by Tristan Maat
at 2018-10-25T14:43:52Z
Bump CI image tags
We need to do this so that the new linting errors pop up
-
64dbe9ae
by Daniel Silverstone
at 2018-10-25T14:43:52Z
MANIFEST: Include a lot more missing stuff in the manifest
Versioneer needs to be in the MANIFEST.in and its .pyc needs to be ignored
in the .gitignore. Also much docs were not being included, nor conftest.py.
Much of the test suite data files needed including, so changed that to a
raw include of everything in the tests/ tree.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
f6bc25dd
by Daniel Silverstone
at 2018-10-25T14:43:52Z
.gitlab-ci.yml: Change how coverage is recovered
We need to alter how coverage data is recovered in order to work with
newer coverage tooling.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
1c1d14e7
by Chandan Singh
at 2018-10-25T15:04:00Z
Merge branch 'danielsilverstone-ct/fix-lint-issues' into 'master'
Fix lint issues
See merge request BuildStream/buildstream!892
-
23140b6b
by Chandan Singh
at 2018-10-25T15:25:22Z
sources: Don't redundantly document directory configuration
Instead of redundantly documenting "directory" configuration option in
each source plugin, refer to the built-in functionality documentation of
the Source class.
* source.py: Add anchor for built-in functionality.
* sources/plugins/*.py: Remove directory config option, and add reference to
Source's built-in functionality.
Fixes #713.
-
db2a676e
by Chandan Singh
at 2018-10-25T15:26:39Z
build elements: Add reference to BuildElement's built-in config
For each element plugin derived from BuildElement, add reference to the
built-in functionality documentation of BuildElement.
* buildelement.py: Add anchor for built-in functionality.
* plugins/elements/*.py: Add refence to BuildElement's built-in
functionality for each build element.
Related to #713.
-
356d84cd
by Chandan Singh
at 2018-10-25T16:59:13Z
Merge branch 'chandan/source-doc-directory' into 'master'
plugins: Don't redundantly document common configurations
Closes #713
See merge request BuildStream/buildstream!896
-
8c41b5b8
by Daniel Silverstone
at 2018-10-26T09:02:30Z
_yaml.py: Do not insert into cache if retrieved from cache
We were unconditionally inserting into the yaml cache anything we had
retrieved from the yaml cache. This had the side-effect of being expensive
on re-runs of commands where yaml hadn't changed.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
494d7018
by Jonathan Maw
at 2018-10-26T09:26:36Z
Merge branch 'danielsilverstone-ct/do-not-reinsert-yaml' into 'master'
_yaml.py: Do not insert into cache if retrieved from cache
See merge request BuildStream/buildstream!902
-
80762ecb
by Benjamin Schubert
at 2018-10-26T09:45:39Z
Check if command is a str and replace by list before checking existence
Currently we would make sure the sandbox had a command before
converting it to a list if it was given as a string. That meant that a string
command would never exist and the check be invalid.
This also adds the same logic in the dummy sandbox for consistency.
-
f131c407
by Benjamin Schubert
at 2018-10-26T10:09:51Z
Merge branch 'bschubert/fix-command-sandbox' into 'master'
Check is command is a str and replace by list before checking existence
Closes #728
See merge request BuildStream/buildstream!898
-
54d89aa1
by Daniel Silverstone
at 2018-10-26T10:20:36Z
_loader/loadelement.py: Use enumerate() in dependency extraction
In cases where elements end up with large numbers of dependencies,
the n-squared performance in `_extract_depends_from_node` can produce
significant delays during project load. This patch corrects that.
In addition we were double-retrieving provenance which was unnecessary.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
e4c18ba4
by Phil Dawson
at 2018-10-26T10:43:55Z
Merge branch 'danielsilverstone-ct/use-enumerate' into 'master'
_loader/loadelement.py: Use enumerate() in dependency extraction
See merge request BuildStream/buildstream!901
-
20e5c58a
by James Ennis
at 2018-10-26T11:14:58Z
using_configuring_artifact_server.rst: Fix lines that are too long
-
320dae02
by James Ennis
at 2018-10-26T11:37:42Z
docs: Add more information to "managing the cache with systemmd" section
-
1eb993bf
by James Ennis
at 2018-10-26T12:02:49Z
Merge branch 'jennis/another_docs_patch' into 'master'
More information regarding the use of systemd to manage the cache
See merge request BuildStream/buildstream!904
-
f069d82f
by Daniel Silverstone
at 2018-10-26T12:19:58Z
various: Move _sentinel from utils.py to _yaml.py
The `_sentinel` in `utils.py` was used only for yaml node tracking.
As such, simplify matters by removing it from `utils.py` and move it
to `_yaml.py` which means that we no longer need to try and avoid a
circular import issue by means of runtime importing.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
283887a5
by James Ennis
at 2018-10-26T13:12:12Z
Merge branch 'danielsilverstone-ct/yaml-sentinel-rework' into 'master'
Move _sentinel from utils.py to _yaml.py
See merge request BuildStream/buildstream!903
-
2c6cb230
by Valentin David
at 2018-10-26T14:21:18Z
Fix some ruamel warnings during tests
-
a8250ca4
by Valentin David
at 2018-10-26T15:04:25Z
Merge branch 'valentindavid/ruamel_warnings' into 'master'
Fix some ruamel warnings during tests
See merge request BuildStream/buildstream!889
-
1b308fe3
by Daniel Silverstone
at 2018-10-26T15:50:42Z
_stream.py: Preserve stdout FD across checkout-to-stdout
In order to support things which might need to use the stdout FD
after checkout has completed writing a tarball to it, preserve it
by means of `os.dup()` and `os.dup2()`
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
65d90c31
by Daniel Silverstone
at 2018-10-26T15:50:54Z
tests/testutils/runcli.py: Support binary-mode capture of stdout
In order to test things which write tarballs to stdout correctly,
we need to capture the binary output cleanly. This ensures we're not
potentially mismatching encodings in and out.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
ed733f3e
by Daniel Silverstone
at 2018-10-26T15:51:40Z
tests/frontend/buildcheckout.py: Enable test_build_checkout_tarball_stdout
With the new support for saving the stdout FDs cleanly, and binary mode
capture in runcli, enable the tarball-to-stdout test.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
e97d2a75
by Benjamin Schubert
at 2018-10-29T10:17:07Z
Merge branch 'bschubert/fix-binary-output-capture' into 'master'
Don't close stdout when running 'checkout' to stdout
Closes #486
See merge request BuildStream/buildstream!905
-
ab9bb01c
by Richard Maw
at 2018-10-29T13:48:23Z
WIP: element: Add BST_GRANULAR_STAGE Element flag
This commit introduces BST_GRANULAR_STAGE as a compatibility flag,
so Elements can assert that calling stage_dependency_artifacts,
integrate_dependencies and post_integration_staging
is equivalent to calling stage.
This will be needed to implement staging multiple elements,
since the integration commands for all elements need to be called
after all dependencies are staged.
NOTE: This is WIP because the *Since* markers aren't correct.
-
f98e00f0
by Richard Maw
at 2018-10-29T13:48:23Z
element: use BST_GRANULAR_STAGE in prepare_sandbox and assemble
This makes it prefer to call stage_dependency_artifacts,
integrate_dependencies and post_integration_staging in-turn
if BST_GRANULAR_STAGE is set,
so the implementation of Element.stage may be omitted.
The prepare_sandbox implementation looks a little convoluted
because for Scope.BUILD and self.BST_GRANULAR_STAGE
we prefer to run the granular methods,
but we also run most of them for Scope.RUN
except the extra parts of stage() that were post-integration.
-
79c6080e
by Richard Maw
at 2018-10-29T13:48:23Z
scriptelement: Split stage into granular methods
This makes the __layout check per-method
and makes ScriptElement.stage call the methods in turn.
stage_dependency_artifacts falls-back to the default implementation
for everything except Scope.BUILD since Element.stage was only called
for Scope.BUILD, so layout handling shouldn't be consulted for other scopes
for compatibility with existing behaviour.
-
484d8ba1
by Richard Maw
at 2018-10-29T13:48:23Z
elements: Port all except junction to BST_VIRTUAL_DIRECTORY
`kind: junction` hasn't been ported since it can't be used directly anyway.
-
7457a837
by Richard Maw
at 2018-10-29T13:48:23Z
WIP: _stream: Move shell logic from Element and support multiple elements
NOTE: Commit is WIP from left-over comments and WIPs
-
8431f2ba
by Richard Maw
at 2018-10-29T13:49:30Z
element: Remove dead _shell method
-
892cf911
by Richard Maw
at 2018-10-29T13:49:32Z
WIP: cli: Support multiple elements with -e option
NOTE: Is WIP because of TODOs
-
18dc8ef2
by Richard Maw
at 2018-10-29T13:49:33Z
tests/integration: Move shell test bst file into subdir