fix: [CDE-540]: Adding a check for user name and email during code clone operation. (#3596)

### Description

This PR introduces two changes
1. Adding a check for user's name and email before cloning the code
inside the gitspace container. This will non-block non-harness repos.
2. Adding an explicit check for the media folder's path during VSCode
web setup.

---------
release/3.0.0 v3.0.1
Dhruv 2024-12-05 13:50:34 +05:30 committed by GitHub
parent fb65327419
commit e92962b06d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 9 deletions

View File

@ -92,15 +92,17 @@ func (g *ServiceImpl) CloneCode(
"failed to parse clone url %s: %w", resolvedRepoDetails.CloneURL, err)
}
cloneURL.User = nil
script, err := template.GenerateScriptFromTemplate(
templateCloneCode, &template.CloneCodePayload{
templatePayload := template.CloneCodePayload{
RepoURL: cloneURL.String(),
Image: defaultBaseImage,
Branch: resolvedRepoDetails.Branch,
RepoName: resolvedRepoDetails.RepoName,
Email: resolvedRepoDetails.Credentials.Email,
Name: resolvedRepoDetails.Credentials.Name,
})
}
if resolvedRepoDetails.Credentials != nil {
templatePayload.Email = resolvedRepoDetails.Credentials.Email
templatePayload.Name = resolvedRepoDetails.Credentials.Name
}
script, err := template.GenerateScriptFromTemplate(templateCloneCode, &templatePayload)
if err != nil {
return nil, fmt.Errorf(
"failed to generate scipt to clone code from template %s: %w", templateCloneCode, err)

View File

@ -82,6 +82,10 @@ func (v *VSCodeWeb) Setup(ctx context.Context, exec *devcontainer.Exec) ([]byte,
}
mediaFolderPath := path[startIndex+len(startMarker) : endIndex]
if len(mediaFolderPath) == 0 {
return nil, fmt.Errorf("media folder path should not be empty, VSCode web is not installed")
}
err = v.copyMediaToContainer(ctx, exec, mediaFolderPath)
if err != nil {
return nil, fmt.Errorf("failed to copy media folder to container at path %s: %w", mediaFolderPath, err)