bake: support compose build cache_to

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2022-06-23 21:44:06 +02:00
parent 3cf549a7f7
commit b438032a60
No known key found for this signature in database
GPG Key ID: 3248E46B6BB8C7F7
2 changed files with 12 additions and 2 deletions

View File

@ -100,6 +100,7 @@ func ParseCompose(dt []byte) (*Config, error) {
return val, ok
})),
CacheFrom: s.Build.CacheFrom,
CacheTo: s.Build.CacheTo,
NetworkMode: &s.Build.Network,
Secrets: secrets,
}

View File

@ -23,6 +23,10 @@ services:
none
args:
buildno: 123
cache_from:
- type=local,src=path/to/cache
cache_to:
- type=local,dest=path/to/cache
secrets:
- token
- aws
@ -54,6 +58,8 @@ secrets:
require.Equal(t, "Dockerfile-alternate", *c.Targets[1].Dockerfile)
require.Equal(t, 1, len(c.Targets[1].Args))
require.Equal(t, "123", c.Targets[1].Args["buildno"])
require.Equal(t, c.Targets[1].CacheFrom, []string{"type=local,src=path/to/cache"})
require.Equal(t, c.Targets[1].CacheTo, []string{"type=local,dest=path/to/cache"})
require.Equal(t, "none", *c.Targets[1].NetworkMode)
require.Equal(t, []string{
"id=token,env=ENV_TOKEN",
@ -253,6 +259,8 @@ services:
dockerfile: ./Dockerfile
cache_from:
- user/app:cache
cache_to:
- user/app:cache
tags:
- ct-addon:baz
args:
@ -267,7 +275,8 @@ services:
- linux/arm64
cache-from:
- type=local,src=path/to/cache
cache-to: type=local,dest=path/to/cache
cache-to:
- type=local,dest=path/to/cache
pull: true
aws:
@ -297,7 +306,7 @@ services:
require.Equal(t, c.Targets[0].Tags, []string{"ct-addon:baz", "ct-addon:foo", "ct-addon:alp"})
require.Equal(t, c.Targets[0].Platforms, []string{"linux/amd64", "linux/arm64"})
require.Equal(t, c.Targets[0].CacheFrom, []string{"type=local,src=path/to/cache"})
require.Equal(t, c.Targets[0].CacheTo, []string{"type=local,dest=path/to/cache"})
require.Equal(t, c.Targets[0].CacheTo, []string{"user/app:cache", "type=local,dest=path/to/cache"})
require.Equal(t, c.Targets[0].Pull, newBool(true))
require.Equal(t, c.Targets[1].Tags, []string{"ct-fake-aws:bar"})
require.Equal(t, c.Targets[1].Secrets, []string{"id=mysecret,src=/local/secret", "id=mysecret2,src=/local/secret2"})