Skip to content
Snippets Groups Projects
Unverified Commit af9e17ec authored by Michael Kriese's avatar Michael Kriese Committed by GitHub
Browse files

build: fix docker build cache (#27209)

parent 6b8ed97f
No related branches found
No related tags found
No related merge requests found
...@@ -5,7 +5,7 @@ variable "FILE" { ...@@ -5,7 +5,7 @@ variable "FILE" {
default = "renovate" default = "renovate"
} }
variable "RENOVATE_VERSION" { variable "RENOVATE_VERSION" {
default = "unknown" default = ""
} }
variable "RENOVATE_MAJOR_VERSION" { variable "RENOVATE_MAJOR_VERSION" {
default = "" default = ""
...@@ -43,15 +43,6 @@ group "push" { ...@@ -43,15 +43,6 @@ group "push" {
targets = [ targets = [
"push-slim", "push-slim",
"push-full", "push-full",
"push-cache-slim",
"push-cache-full",
]
}
group "push-cache" {
targets = [
"push-cache-slim",
"push-cache-full",
] ]
} }
...@@ -67,25 +58,31 @@ target "settings" { ...@@ -67,25 +58,31 @@ target "settings" {
target "slim" { target "slim" {
cache-from = [ cache-from = [
"type=registry,ref=ghcr.io/${OWNER}/${FILE}",
"type=registry,ref=ghcr.io/${OWNER}/docker-build-cache:${FILE}", "type=registry,ref=ghcr.io/${OWNER}/docker-build-cache:${FILE}",
] ]
tags = [ tags = [
"ghcr.io/${OWNER}/${FILE}", "ghcr.io/${OWNER}/${FILE}",
"ghcr.io/${OWNER}/${FILE}:${RENOVATE_VERSION}",
"${FILE}/${FILE}", "${FILE}/${FILE}",
"${FILE}/${FILE}:${RENOVATE_VERSION}",
// GitHub versioned tags
notequal("", RENOVATE_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_VERSION}": "",
notequal("", RENOVATE_MAJOR_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_MAJOR_VERSION}": "", notequal("", RENOVATE_MAJOR_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_MAJOR_VERSION}": "",
notequal("", RENOVATE_MAJOR_MINOR_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_MAJOR_MINOR_VERSION}": "", notequal("", RENOVATE_MAJOR_MINOR_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_MAJOR_MINOR_VERSION}": "",
// Docker Hub versioned tags
notequal("", RENOVATE_VERSION) ? "${FILE}/${FILE}:${RENOVATE_VERSION}": "",
notequal("", RENOVATE_MAJOR_VERSION) ? "${FILE}/${FILE}:${RENOVATE_MAJOR_VERSION}": "", notequal("", RENOVATE_MAJOR_VERSION) ? "${FILE}/${FILE}:${RENOVATE_MAJOR_VERSION}": "",
notequal("", RENOVATE_MAJOR_MINOR_VERSION) ? "${FILE}/${FILE}:${RENOVATE_MAJOR_MINOR_VERSION}": "", notequal("", RENOVATE_MAJOR_MINOR_VERSION) ? "${FILE}/${FILE}:${RENOVATE_MAJOR_MINOR_VERSION}": "",
// TODO: legacy, remove on next major // legacy slim tags
"ghcr.io/${OWNER}/${FILE}-slim", // TODO: remove on next major
"ghcr.io/${OWNER}/${FILE}:${RENOVATE_VERSION}-slim", "ghcr.io/${OWNER}/${FILE}:slim",
"${FILE}/${FILE}:slim", "${FILE}/${FILE}:slim",
"${FILE}/${FILE}:${RENOVATE_VERSION}-slim", notequal("", RENOVATE_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_VERSION}-slim": "",
notequal("", RENOVATE_MAJOR_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_MAJOR_VERSION}-slim": "", notequal("", RENOVATE_MAJOR_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_MAJOR_VERSION}-slim": "",
notequal("", RENOVATE_MAJOR_MINOR_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_MAJOR_MINOR_VERSION}-slim": "", notequal("", RENOVATE_MAJOR_MINOR_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_MAJOR_MINOR_VERSION}-slim": "",
notequal("", RENOVATE_VERSION) ? "${FILE}/${FILE}:${RENOVATE_VERSION}-slim": "",
notequal("", RENOVATE_MAJOR_VERSION) ? "${FILE}/${FILE}:${RENOVATE_MAJOR_VERSION}-slim": "", notequal("", RENOVATE_MAJOR_VERSION) ? "${FILE}/${FILE}:${RENOVATE_MAJOR_VERSION}-slim": "",
notequal("", RENOVATE_MAJOR_MINOR_VERSION) ? "${FILE}/${FILE}:${RENOVATE_MAJOR_MINOR_VERSION}-slim": "", notequal("", RENOVATE_MAJOR_MINOR_VERSION) ? "${FILE}/${FILE}:${RENOVATE_MAJOR_MINOR_VERSION}-slim": "",
] ]
...@@ -96,47 +93,25 @@ target "full" { ...@@ -96,47 +93,25 @@ target "full" {
BASE_IMAGE_TYPE = "full" BASE_IMAGE_TYPE = "full"
} }
cache-from = [ cache-from = [
"type=registry,ref=ghcr.io/${OWNER}/${FILE}:full",
"type=registry,ref=ghcr.io/${OWNER}/docker-build-cache:${FILE}-full", "type=registry,ref=ghcr.io/${OWNER}/docker-build-cache:${FILE}-full",
] ]
tags = [ tags = [
"ghcr.io/${OWNER}/${FILE}:${RENOVATE_VERSION}-full",
"ghcr.io/${OWNER}/${FILE}:full", "ghcr.io/${OWNER}/${FILE}:full",
"${FILE}/${FILE}:full", "${FILE}/${FILE}:full",
"${FILE}/${FILE}:${RENOVATE_VERSION}-full",
// GitHub versioned tags
notequal("", RENOVATE_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_VERSION}-full": "",
notequal("", RENOVATE_MAJOR_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_MAJOR_VERSION}-full": "", notequal("", RENOVATE_MAJOR_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_MAJOR_VERSION}-full": "",
notequal("", RENOVATE_MAJOR_MINOR_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_MAJOR_MINOR_VERSION}-full": "", notequal("", RENOVATE_MAJOR_MINOR_VERSION) ? "ghcr.io/${OWNER}/${FILE}:${RENOVATE_MAJOR_MINOR_VERSION}-full": "",
// Docker Hub versioned tags
notequal("", RENOVATE_VERSION) ? "${FILE}/${FILE}:${RENOVATE_VERSION}-full": "",
notequal("", RENOVATE_MAJOR_VERSION) ? "${FILE}/${FILE}:${RENOVATE_MAJOR_VERSION}-full": "", notequal("", RENOVATE_MAJOR_VERSION) ? "${FILE}/${FILE}:${RENOVATE_MAJOR_VERSION}-full": "",
notequal("", RENOVATE_MAJOR_MINOR_VERSION) ? "${FILE}/${FILE}:${RENOVATE_MAJOR_MINOR_VERSION}-full": "", notequal("", RENOVATE_MAJOR_MINOR_VERSION) ? "${FILE}/${FILE}:${RENOVATE_MAJOR_MINOR_VERSION}-full": "",
] ]
} }
target "cache" {
output = ["type=registry"]
cache-to = ["type=inline,mode=max"]
}
target "push-cache-slim" {
inherits = [
"settings",
"cache",
"slim",
]
tags = [
"ghcr.io/${OWNER}/docker-build-cache:${FILE}",
]
}
target "push-cache-full" {
inherits = [
"settings",
"cache",
"full",
]
tags = [
"ghcr.io/${OWNER}/docker-build-cache:${FILE}-full",
]
}
target "build-slim" { target "build-slim" {
inherits = ["settings", "slim"] inherits = ["settings", "slim"]
} }
...@@ -148,9 +123,15 @@ target "build-full" { ...@@ -148,9 +123,15 @@ target "build-full" {
target "push-slim" { target "push-slim" {
inherits = ["settings", "slim"] inherits = ["settings", "slim"]
output = ["type=registry"] output = ["type=registry"]
cache-to = [
"type=registry,ref=ghcr.io/${OWNER}/docker-build-cache:${FILE}-full,mode=max,image-manifest=true,ignore-error=true",
]
} }
target "push-full" { target "push-full" {
inherits = ["settings", "full"] inherits = ["settings", "full"]
output = ["type=registry"] output = ["type=registry"]
cache-to = [
"type=registry,ref=ghcr.io/${OWNER}/docker-build-cache:${FILE}-full,mode=max,image-manifest=true,ignore-error=true",
]
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment