-
3d308894
by Richard Maw
at 2018-07-31T16:31:36Z
element.py: Cache the result of checking whether an artifact is cached weakly
Normally we'd only need it in the case of scheduling a weakly cached build,
but to allow caching of failed builds we need to be able to distinguish
between cached successes and cached failures
for both strong and weak cache keys.
To allow other cache lookup codepaths to look up via the weak key
requires changes through the call stack to consult which key to use,
and cache invalidation of the saved state when it changes.
-
b3a68e28
by Richard Maw
at 2018-07-31T16:31:36Z
element.py: Add metadata to distinguish between successful and failed builds
This just puts the metadata in place,
we're adding code paths to add failed builds later.
-
f4573df3
by Richard Maw
at 2018-07-31T16:31:36Z
Convert call-sites of Element._cached() that assume success
When we later add cached failures it needs to not treat them as successes.
-
553df108
by Richard Maw
at 2018-07-31T16:31:36Z
_frontend/widget.py: Render cached failures differently to successes
-
d14d8ee2
by Richard Maw
at 2018-07-31T16:32:35Z
Cache failed builds
This creates an artifact when element assembly fails too,
and if it's the right kind of exception uses the now-included install directory
similarly to if it had returned successfully.
If there's a failure during install the artifact contains any installed files,
but may contain nothing at all.
-
d83122bb
by Richard Maw
at 2018-07-31T16:32:35Z
_scheduler/queues/buildqueue.py: Skip rebuilding cached failures
This flags up a failure and if run in an interactive prompt
permits the user to attempt a rebuild.
-
78944e9a
by Richard Maw
at 2018-07-31T16:32:35Z
tests: Add tests for cached behaviours
-
3fa79d8d
by Richard Maw
at 2018-07-31T16:32:35Z
_scheduler/queues: Add failed builds to "done" queue
This allows the scheduler to move jobs from the current queue to the next.
As a result of this change later queues than the build queue
mustn't skip a cached failure, so the logic is specialised to build queues only.
-
e8cd43dc
by Richard Maw
at 2018-07-31T16:32:58Z
NEWS: Describe caching of failures
Closes #76.
-
88cd61ea
by knownexus
at 2018-07-31T16:32:58Z
Added the missing `_get_build_log` function
-
4fc1f5d1
by Phillip Smyth
at 2018-07-31T17:17:34Z
Merge branch 'richardmaw/cache-fail' into 'master'
Store failed builds in the cache
Closes #76
See merge request BuildStream/buildstream!475
-
6cd3df09
by Phil Dawson
at 2018-08-01T08:05:45Z
doc/sessions: Add terminal sessions for use in workspaces tutorial
This is part of the the work towards issue #437
-
8c0522ad
by Phil Dawson
at 2018-08-01T08:05:45Z
Add project for workspaces tutorial
This is part of the work towards issue #437
-
dc60b713
by Phil Dawson
at 2018-08-01T08:05:45Z
tutorials: Add workspaces tutorial
This is part of the work towards issue #437
-
bf8c3dfb
by Phil Dawson
at 2018-08-01T08:05:45Z
testutils/patch.py: Add methods for applying and removing patches
-
b69783d4
by Phil Dawson
at 2018-08-01T08:05:45Z
tests/examples/developing.py: Add tests for workspaces walkthrough
-
480565c2
by Phil Dawson
at 2018-08-01T09:04:26Z
Merge branch 'phil/437-workspaces-tutorial' into 'master'
Phil/437 workspaces tutorial
Closes #437
See merge request BuildStream/buildstream!519
-
4d8514da
by William Salmon
at 2018-08-01T09:22:11Z
git.py: Add warning to git track if track and ref are not present
This is to address https://gitlab.com/BuildStream/buildstream/issues/471 that
documented unhelpfull behavour when tracking git sources.