Merge pull request #1092 from flixman/main

Provide support for cache_from and cache_to fields
This commit is contained in:
Povilas Kanapickas 2025-01-05 13:11:53 +02:00 committed by GitHub
commit e9f1029406
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 35 additions and 0 deletions

View File

@ -0,0 +1 @@
Added support for cache_from and cache_to fields in build section.

View File

@ -2519,6 +2519,10 @@ def container_to_build_args(compose, cnt, args, path_exists):
"--build-arg",
build_arg,
))
for cache_img in build_desc.get("cache_from", []):
build_args.extend(["--cache-from", cache_img])
for cache_img in build_desc.get("cache_to", []):
build_args.extend(["--cache-to", cache_img])
build_args.append(ctx)
return build_args

View File

@ -126,3 +126,33 @@ class TestContainerToBuildArgs(unittest.TestCase):
'.',
],
)
def test_caches(self):
c = create_compose_mock()
cnt = get_minimal_container()
cnt['build']['cache_from'] = ['registry/image1', 'registry/image2']
cnt['build']['cache_to'] = ['registry/image3', 'registry/image4']
args = get_minimal_args()
args = container_to_build_args(c, cnt, args, lambda path: True)
self.assertEqual(
args,
[
'-f',
'./Containerfile',
'-t',
'new-image',
'--no-cache',
'--pull-always',
'--cache-from',
'registry/image1',
'--cache-from',
'registry/image2',
'--cache-to',
'registry/image3',
'--cache-to',
'registry/image4',
'.',
],
)