<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/buildstream.git, branch tristan/fix-recursive-artifact-pull</title>
<subtitle>gitlab.com: buildstream/buildstream.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/'/>
<entry>
<title>tests/frontend/artifact_checkout.py: Test checking out remote artifacts</title>
<updated>2020-12-13T03:54:44+00:00</updated>
<author>
<name>Tristan van Berkom</name>
<email>tristan@codethink.co.uk</email>
</author>
<published>2020-12-13T03:48:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=da492879afd072c7bee8c95c9d2a1e8e7f2f8ab1'/>
<id>da492879afd072c7bee8c95c9d2a1e8e7f2f8ab1</id>
<content type='text'>
This test exercises `bst artifact checkout --pull &lt;artifact name&gt;`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This test exercises `bst artifact checkout --pull &lt;artifact name&gt;`
</pre>
</div>
</content>
</entry>
<entry>
<title>tests/frontend/artifact_pull.py: Test pulling artifacts with various deps options</title>
<updated>2020-12-13T03:54:44+00:00</updated>
<author>
<name>Tristan van Berkom</name>
<email>tristan@codethink.co.uk</email>
</author>
<published>2020-12-11T10:04:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=b17e3dc8d68d39d7a84c9f21a4e53b05d4869bfc'/>
<id>b17e3dc8d68d39d7a84c9f21a4e53b05d4869bfc</id>
<content type='text'>
New regression test to ensure we continue to support `bst artifact pull` properly for artifacts which are not locally cached.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
New regression test to ensure we continue to support `bst artifact pull` properly for artifacts which are not locally cached.
</pre>
</div>
</content>
</entry>
<entry>
<title>_stream.py: Added new _reset() function.</title>
<updated>2020-12-13T03:54:44+00:00</updated>
<author>
<name>Tristan van Berkom</name>
<email>tristan@codethink.co.uk</email>
</author>
<published>2020-12-11T10:18:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=11e495b753145d15ac9c20aa141087c57ae75124'/>
<id>11e495b753145d15ac9c20aa141087c57ae75124</id>
<content type='text'>
Instead of calling self._scheduler.clear_queues(), add a focus point
for resetting state related to a scheduler run. I suspect that the
session element counts have been flawed in cases where we run the
scheduler multiple times but fail to clear that part of the state.

This should all around be a better approach for multiple scheduler runs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of calling self._scheduler.clear_queues(), add a focus point
for resetting state related to a scheduler run. I suspect that the
session element counts have been flawed in cases where we run the
scheduler multiple times but fail to clear that part of the state.

This should all around be a better approach for multiple scheduler runs.
</pre>
</div>
</content>
</entry>
<entry>
<title>_stream.py: Pre-emptive pulling of artifact metadata in some cases</title>
<updated>2020-12-13T03:50:38+00:00</updated>
<author>
<name>Tristan van Berkom</name>
<email>tristan@codethink.co.uk</email>
</author>
<published>2020-12-11T10:01:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=57293c8b47ca15937df8a5464582b6a58ef10dc7'/>
<id>57293c8b47ca15937df8a5464582b6a58ef10dc7</id>
<content type='text'>
In any case that the user has requested artifacts be pulled, and that
artifact targets have been specified, pre-emptively pull the target
artifact metadata so that the operation can complete coherently.

Specifically, this fixes:

  * bst artifact pull --deps build &lt;artifact name&gt;
  * bst artifact checkout --deps build --pull &lt;artifact name&gt;

In these cases, we cannot know the build dependencies of the artifact
if we do not at least try to obtain the toplevel target artfiact(s) first,
so we instate a policy to initially download metadata.

This introduces a new parameter to the general purpose _load() function,
which is called `attempt_artifact_metadata`.

When `attempt_artifact_metadata` is specified, we will attempt to download
artifact metadata for toplevel specified targets, this way we can derive
their dependencies which is needed for some operations.

Currently this unfortunately downloads the entire artifact, but should
be optimized later on to download only the required metadata.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In any case that the user has requested artifacts be pulled, and that
artifact targets have been specified, pre-emptively pull the target
artifact metadata so that the operation can complete coherently.

Specifically, this fixes:

  * bst artifact pull --deps build &lt;artifact name&gt;
  * bst artifact checkout --deps build --pull &lt;artifact name&gt;

In these cases, we cannot know the build dependencies of the artifact
if we do not at least try to obtain the toplevel target artfiact(s) first,
so we instate a policy to initially download metadata.

This introduces a new parameter to the general purpose _load() function,
which is called `attempt_artifact_metadata`.

When `attempt_artifact_metadata` is specified, we will attempt to download
artifact metadata for toplevel specified targets, this way we can derive
their dependencies which is needed for some operations.

Currently this unfortunately downloads the entire artifact, but should
be optimized later on to download only the required metadata.
</pre>
</div>
</content>
</entry>
<entry>
<title>_artifactelement.py: Override _pull_done()</title>
<updated>2020-12-11T10:28:57+00:00</updated>
<author>
<name>Tristan van Berkom</name>
<email>tristan@codethink.co.uk</email>
</author>
<published>2020-12-11T09:59:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=e9b2d7ac94caa2fea2345bba656e4b6cd17d4631'/>
<id>e9b2d7ac94caa2fea2345bba656e4b6cd17d4631</id>
<content type='text'>
When an element finishes being pulled, call _mimic_artifact() so
that the element assumes the properties of the downloaded artifact.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When an element finishes being pulled, call _mimic_artifact() so
that the element assumes the properties of the downloaded artifact.
</pre>
</div>
</content>
</entry>
<entry>
<title>element.py: Added internal API _mimic_artifact()</title>
<updated>2020-12-11T10:28:40+00:00</updated>
<author>
<name>Tristan van Berkom</name>
<email>tristan@codethink.co.uk</email>
</author>
<published>2020-12-11T09:58:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=55d82db8c91827157e8765372d73831162ef9014'/>
<id>55d82db8c91827157e8765372d73831162ef9014</id>
<content type='text'>
This function causes the element to mimic it's artifact instance,
and is initially used when instantiating from an artifact.

This needs to be exposed so that ArtifactElement can trigger this
activity in response to _pull_done().

Additionally, this adds the declaration of __environment and
__variables to the __init__ function, as I received some complaints
from pylint and mypy from this commit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function causes the element to mimic it's artifact instance,
and is initially used when instantiating from an artifact.

This needs to be exposed so that ArtifactElement can trigger this
activity in response to _pull_done().

Additionally, this adds the declaration of __environment and
__variables to the __init__ function, as I received some complaints
from pylint and mypy from this commit.
</pre>
</div>
</content>
</entry>
<entry>
<title>_assetcache.py: Allow explicit re-initialization of remotes.</title>
<updated>2020-12-11T09:56:03+00:00</updated>
<author>
<name>Tristan van Berkom</name>
<email>tristan@codethink.co.uk</email>
</author>
<published>2020-12-11T09:56:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=0f59c939884d618a6ef743aa2e57eb50016f0abf'/>
<id>0f59c939884d618a6ef743aa2e57eb50016f0abf</id>
<content type='text'>
This is merely because the structure of remotes is heavily bound to
loaded projects, and in some cases we need to download some artifacts
before some ArtifactProjects can exist and then later pull elements
related to those newly created ArtifactProject instances.

This is rather a silly workaround, instead the data structure of
remotes should be reorganized, which is a larger task and probably appropriate
to examine when re-examining remote service configuration surfaces.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is merely because the structure of remotes is heavily bound to
loaded projects, and in some cases we need to download some artifacts
before some ArtifactProjects can exist and then later pull elements
related to those newly created ArtifactProject instances.

This is rather a silly workaround, instead the data structure of
remotes should be reorganized, which is a larger task and probably appropriate
to examine when re-examining remote service configuration surfaces.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'tristan/fix-artifact-name-hack' into 'master'</title>
<updated>2020-12-11T07:14:39+00:00</updated>
<author>
<name>bst-marge-bot</name>
<email>marge-bot@buildstream.build</email>
</author>
<published>2020-12-11T07:14:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=2e4800f494794cd7d88017661b42cc85ea54e7fc'/>
<id>2e4800f494794cd7d88017661b42cc85ea54e7fc</id>
<content type='text'>
_stream.py, _frontend/widget.py: Fix weird hack

See merge request BuildStream/buildstream!2117</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
_stream.py, _frontend/widget.py: Fix weird hack

See merge request BuildStream/buildstream!2117</pre>
</div>
</content>
</entry>
<entry>
<title>_stream.py, _frontend/widget.py: Fix weird hack</title>
<updated>2020-12-11T06:02:47+00:00</updated>
<author>
<name>Tristan van Berkom</name>
<email>tristan@codethink.co.uk</email>
</author>
<published>2020-12-10T13:34:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=66120e67e729ef8cb0a1e29905c432b7a28545f1'/>
<id>66120e67e729ef8cb0a1e29905c432b7a28545f1</id>
<content type='text'>
When stream is asked for a list of artifacts to show for
the purpose of `bst artifact show`, it was squashing the element
name with the artifact name before it gets displayed in the
frontend.

Instead, make the special casing in the frontend.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When stream is asked for a list of artifacts to show for
the purpose of `bst artifact show`, it was squashing the element
name with the artifact name before it gets displayed in the
frontend.

Instead, make the special casing in the frontend.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'tristan/stack-require-depends-all' into 'master'</title>
<updated>2020-12-10T14:57:45+00:00</updated>
<author>
<name>Tristan Van Berkom</name>
<email>tristan.van.berkom@gmail.com</email>
</author>
<published>2020-12-10T14:57:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=75eb8c1868ec0fa1cc8366ebb0b1db2db06c270f'/>
<id>75eb8c1868ec0fa1cc8366ebb0b1db2db06c270f</id>
<content type='text'>
Require all stack dependencies to be both build &amp; runtime dependencies

Closes #1075

See merge request BuildStream/buildstream!2113</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Require all stack dependencies to be both build &amp; runtime dependencies

Closes #1075

See merge request BuildStream/buildstream!2113</pre>
</div>
</content>
</entry>
</feed>
