I've noticed that a simple build (reproducible) with dagger-engine 0.9.3 and Go SDK results in eating up disk space very fast for no reason.
FROM alpine
ADD a.sh .
Content of a.sh is just "echo foo"
And a code to build this:
package main
import (
"context"
"fmt"
"math"
"math/rand"
"os"
"dagger.io/dagger"
)
func main() {
ctx := context.Background()
// initialize Dagger client
client, err := dagger.Connect(ctx, dagger.WithLogOutput(os.Stderr))
if err != nil {
panic(err)
}
defer client.Close()
contextDir := client.Host().Directory(".")
ref, err := contextDir.
DockerBuild().
Publish(ctx, fmt.Sprintf("ttl.sh/hello-dagger-%.0f", math.Floor(rand.Float64()*10000000))) //#nosec
if err != nil {
panic(err)
}
fmt.Printf("Published image to :%s\n", ref)
}
Results in buildkit cache constantly increasing.
First build:
$ docker exec dagger-engine-7b45c2238c1141a1 buildctl du -v
Reclaimable: 0B
After it:
ID RECLAIMABLE SIZE LAST ACCESSED
qju1lp3cvnhxyjkf1jpe32crh true 191.97MB
jbd3i2uaodnvmp2r2g6m90kui* true 131.29MB
7rbnyc454uhqwn7rmrtnahr48* true 131.29MB
4vujwtocspbf35gxlwj4kuyiv true 11.68MB
h4v38q7854ey5tb752p1j6kln true 8.30kB
Reclaimable: 466.24MB
Total: 466.24MB