From 1084b4d7d153cff54f2710fe46c845d8bd080750 Mon Sep 17 00:00:00 2001 From: Yu-Lang Chu Date: Wed, 25 Jan 2023 14:24:23 +0800 Subject: [PATCH 1/3] add message for cloning aws sdk timeout --- pkg/sdk/repo.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkg/sdk/repo.go b/pkg/sdk/repo.go index b4d3e0fa..5a077954 100644 --- a/pkg/sdk/repo.go +++ b/pkg/sdk/repo.go @@ -15,6 +15,7 @@ package sdk import ( "context" + "errors" "fmt" "io/ioutil" "os" @@ -24,8 +25,9 @@ import ( "syscall" "time" - "github.com/aws-controllers-k8s/code-generator/pkg/util" "golang.org/x/mod/modfile" + + "github.com/aws-controllers-k8s/code-generator/pkg/util" ) const ( @@ -110,15 +112,19 @@ func EnsureRepo( return "", err } - // Clone repository if it doen't exist + // Clone repository if it doesn't exist sdkDir := filepath.Join(srcPath, "aws-sdk-go") if _, err = os.Stat(sdkDir); os.IsNotExist(err) { ctx, cancel := context.WithTimeout(ctx, defaultGitCloneTimeout) defer cancel() err = util.CloneRepository(ctx, sdkDir, sdkRepoURL) + fmt.Println("sdkDir: ", sdkDir) if err != nil { - return "", fmt.Errorf("canot clone repository: %v", err) + if errors.Is(err, context.DeadlineExceeded) { + err = fmt.Errorf("take too long to clone aws sdk repo, please consider 'git clone %s' into cache dir %s", sdkRepoURL, sdkDir) + } + return "", fmt.Errorf("cannot clone repository: %v", err) } } From aad6a8849d700bd07dd7a424fee9d0a8b5546d78 Mon Sep 17 00:00:00 2001 From: Yu-Lang Chu Date: Sun, 29 Jan 2023 14:28:18 +0800 Subject: [PATCH 2/3] wrap error --- pkg/sdk/repo.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkg/sdk/repo.go b/pkg/sdk/repo.go index 5a077954..558044dd 100644 --- a/pkg/sdk/repo.go +++ b/pkg/sdk/repo.go @@ -25,9 +25,8 @@ import ( "syscall" "time" - "golang.org/x/mod/modfile" - "github.com/aws-controllers-k8s/code-generator/pkg/util" + "golang.org/x/mod/modfile" ) const ( @@ -119,10 +118,10 @@ func EnsureRepo( ctx, cancel := context.WithTimeout(ctx, defaultGitCloneTimeout) defer cancel() err = util.CloneRepository(ctx, sdkDir, sdkRepoURL) - fmt.Println("sdkDir: ", sdkDir) if err != nil { if errors.Is(err, context.DeadlineExceeded) { - err = fmt.Errorf("take too long to clone aws sdk repo, please consider 'git clone %s' into cache dir %s", sdkRepoURL, sdkDir) + err = fmt.Errorf("%w: take too long to clone aws sdk repo, "+ + "please consider manually 'git clone %s' to cache dir %s", err, sdkRepoURL, sdkDir) } return "", fmt.Errorf("cannot clone repository: %v", err) } From db5ef750d2a6e212301304ad45cdd6356ae3f6ef Mon Sep 17 00:00:00 2001 From: Yu-Lang Chu Date: Mon, 30 Jan 2023 01:13:36 +0800 Subject: [PATCH 3/3] add comment linked to issue --- pkg/sdk/repo.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/sdk/repo.go b/pkg/sdk/repo.go index 558044dd..da506ca6 100644 --- a/pkg/sdk/repo.go +++ b/pkg/sdk/repo.go @@ -119,6 +119,7 @@ func EnsureRepo( defer cancel() err = util.CloneRepository(ctx, sdkDir, sdkRepoURL) if err != nil { + // See https://github.com/aws-controllers-k8s/community/issues/1642 if errors.Is(err, context.DeadlineExceeded) { err = fmt.Errorf("%w: take too long to clone aws sdk repo, "+ "please consider manually 'git clone %s' to cache dir %s", err, sdkRepoURL, sdkDir)