diff --git a/cmd/vela-worker/exec.go b/cmd/vela-worker/exec.go index a26ddd5f..584d8069 100644 --- a/cmd/vela-worker/exec.go +++ b/cmd/vela-worker/exec.go @@ -6,25 +6,25 @@ import ( "context" "encoding/json" "net/http" - "strconv" "sync" "time" + "github.com/sirupsen/logrus" + + api "github.com/go-vela/server/api/types" "github.com/go-vela/types" "github.com/go-vela/types/constants" - "github.com/go-vela/types/library" "github.com/go-vela/types/pipeline" "github.com/go-vela/worker/executor" "github.com/go-vela/worker/runtime" "github.com/go-vela/worker/version" - "github.com/sirupsen/logrus" ) // exec is a helper function to poll the queue // and execute Vela pipelines for the Worker. // //nolint:nilerr,funlen // ignore returning nil - don't want to crash worker -func (w *Worker) exec(index int, config *library.Worker) error { +func (w *Worker) exec(index int, config *api.Worker) error { var err error // setup the version @@ -103,14 +103,14 @@ func (w *Worker) exec(index int, config *library.Worker) error { "version": v.Semantic(), }) - // lock and append the build to the RunningBuildIDs list - w.RunningBuildIDsMutex.Lock() + // lock and append the build to the list + w.RunningBuildsMutex.Lock() - w.RunningBuildIDs = append(w.RunningBuildIDs, strconv.FormatInt(item.Build.GetID(), 10)) + w.RunningBuilds = append(w.RunningBuilds, item.Build) - config.SetRunningBuildIDs(w.RunningBuildIDs) + config.SetRunningBuilds(w.RunningBuilds) - w.RunningBuildIDsMutex.Unlock() + w.RunningBuildsMutex.Unlock() // set worker status updateStatus := w.getWorkerStatusFromConfig(config) @@ -208,18 +208,18 @@ func (w *Worker) exec(index int, config *library.Worker) error { logger.Info("completed build") - // lock and remove the build from the RunningBuildIDs list - w.RunningBuildIDsMutex.Lock() + // lock and remove the build from the list + w.RunningBuildsMutex.Lock() - for i, v := range w.RunningBuildIDs { - if v == strconv.FormatInt(item.Build.GetID(), 10) { - w.RunningBuildIDs = append(w.RunningBuildIDs[:i], w.RunningBuildIDs[i+1:]...) + for i, v := range w.RunningBuilds { + if v.GetID() == item.Build.GetID() { + w.RunningBuilds = append(w.RunningBuilds[:i], w.RunningBuilds[i+1:]...) } } - config.SetRunningBuildIDs(w.RunningBuildIDs) + config.SetRunningBuilds(w.RunningBuilds) - w.RunningBuildIDsMutex.Unlock() + w.RunningBuildsMutex.Unlock() // set worker status updateStatus := w.getWorkerStatusFromConfig(config) @@ -303,8 +303,8 @@ func (w *Worker) exec(index int, config *library.Worker) error { // getWorkerStatusFromConfig is a helper function // to determine the appropriate worker status. -func (w *Worker) getWorkerStatusFromConfig(config *library.Worker) string { - switch rb := len(config.GetRunningBuildIDs()); { +func (w *Worker) getWorkerStatusFromConfig(config *api.Worker) string { + switch rb := len(config.GetRunningBuilds()); { case rb == 0: return constants.WorkerStatusIdle case rb < w.Config.Build.Limit: diff --git a/cmd/vela-worker/operate.go b/cmd/vela-worker/operate.go index aaa4e6a9..e0f2ce85 100644 --- a/cmd/vela-worker/operate.go +++ b/cmd/vela-worker/operate.go @@ -6,12 +6,12 @@ import ( "context" "time" - "github.com/go-vela/server/queue" - "github.com/go-vela/types/constants" - "github.com/go-vela/types/library" "github.com/sirupsen/logrus" - "golang.org/x/sync/errgroup" + + api "github.com/go-vela/server/api/types" + "github.com/go-vela/server/queue" + "github.com/go-vela/types/constants" ) // operate is a helper function to initiate all @@ -27,7 +27,7 @@ func (w *Worker) operate(ctx context.Context) error { executors, gctx := errgroup.WithContext(ctx) // Define the database representation of the worker // and register itself in the database - registryWorker := new(library.Worker) + registryWorker := new(api.Worker) registryWorker.SetHostname(w.Config.API.Address.Hostname()) registryWorker.SetAddress(w.Config.API.Address.String()) registryWorker.SetRoutes(w.Config.Queue.Routes) @@ -118,13 +118,16 @@ func (w *Worker) operate(ctx context.Context) error { continue } + w.QueueCheckedIn, err = w.queueCheckIn(gctx, registryWorker) + if err != nil { // queue check in failed, retry logrus.Errorf("unable to ping queue %v", err) logrus.Info("retrying check-in...") time.Sleep(5 * time.Second) + continue } @@ -166,12 +169,14 @@ func (w *Worker) operate(ctx context.Context) error { if !w.CheckedIn { time.Sleep(5 * time.Second) logrus.Info("worker not checked in, skipping queue read") + continue } // do not pull from queue unless queue setup is done and connected if !w.QueueCheckedIn { time.Sleep(5 * time.Second) logrus.Info("queue ping failed, skipping queue read") + continue } select { @@ -179,6 +184,7 @@ func (w *Worker) operate(ctx context.Context) error { logrus.WithFields(logrus.Fields{ "id": id, }).Info("completed looping on worker executor") + return nil default: logrus.WithFields(logrus.Fields{ @@ -197,16 +203,19 @@ func (w *Worker) operate(ctx context.Context) error { logrus.Errorf("failing worker executor: %v", err) registryWorker.SetStatus(constants.WorkerStatusError) _, resp, logErr := w.VelaClient.Worker.Update(registryWorker.GetHostname(), registryWorker) + if resp == nil { // log the error instead of returning so the operation doesn't block worker deployment logrus.Error("status update response is nil") } + if logErr != nil { if resp != nil { // log the error instead of returning so the operation doesn't block worker deployment logrus.Errorf("status code: %v, unable to update worker %s status with the server: %v", resp.StatusCode, registryWorker.GetHostname(), logErr) } } + return err } } diff --git a/cmd/vela-worker/register.go b/cmd/vela-worker/register.go index 19af9395..a713613a 100644 --- a/cmd/vela-worker/register.go +++ b/cmd/vela-worker/register.go @@ -7,13 +7,14 @@ import ( "fmt" "net/http" - "github.com/go-vela/types/constants" - "github.com/go-vela/types/library" "github.com/sirupsen/logrus" + + api "github.com/go-vela/server/api/types" + "github.com/go-vela/types/constants" ) // checkIn is a helper function to phone home to the server. -func (w *Worker) checkIn(config *library.Worker) (bool, string, error) { +func (w *Worker) checkIn(config *api.Worker) (bool, string, error) { // check to see if the worker already exists in the database logrus.Infof("retrieving worker %s from the server", config.GetHostname()) @@ -48,7 +49,7 @@ func (w *Worker) checkIn(config *library.Worker) (bool, string, error) { } // register is a helper function to register the worker with the server. -func (w *Worker) register(config *library.Worker) (bool, string, error) { +func (w *Worker) register(config *api.Worker) (bool, string, error) { logrus.Infof("worker %s not found, registering it with the server", config.GetHostname()) // status Idle will be set for worker upon first time registration @@ -68,7 +69,7 @@ func (w *Worker) register(config *library.Worker) (bool, string, error) { } // queueCheckIn is a helper function to phone home to the redis. -func (w *Worker) queueCheckIn(ctx context.Context, registryWorker *library.Worker) (bool, error) { +func (w *Worker) queueCheckIn(ctx context.Context, registryWorker *api.Worker) (bool, error) { pErr := w.Queue.Ping(ctx) if pErr != nil { logrus.Errorf("worker %s unable to contact the queue: %v", registryWorker.GetHostname(), pErr) @@ -86,7 +87,7 @@ func (w *Worker) queueCheckIn(ctx context.Context, registryWorker *library.Worke // updateWorkerStatus is a helper function to update worker status // logs the error if it can't update status. -func (w *Worker) updateWorkerStatus(config *library.Worker, status string) { +func (w *Worker) updateWorkerStatus(config *api.Worker, status string) { config.SetStatus(status) _, resp, logErr := w.VelaClient.Worker.Update(config.GetHostname(), config) diff --git a/cmd/vela-worker/run.go b/cmd/vela-worker/run.go index a3274de0..bdc358da 100644 --- a/cmd/vela-worker/run.go +++ b/cmd/vela-worker/run.go @@ -7,16 +7,15 @@ import ( "net/url" "github.com/gin-gonic/gin" - - "github.com/go-vela/server/queue" - "github.com/go-vela/worker/executor" - "github.com/go-vela/worker/runtime" - "github.com/sirupsen/logrus" - "github.com/urfave/cli/v2" _ "github.com/joho/godotenv/autoload" + + "github.com/go-vela/server/queue" + "github.com/go-vela/types/library" + "github.com/go-vela/worker/executor" + "github.com/go-vela/worker/runtime" ) // run executes the worker based @@ -137,7 +136,7 @@ func run(c *cli.Context) error { RegisterToken: make(chan string, 1), - RunningBuildIDs: make([]string, 0), + RunningBuilds: make([]*library.Build, 0), } // set the worker address if no flag was provided diff --git a/cmd/vela-worker/worker.go b/cmd/vela-worker/worker.go index af03ff77..a0a86f2b 100644 --- a/cmd/vela-worker/worker.go +++ b/cmd/vela-worker/worker.go @@ -9,6 +9,7 @@ import ( "github.com/go-vela/sdk-go/vela" "github.com/go-vela/server/queue" + "github.com/go-vela/types/library" "github.com/go-vela/worker/executor" "github.com/go-vela/worker/runtime" ) @@ -61,15 +62,15 @@ type ( // Worker represents all configuration and // system processes for the worker. Worker struct { - Config *Config - Executors map[int]executor.Engine - Queue queue.Service - Runtime runtime.Engine - VelaClient *vela.Client - RegisterToken chan string - CheckedIn bool - QueueCheckedIn bool - RunningBuildIDs []string - RunningBuildIDsMutex sync.Mutex + Config *Config + Executors map[int]executor.Engine + Queue queue.Service + Runtime runtime.Engine + VelaClient *vela.Client + RegisterToken chan string + CheckedIn bool + RunningBuilds []*library.Build + QueueCheckedIn bool + RunningBuildsMutex sync.Mutex } ) diff --git a/go.mod b/go.mod index fc237867..52d010a1 100644 --- a/go.mod +++ b/go.mod @@ -8,8 +8,8 @@ require ( github.com/docker/docker v24.0.9+incompatible github.com/docker/go-units v0.5.0 github.com/gin-gonic/gin v1.9.1 - github.com/go-vela/sdk-go v0.23.2 - github.com/go-vela/server v0.23.2 + github.com/go-vela/sdk-go v0.23.3-0.20240319181130-4a7c245c93ae + github.com/go-vela/server v0.23.4-0.20240319161125-1809638e7e72 github.com/go-vela/types v0.23.2 github.com/golang-jwt/jwt/v5 v5.2.1 github.com/google/go-cmp v0.6.0 @@ -33,7 +33,7 @@ require ( github.com/PuerkitoBio/purell v1.1.1 // indirect github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a // indirect - github.com/alicebob/miniredis/v2 v2.31.1 // indirect + github.com/alicebob/miniredis/v2 v2.32.1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/buildkite/yaml v0.0.0-20230306222819-0e4e032d4835 // indirect github.com/bytedance/sonic v1.9.1 // indirect @@ -79,7 +79,7 @@ require ( github.com/klauspost/cpuid/v2 v2.2.4 // indirect github.com/leodido/go-urn v1.2.4 // indirect github.com/mailru/easyjson v0.7.7 // indirect - github.com/mattn/go-isatty v0.0.19 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect github.com/mitchellh/copystructure v1.0.0 // indirect github.com/mitchellh/reflectwalk v1.0.1 // indirect github.com/moby/term v0.0.0-20201216013528-df9cb8a40635 // indirect @@ -102,8 +102,8 @@ require ( github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.11 // indirect github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect - github.com/yuin/gopher-lua v1.1.0 // indirect - go.starlark.net v0.0.0-20240311180835-efac67204ba7 // indirect + github.com/yuin/gopher-lua v1.1.1 // indirect + go.starlark.net v0.0.0-20240314022150-ee8ed142361c // indirect golang.org/x/arch v0.3.0 // indirect golang.org/x/crypto v0.21.0 // indirect golang.org/x/mod v0.14.0 // indirect @@ -115,7 +115,7 @@ require ( golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.16.1 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.32.0 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 43e52e1d..2c44cee8 100644 --- a/go.sum +++ b/go.sum @@ -2,7 +2,6 @@ github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7O github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Bose/minisentinel v0.0.0-20200130220412-917c5a9223bb h1:ZVN4Iat3runWOFLaBCDVU5a9X/XikSRBosye++6gojw= github.com/Bose/minisentinel v0.0.0-20200130220412-917c5a9223bb/go.mod h1:WsAABbY4HQBgd3mGuG4KMNTbHJCPvx9IVBHzysbknss= -github.com/DmitriyVTitov/size v1.5.0/go.mod h1:le6rNI4CoLQV1b9gzp1+3d7hMAD/uu2QcJ+aYbNgiU0= github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= @@ -18,8 +17,8 @@ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a h1:HbKu58rmZpUGpz5+4FfNmIU+FmZg2P3Xaj2v2bfNWmk= github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc= -github.com/alicebob/miniredis/v2 v2.31.1 h1:7XAt0uUg3DtwEKW5ZAGa+K7FZV2DdKQo5K/6TTnfX8Y= -github.com/alicebob/miniredis/v2 v2.31.1/go.mod h1:UB/T2Uztp7MlFSDakaX1sTXUv5CASoprx0wulRT6HBg= +github.com/alicebob/miniredis/v2 v2.32.1 h1:Bz7CciDnYSaa0mX5xODh6GUITRSx+cVhjNoOR4JssBo= +github.com/alicebob/miniredis/v2 v2.32.1/go.mod h1:AqkLNAfUm0K07J28hnAyyQKf/x0YkCY/g5DCtuL01Mw= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= @@ -94,10 +93,10 @@ github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= -github.com/go-vela/sdk-go v0.23.2 h1:DQzhz7ggbLXmi2Kg0x0C4h/ujSujSSyHbxUORMgt/hk= -github.com/go-vela/sdk-go v0.23.2/go.mod h1:kppIcwY9Bd6qke7sHVWJ0F+SNvYuTUw2sNvAnrkqayg= -github.com/go-vela/server v0.23.2 h1:G/JLZPHgokZxthE4PMfiMIZCKdYadoafYEqh/P91ECk= -github.com/go-vela/server v0.23.2/go.mod h1:Iqs8vB35nPcN6GpjmvWwIjBZZ42oKHgOTrGSpz2wvNI= +github.com/go-vela/sdk-go v0.23.3-0.20240319181130-4a7c245c93ae h1:E5sgPxZsuiB00hcAgR/TpzRcovy+GVFzTSZfPHMIfPY= +github.com/go-vela/sdk-go v0.23.3-0.20240319181130-4a7c245c93ae/go.mod h1:4iOo5uuh4S3V//7ipZ9ZxvXc1wR2EGxDCeTqpom8rfU= +github.com/go-vela/server v0.23.4-0.20240319161125-1809638e7e72 h1:vREnnFuJCKvnYDzHpo8tnXnjpdWgwJ4u2+XB1aoDZQg= +github.com/go-vela/server v0.23.4-0.20240319161125-1809638e7e72/go.mod h1:uSS5W5UzhNzAsFbKrniwr5OWtq+Q09u/i8H8nr9ls0M= github.com/go-vela/types v0.23.2 h1:QDt2lta7FPEfN2RK/Bn++DkqyjGIB4H/Q4XkFAj3hXQ= github.com/go-vela/types v0.23.2/go.mod h1:aTE6dzssqTGOvU6m2/vsI9NoSW/3hH/yLzf3cCSo0Zk= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= @@ -106,7 +105,6 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= @@ -173,8 +171,8 @@ github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= -github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= @@ -256,10 +254,10 @@ github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsr github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yuin/gopher-lua v1.1.0 h1:BojcDhfyDWgU2f2TOzYK/g5p2gxMrku8oupLDqlnSqE= -github.com/yuin/gopher-lua v1.1.0/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= -go.starlark.net v0.0.0-20240311180835-efac67204ba7 h1:xH7OJPtjgdj/xXykge/wGPAAqik97FbEVJR55lEY0tQ= -go.starlark.net v0.0.0-20240311180835-efac67204ba7/go.mod h1:MrdO7XaMF3dE3MzuP6mrG0EB3NC7rLWSiEcu9Ii50g8= +github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M= +github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= +go.starlark.net v0.0.0-20240314022150-ee8ed142361c h1:roAjH18hZcwI4hHStHbkXjF5b7UUyZ/0SG3hXNN1SjA= +go.starlark.net v0.0.0-20240314022150-ee8ed142361c/go.mod h1:YKMCv9b1WrfWmeqdV5MAuEHWsu5iC+fe6kYl2sQjdI8= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k= golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= @@ -340,8 +338,8 @@ google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6 google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=