-
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
-
8aae5a71
by Tiago Gomes
at 2018-08-01T09:09:46Z
plugin: bake API to get and validate a project path
A project path is a path relative to a project directory.
A project path can not also refer to the parent directory in the first
path component, or point to symbolic links, fifos, sockets and
block/character devices.
-
bedcc6e3
by Tiago Gomes
at 2018-08-01T09:24:08Z
local plugin: validate project paths
The autotools example had to be copied over inside of the junction
example, as referring to a path outside of the project directory is
now disallowed.
-
42cf6bdc
by Tiago Gomes
at 2018-08-01T09:29:12Z
ostree plugin: validate project paths
-
97bc6c2e
by Tiago Gomes
at 2018-08-01T09:29:26Z
patch plugin: validate project paths
-
f30d5e5e
by Tiago Gomes
at 2018-08-01T09:29:59Z
project: validate project paths (element-path)
-
d9ed64e0
by Tiago Gomes
at 2018-08-01T09:30:27Z
project: validate project paths (local plugin paths)
-
21444b23
by Tiago Gomes
at 2018-08-01T09:31:24Z
tests: add generate_file_types testing function
-
78ad938e
by Tiago Gomes
at 2018-08-01T09:35:36Z
tests: add additional tests to local plugin
-
6547b1ab
by Tiago Gomes
at 2018-08-01T09:37:53Z
tests: add additional tests to patch plugin
-
663ab76d
by Tiago Gomes
at 2018-08-01T09:38:51Z
tests: test local plugins and element-path paths