mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
vendor: update buildkit to v0.19.0-rc3
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
@@ -63,7 +63,7 @@ require (
|
||||
github.com/miekg/dns v1.1.57
|
||||
github.com/mistifyio/go-zfs/v3 v3.0.1
|
||||
github.com/mitchellh/copystructure v1.2.0
|
||||
github.com/moby/buildkit v0.19.0-rc2
|
||||
github.com/moby/buildkit v0.19.0-rc3
|
||||
github.com/moby/docker-image-spec v1.3.1
|
||||
github.com/moby/ipvs v1.1.0
|
||||
github.com/moby/locker v1.0.1
|
||||
|
||||
12
vendor.sum
12
vendor.sum
@@ -367,8 +367,8 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F
|
||||
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
|
||||
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
|
||||
github.com/mndrix/tap-go v0.0.0-20171203230836-629fa407e90b/go.mod h1:pzzDgJWZ34fGzaAZGFW22KVZDfyrYW+QABMrWnJBnSs=
|
||||
github.com/moby/buildkit v0.19.0-rc2 h1:7sAuQ5bDNIbdfmc7UDbrWJ2UPOR5w9rNWgnrEoC5aoo=
|
||||
github.com/moby/buildkit v0.19.0-rc2/go.mod h1:4WYJLet/NI2p1o2rPQ6CIFpyyyvwvPz/TVISmwqqpHI=
|
||||
github.com/moby/buildkit v0.19.0-rc3 h1:9PJv9iECP3fqy/4v8m5WvdBTYg3diDp/ImsfPBy2xG0=
|
||||
github.com/moby/buildkit v0.19.0-rc3/go.mod h1:WiHBFTgWV8eB1AmPxIWsAlKjUACAwm3X/14xOV4VWew=
|
||||
github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0=
|
||||
github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
|
||||
github.com/moby/ipvs v1.1.0 h1:ONN4pGaZQgAx+1Scz5RvWV4Q7Gb+mvfRh3NsPS+1XQQ=
|
||||
@@ -804,10 +804,10 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh
|
||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
|
||||
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
|
||||
kernel.org/pub/linux/libs/security/libcap/cap v1.2.70 h1:QnLPkuDWWbD5C+3DUA2IUXai5TK6w2zff+MAGccqdsw=
|
||||
kernel.org/pub/linux/libs/security/libcap/cap v1.2.70/go.mod h1:/iBwcj9nbLejQitYvUm9caurITQ6WyNHibJk6Q9fiS4=
|
||||
kernel.org/pub/linux/libs/security/libcap/psx v1.2.70 h1:HsB2G/rEQiYyo1bGoQqHZ/Bvd6x1rERQTNdPr1FyWjI=
|
||||
kernel.org/pub/linux/libs/security/libcap/psx v1.2.70/go.mod h1:+l6Ee2F59XiJ2I6WR5ObpC1utCQJZ/VLsEbQCD8RG24=
|
||||
kernel.org/pub/linux/libs/security/libcap/cap v1.2.73 h1:Th2b8jljYqkyZKS3aD3N9VpYsQpHuXLgea+SZUIfODA=
|
||||
kernel.org/pub/linux/libs/security/libcap/cap v1.2.73/go.mod h1:hbeKwKcboEsxARYmcy/AdPVN11wmT/Wnpgv4k4ftyqY=
|
||||
kernel.org/pub/linux/libs/security/libcap/psx v1.2.73 h1:SEAEUiPVylTD4vqqi+vtGkSnXeP2FcRO3FoZB1MklMw=
|
||||
kernel.org/pub/linux/libs/security/libcap/psx v1.2.73/go.mod h1:+l6Ee2F59XiJ2I6WR5ObpC1utCQJZ/VLsEbQCD8RG24=
|
||||
resenje.org/singleflight v0.4.3 h1:l7foFYg8X/VEHPxWs1K/Pw77807RMVzvXgWGb0J1sdM=
|
||||
resenje.org/singleflight v0.4.3/go.mod h1:lAgQK7VfjG6/pgredbQfmV0RvG/uVhKo6vSuZ0vCWfk=
|
||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||
|
||||
12
vendor/github.com/moby/buildkit/cache/contenthash/filehash.go
generated
vendored
12
vendor/github.com/moby/buildkit/cache/contenthash/filehash.go
generated
vendored
@@ -8,6 +8,7 @@ import (
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
fstypes "github.com/tonistiigi/fsutil/types"
|
||||
)
|
||||
|
||||
@@ -40,13 +41,22 @@ func NewFileHash(path string, fi os.FileInfo) (hash.Hash, error) {
|
||||
}
|
||||
|
||||
func NewFromStat(stat *fstypes.Stat) (hash.Hash, error) {
|
||||
// Clear the irregular file bit if this is some kind of special
|
||||
// file. Pre-Go 1.23 behavior would only add the irregular file
|
||||
// bit to regular files with non-handled reparse points.
|
||||
// Current versions of Go now apply them to directories too.
|
||||
// archive/tar.FileInfoHeader does not handle the irregular bit.
|
||||
if stat.Mode&uint32(os.ModeType&^os.ModeIrregular) != 0 {
|
||||
stat.Mode &^= uint32(os.ModeIrregular)
|
||||
}
|
||||
|
||||
// Clear the socket bit since archive/tar.FileInfoHeader does not handle it
|
||||
stat.Mode &^= uint32(os.ModeSocket)
|
||||
|
||||
fi := &statInfo{stat}
|
||||
hdr, err := tar.FileInfoHeader(fi, stat.Linkname)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, errors.Wrapf(err, "failed to checksum file %s", stat.Path)
|
||||
}
|
||||
hdr.Name = "" // note: empty name is different from current has in docker build. Name is added on recursive directory scan instead
|
||||
hdr.Devmajor = stat.Devmajor
|
||||
|
||||
41
vendor/github.com/moby/buildkit/cache/manager.go
generated
vendored
41
vendor/github.com/moby/buildkit/cache/manager.go
generated
vendored
@@ -1012,7 +1012,7 @@ func (cm *cacheManager) Prune(ctx context.Context, ch chan client.UsageInfo, opt
|
||||
cm.muPrune.Lock()
|
||||
|
||||
for _, opt := range opts {
|
||||
if err := cm.pruneOnce(ctx, ch, opt); err != nil {
|
||||
if err := cm.prune(ctx, ch, opt); err != nil {
|
||||
cm.muPrune.Unlock()
|
||||
return err
|
||||
}
|
||||
@@ -1029,7 +1029,7 @@ func (cm *cacheManager) Prune(ctx context.Context, ch chan client.UsageInfo, opt
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cm *cacheManager) pruneOnce(ctx context.Context, ch chan client.UsageInfo, opt client.PruneInfo) error {
|
||||
func (cm *cacheManager) prune(ctx context.Context, ch chan client.UsageInfo, opt client.PruneInfo) error {
|
||||
filter, err := filters.ParseAll(opt.Filter...)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "failed to parse prune filters %v", opt.Filter)
|
||||
@@ -1066,14 +1066,21 @@ func (cm *cacheManager) pruneOnce(ctx context.Context, ch chan client.UsageInfo,
|
||||
}
|
||||
}
|
||||
|
||||
return cm.prune(ctx, ch, pruneOpt{
|
||||
popt := pruneOpt{
|
||||
filter: filter,
|
||||
all: opt.All,
|
||||
checkShared: check,
|
||||
keepDuration: opt.KeepDuration,
|
||||
keepBytes: calculateKeepBytes(totalSize, dstat, opt),
|
||||
totalSize: totalSize,
|
||||
})
|
||||
}
|
||||
for {
|
||||
releasedSize, releasedCount, err := cm.pruneOnce(ctx, ch, popt)
|
||||
if err != nil || releasedCount == 0 {
|
||||
return err
|
||||
}
|
||||
popt.totalSize -= releasedSize
|
||||
}
|
||||
}
|
||||
|
||||
func calculateKeepBytes(totalSize int64, dstat disk.DiskStat, opt client.PruneInfo) int64 {
|
||||
@@ -1100,9 +1107,9 @@ func calculateKeepBytes(totalSize int64, dstat disk.DiskStat, opt client.PruneIn
|
||||
return keepBytes
|
||||
}
|
||||
|
||||
func (cm *cacheManager) prune(ctx context.Context, ch chan client.UsageInfo, opt pruneOpt) (err error) {
|
||||
func (cm *cacheManager) pruneOnce(ctx context.Context, ch chan client.UsageInfo, opt pruneOpt) (releasedSize, releasedCount int64, err error) {
|
||||
if opt.keepBytes != 0 && opt.totalSize < opt.keepBytes {
|
||||
return nil
|
||||
return 0, 0, nil
|
||||
}
|
||||
|
||||
var toDelete []*deleteRecord
|
||||
@@ -1206,11 +1213,11 @@ func (cm *cacheManager) prune(ctx context.Context, ch chan client.UsageInfo, opt
|
||||
// mark metadata as deleted in case we crash before cleanup finished
|
||||
if err := cr.queueDeleted(); err != nil {
|
||||
releaseLocks()
|
||||
return err
|
||||
return 0, 0, err
|
||||
}
|
||||
if err := cr.commitMetadata(); err != nil {
|
||||
releaseLocks()
|
||||
return err
|
||||
return 0, 0, err
|
||||
}
|
||||
}
|
||||
cr.mu.Unlock()
|
||||
@@ -1221,7 +1228,7 @@ func (cm *cacheManager) prune(ctx context.Context, ch chan client.UsageInfo, opt
|
||||
cm.mu.Unlock()
|
||||
|
||||
if len(toDelete) == 0 {
|
||||
return nil
|
||||
return 0, 0, nil
|
||||
}
|
||||
|
||||
// calculate sizes here so that lock does not need to be held for slow process
|
||||
@@ -1234,7 +1241,7 @@ func (cm *cacheManager) prune(ctx context.Context, ch chan client.UsageInfo, opt
|
||||
if size == sizeUnknown {
|
||||
// calling size will warm cache for next call
|
||||
if _, err := cr.size(ctx); err != nil {
|
||||
return err
|
||||
return 0, 0, err
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1277,15 +1284,18 @@ func (cm *cacheManager) prune(ctx context.Context, ch chan client.UsageInfo, opt
|
||||
c.Size = cr.equalImmutable.getSize() // benefit from DiskUsage calc
|
||||
}
|
||||
|
||||
opt.totalSize -= c.Size
|
||||
releasedSize += c.Size
|
||||
|
||||
if cr.equalImmutable != nil {
|
||||
if err1 := cr.equalImmutable.remove(ctx, false); err == nil {
|
||||
err = err1
|
||||
}
|
||||
}
|
||||
if err1 := cr.remove(ctx, true); err == nil {
|
||||
|
||||
if err1 := cr.remove(ctx, true); err1 != nil && err == nil {
|
||||
err = err1
|
||||
} else if err1 == nil {
|
||||
releasedCount++
|
||||
}
|
||||
|
||||
if err == nil && ch != nil {
|
||||
@@ -1294,16 +1304,17 @@ func (cm *cacheManager) prune(ctx context.Context, ch chan client.UsageInfo, opt
|
||||
cr.mu.Unlock()
|
||||
}
|
||||
cm.mu.Unlock()
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
return releasedSize, releasedCount, err
|
||||
}
|
||||
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
return context.Cause(ctx)
|
||||
err = context.Cause(ctx)
|
||||
default:
|
||||
return cm.prune(ctx, ch, opt)
|
||||
}
|
||||
return releasedSize, releasedCount, err
|
||||
}
|
||||
|
||||
func (cm *cacheManager) markShared(m map[string]*cacheUsageInfo) error {
|
||||
|
||||
14
vendor/github.com/moby/buildkit/control/control.go
generated
vendored
14
vendor/github.com/moby/buildkit/control/control.go
generated
vendored
@@ -623,14 +623,12 @@ func (c *Controller) gc() {
|
||||
}()
|
||||
|
||||
for _, w := range workers {
|
||||
func(w worker.Worker) {
|
||||
eg.Go(func() error {
|
||||
if policy := w.GCPolicy(); len(policy) > 0 {
|
||||
return w.Prune(ctx, ch, policy...)
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}(w)
|
||||
eg.Go(func() error {
|
||||
if policy := w.GCPolicy(); len(policy) > 0 {
|
||||
return w.Prune(ctx, ch, policy...)
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
err = eg.Wait()
|
||||
|
||||
2
vendor/github.com/moby/buildkit/solver/llbsolver/history.go
generated
vendored
2
vendor/github.com/moby/buildkit/solver/llbsolver/history.go
generated
vendored
@@ -680,6 +680,8 @@ func (h *HistoryQueue) Update(ctx context.Context, e *controlapi.BuildHistoryEve
|
||||
h.mu.Lock()
|
||||
defer h.mu.Unlock()
|
||||
|
||||
e = e.CloneVT()
|
||||
|
||||
if e.Type == controlapi.BuildHistoryEventType_STARTED {
|
||||
h.active[e.Record.Ref] = e.Record
|
||||
h.ps.Send(e)
|
||||
|
||||
9
vendor/github.com/moby/buildkit/util/gitutil/git_cli.go
generated
vendored
9
vendor/github.com/moby/buildkit/util/gitutil/git_cli.go
generated
vendored
@@ -134,6 +134,10 @@ func (cli *GitCLI) Run(ctx context.Context, args ...string) (_ []byte, err error
|
||||
if cli.git != "" {
|
||||
gitBinary = cli.git
|
||||
}
|
||||
proxyEnvVars := [...]string{
|
||||
"HTTP_PROXY", "HTTPS_PROXY", "NO_PROXY", "ALL_PROXY",
|
||||
"http_proxy", "https_proxy", "no_proxy", "all_proxy",
|
||||
}
|
||||
|
||||
for {
|
||||
var cmd *exec.Cmd
|
||||
@@ -190,6 +194,11 @@ func (cli *GitCLI) Run(ctx context.Context, args ...string) (_ []byte, err error
|
||||
"HOME=/dev/null", // Disable reading from user gitconfig.
|
||||
"LC_ALL=C", // Ensure consistent output.
|
||||
}
|
||||
for _, ev := range proxyEnvVars {
|
||||
if v, ok := os.LookupEnv(ev); ok {
|
||||
cmd.Env = append(cmd.Env, ev+"="+v)
|
||||
}
|
||||
}
|
||||
if cli.sshAuthSock != "" {
|
||||
cmd.Env = append(cmd.Env, "SSH_AUTH_SOCK="+cli.sshAuthSock)
|
||||
}
|
||||
|
||||
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@@ -717,7 +717,7 @@ github.com/mitchellh/hashstructure/v2
|
||||
# github.com/mitchellh/reflectwalk v1.0.2
|
||||
## explicit
|
||||
github.com/mitchellh/reflectwalk
|
||||
# github.com/moby/buildkit v0.19.0-rc2
|
||||
# github.com/moby/buildkit v0.19.0-rc3
|
||||
## explicit; go 1.22.0
|
||||
github.com/moby/buildkit/api/services/control
|
||||
github.com/moby/buildkit/api/types
|
||||
|
||||
Reference in New Issue
Block a user