From d48f8027dafa8cde4fe86f15043f7c66c53e97a0 Mon Sep 17 00:00:00 2001 From: "c1-dev-bot[bot]" <2740113+c1-dev-bot[bot]@users.noreply.github.com> Date: Fri, 13 Mar 2026 03:43:12 +0000 Subject: [PATCH] Update baton-github dependency to v0.2.9 Updates the baton-github dependency from v0.2.7 to v0.2.9 to pick up the latest fixes including improved user list error handling. This ensures the enterprise connector benefits from all upstream improvements to provisioning (Grant/Revoke) support for teams, repositories, organizations, and organization roles. --- go.mod | 4 ++-- go.sum | 8 ++++---- .../baton-github/pkg/connector/user.go | 15 +++++---------- .../github.com/quasilyte/go-ruleguard/dsl/dsl.go | 6 +++++- vendor/modules.txt | 4 ++-- 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/go.mod b/go.mod index f9a8b8e4..3c5c0eae 100644 --- a/go.mod +++ b/go.mod @@ -3,10 +3,10 @@ module github.com/conductorone/baton-github-enterprise go 1.25.2 require ( - github.com/conductorone/baton-github v0.2.7 + github.com/conductorone/baton-github v0.2.9 github.com/conductorone/baton-sdk v0.8.10 github.com/ennyjfrick/ruleguard-logfatal v0.0.2 - github.com/quasilyte/go-ruleguard/dsl v0.3.22 + github.com/quasilyte/go-ruleguard/dsl v0.3.23 ) require ( diff --git a/go.sum b/go.sum index 52a06b69..77545126 100644 --- a/go.sum +++ b/go.sum @@ -62,8 +62,8 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/conductorone/baton-github v0.2.7 h1:Adbi1n9KV6DnzMeJfB04jilIXcEGHqq4YBZILUWA9o4= -github.com/conductorone/baton-github v0.2.7/go.mod h1:jqiRaRBZCQeOxKY677H1mopyS0lMaSk0BvjAU5vnKqc= +github.com/conductorone/baton-github v0.2.9 h1:pvNomP6mhUTIPOvkwkfNzMjvv3qAsya9XLHjFtUjvIE= +github.com/conductorone/baton-github v0.2.9/go.mod h1:wlibj6Pj9RSI+ll8cf4keEewmnZwwnPgwr4nTdOxBb8= github.com/conductorone/baton-sdk v0.8.10 h1:snjHSyLgw6F8veU5qcte6zguhTFFb865Wp0l1iPK9wo= github.com/conductorone/baton-sdk v0.8.10/go.mod h1:agmFrml6APUw4ZlqMEBrnXYj3aAOGKOJ6gztiNj64h0= github.com/conductorone/dpop v0.2.3 h1:s91U3845GHQ6P6FWrdNr2SEOy1ES/jcFs1JtKSl2S+o= @@ -206,8 +206,8 @@ github.com/pquerna/xjwt/xkeyset v0.0.0-20241217022915-10fc997b2a9f/go.mod h1:zLK github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/quasilyte/go-ruleguard v0.4.4 h1:53DncefIeLX3qEpjzlS1lyUmQoUEeOWPFWqaTJq9eAQ= github.com/quasilyte/go-ruleguard v0.4.4/go.mod h1:Vl05zJ538vcEEwu16V/Hdu7IYZWyKSwIy4c88Ro1kRE= -github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE= -github.com/quasilyte/go-ruleguard/dsl v0.3.22/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= +github.com/quasilyte/go-ruleguard/dsl v0.3.23 h1:lxjt5B6ZCiBeeNO8/oQsegE6fLeCzuMRoVWSkXC4uvY= +github.com/quasilyte/go-ruleguard/dsl v0.3.23/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo= github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= diff --git a/vendor/github.com/conductorone/baton-github/pkg/connector/user.go b/vendor/github.com/conductorone/baton-github/pkg/connector/user.go index 93321b73..7a22e1ab 100644 --- a/vendor/github.com/conductorone/baton-github/pkg/connector/user.go +++ b/vendor/github.com/conductorone/baton-github/pkg/connector/user.go @@ -3,7 +3,6 @@ package connector import ( "context" "fmt" - "net/http" "net/mail" "strconv" "strings" @@ -11,12 +10,10 @@ import ( v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" "github.com/conductorone/baton-sdk/pkg/annotations" "github.com/conductorone/baton-sdk/pkg/types/resource" - "github.com/conductorone/baton-sdk/pkg/uhttp" "github.com/google/go-github/v69/github" "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" "github.com/shurcooL/githubv4" "go.uber.org/zap" - "google.golang.org/grpc/codes" "google.golang.org/protobuf/types/known/timestamppb" ) @@ -155,15 +152,13 @@ func (o *userResourceType) List(ctx context.Context, parentID *v2.ResourceId, op for _, user := range users { u, res, err := o.client.Users.GetByID(ctx, user.GetID()) if err != nil { - if isRatelimited(res) { - return nil, nil, uhttp.WrapErrors(codes.Unavailable, "too many requests", err) - } // This undocumented API can return 404 for some users. If this fails it means we won't get some of their details like email - if res == nil || res.StatusCode != http.StatusNotFound { - return nil, nil, err + if isNotFoundError(res) { + l.Warn("error fetching user by id", zap.Error(err), zap.Int64("user_id", user.GetID())) + u = user + } else { + return nil, nil, wrapGitHubError(err, res, "github-connector: failed to get user by id") } - l.Error("error fetching user by id", zap.Error(err), zap.Int64("user_id", user.GetID())) - u = user } userEmail := u.GetEmail() var extraEmails []string diff --git a/vendor/github.com/quasilyte/go-ruleguard/dsl/dsl.go b/vendor/github.com/quasilyte/go-ruleguard/dsl/dsl.go index d3c73bdd..f46f721a 100644 --- a/vendor/github.com/quasilyte/go-ruleguard/dsl/dsl.go +++ b/vendor/github.com/quasilyte/go-ruleguard/dsl/dsl.go @@ -16,6 +16,10 @@ type Matcher map[string]Var // `a/b/foo.Bar` type during the pattern execution. func (m Matcher) Import(pkgPath string) {} +// ImportAs is like Import, but can handle "/v2" packages +// and package name conflicts (e.g. "x/path" vs "y/path"). +func (m Matcher) ImportAs(pkgPath, localName string) {} + // Match specifies a set of patterns that match a rule being defined. // Pattern matching succeeds if at least 1 pattern matches. // @@ -106,7 +110,7 @@ type Var struct { Const bool // ConstSlice reports whether expr matched by var is a slice literal - // consisting of contant elements. + // consisting of constant elements. // // We need a separate Const-like predicate here because Go doesn't // treat slices of const elements as constants, so including diff --git a/vendor/modules.txt b/vendor/modules.txt index 60f88a7f..90983f83 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -162,7 +162,7 @@ github.com/cenkalti/backoff/v5 # github.com/cespare/xxhash/v2 v2.3.0 ## explicit; go 1.11 github.com/cespare/xxhash/v2 -# github.com/conductorone/baton-github v0.2.7 +# github.com/conductorone/baton-github v0.2.9 ## explicit; go 1.25.2 github.com/conductorone/baton-github/pkg/config github.com/conductorone/baton-github/pkg/connector @@ -400,7 +400,7 @@ github.com/pquerna/xjwt # github.com/pquerna/xjwt/xkeyset v0.0.0-20241217022915-10fc997b2a9f ## explicit; go 1.23 github.com/pquerna/xjwt/xkeyset -# github.com/quasilyte/go-ruleguard/dsl v0.3.22 +# github.com/quasilyte/go-ruleguard/dsl v0.3.23 ## explicit; go 1.15 github.com/quasilyte/go-ruleguard/dsl github.com/quasilyte/go-ruleguard/dsl/types