computed "dep_cache_key" {
description = "Cache key from the Go module lock file"
expression = "deps-${sha256(file("go.sum"))}"
}
task "restore-cache" {
description = "Restore the module cache if available"
commands = ["cache restore ${computed.dep_cache_key} || true"]
}
task "install" {
description = "Download Go module dependencies"
depends_on = [task.restore-cache]
commands = ["go mod download"]
}
task "save-cache" {
description = "Save the module cache"
depends_on = [task.install]
commands = ["cache save ${computed.dep_cache_key}"]
}