mirror of https://github.com/google/oss-fuzz.git
parent
c64628826f
commit
a2e5a2d2f6
|
@ -110,6 +110,51 @@ def run_build(steps, images, tags=None, build_version=MAJOR_TAG):
|
|||
use_build_pool=False)
|
||||
|
||||
|
||||
def get_images_architecture_manifest_steps():
|
||||
"""Returns steps to create manifests for ARM and x86_64 versions of
|
||||
base-runner and base-builder."""
|
||||
images = [f'{TAG_PREFIX}/base-builder', f'{TAG_PREFIX}/base-runner']
|
||||
steps = []
|
||||
for image in images:
|
||||
steps.extend(get_image_push_architecture_manifest_steps(image))
|
||||
return steps
|
||||
|
||||
|
||||
def get_image_push_architecture_manifest_steps(image):
|
||||
"""Returns the steps to push a manifest pointing to ARM64 and AMD64 versions
|
||||
of |image|."""
|
||||
arm_testing_image = f'{image}-testing-arm'
|
||||
amd64_manifest_image = f'{image}:manifest-amd64'
|
||||
arm64_manifest_image = f'{image}:manifest-arm64v8'
|
||||
steps = [
|
||||
{
|
||||
'name': 'gcr.io/cloud-builders/docker',
|
||||
'args': ['tag', image, amd64_manifest_image],
|
||||
},
|
||||
{
|
||||
'name': 'gcr.io/cloud-builders/docker',
|
||||
'args': ['pull', arm_testing_image],
|
||||
},
|
||||
{
|
||||
'name': 'gcr.io/cloud-builders/docker',
|
||||
'args': ['tag', arm_testing_image, arm64_manifest_image],
|
||||
},
|
||||
{
|
||||
'name':
|
||||
'gcr.io/cloud-builders/docker',
|
||||
'args': [
|
||||
'tag', 'manifest', 'create', image, '--amend',
|
||||
arm64_manifest_image, '--amend', amd64_manifest_image
|
||||
],
|
||||
},
|
||||
{
|
||||
'name': 'gcr.io/cloud-builders/docker',
|
||||
'args': ['manifest', 'push', image]
|
||||
},
|
||||
]
|
||||
return steps
|
||||
|
||||
|
||||
def base_builder(event, context):
|
||||
"""Cloud function to build base images."""
|
||||
del event, context
|
||||
|
@ -119,6 +164,10 @@ def base_builder(event, context):
|
|||
images = [TAG_PREFIX + base_image for base_image in BASE_IMAGES]
|
||||
run_build(steps, images)
|
||||
|
||||
steps = get_images_architecture_manifest_steps()
|
||||
images = ['base-builder', 'base-runner']
|
||||
run_build(steps, images)
|
||||
|
||||
introspector_steps = _get_introspector_base_images_steps()
|
||||
introspector_images = [
|
||||
TAG_PREFIX + base_image for base_image in INTROSPECTOR_BASE_IMAGES
|
||||
|
|
Loading…
Reference in New Issue