summaryrefslogtreecommitdiff
path: root/scripts/release-build
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2014-07-30 15:01:50 +0100
committerMichael Drake <michael.drake@codethink.co.uk>2014-07-30 15:01:50 +0100
commit0ad896ece6ce1d1fe78b9f8e35acfccaadb18a1f (patch)
treed67d6bfe94000a8fa7841d5ce5c5b4f09fadb5d3 /scripts/release-build
parent822a1457660a6b46d5f8c5ab8b28efeb8cb51b59 (diff)
downloaddefinitions-0ad896ece6ce1d1fe78b9f8e35acfccaadb18a1f.tar.gz
Allow release scripts to be configured to only handle a subset of architectures
We currently build all architectures at once during the release process, however for our CD pipeline we operate with one CD pipeline per architecture. This is not just useful for the CD pipeline work though, as it allows one organisation to handle releases for x86, where the infrastructure may be located in the cloud, and one organisation to handle ARM systems, which may be located in an office.
Diffstat (limited to 'scripts/release-build')
-rwxr-xr-xscripts/release-build5
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/release-build b/scripts/release-build
index 34305c67..fe10ba3b 100755
--- a/scripts/release-build
+++ b/scripts/release-build
@@ -121,6 +121,8 @@ class ReleaseApp(cliapp.Application):
builds = []
for system_name in systems:
system, _ = self.load_morphology(system_name)
+ if system['arch'] not in self.controllers:
+ continue
builds.append(Build(system_name, system['arch'], self))
return builds
@@ -130,6 +132,9 @@ class ReleaseApp(cliapp.Application):
for system in cluster['systems']:
name = system['morph']
+ morphology = self.load_morphology(name)[0]
+ if morphology['arch'] not in self.controllers:
+ continue
if name not in system['deploy']:
raise cliapp.AppException(
'In %s: system %s ID should be "%s"' %