summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Coldrick <adam.coldrick@codethink.co.uk>2015-03-17 11:26:46 +0000
committerAdam Coldrick <adam.coldrick@codethink.co.uk>2015-03-17 11:26:46 +0000
commit73f5c3170536936da36d3cd4cca7dce01a7614e1 (patch)
tree892f400a13382e2cc0f8b6d574f2227faf568d28
parent76f6ae59f4249b8420572adc8d61a8986d23542f (diff)
downloadmorph-baserock/adamcoldrick/speed-up-artifact-serialisation-v3.tar.gz
-rw-r--r--distbuild/serialise.py2
-rw-r--r--morphlib/plugins/distbuild_plugin.py5
2 files changed, 7 insertions, 0 deletions
diff --git a/distbuild/serialise.py b/distbuild/serialise.py
index d79674b0..d800d487 100644
--- a/distbuild/serialise.py
+++ b/distbuild/serialise.py
@@ -70,6 +70,7 @@ def serialise_artifact(artifact, repo, ref):
'source_name': source.name,
'source_repo': source.repo_name,
'source_ref': source.original_ref,
+ 'source_sha1': source.sha1,
'source_artifacts': [],
'dependencies': []
}
@@ -108,6 +109,7 @@ def serialise_artifact(artifact, repo, ref):
'source_name': a.source_name,
'source_repo': a.source_repo,
'source_ref': a.source_ref,
+ 'source_sha1': a.source_sha1,
'source_artifacts': [],
'dependencies': []
}
diff --git a/morphlib/plugins/distbuild_plugin.py b/morphlib/plugins/distbuild_plugin.py
index 9e2f9f4b..d30e034a 100644
--- a/morphlib/plugins/distbuild_plugin.py
+++ b/morphlib/plugins/distbuild_plugin.py
@@ -128,6 +128,11 @@ class WorkerBuild(cliapp.Plugin):
artifact_reference.filename):
if s.cache_key == artifact_reference.cache_key:
return s
+ for s in source_pool.lookup(artifact_reference.source_repo,
+ artifact_reference.source_sha1,
+ artifact_reference.filename):
+ if s.cache_key == artifact_reference.cache_key:
+ return s
def is_system_artifact(self, filename):
return re.match(r'^[0-9a-fA-F]{64}\.system\.', filename)