Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 3 additions & 29 deletions pkg/release/workspace.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ import (
"sigs.k8s.io/release-sdk/git"
"sigs.k8s.io/release-sdk/github"
"sigs.k8s.io/release-sdk/object"
"sigs.k8s.io/release-utils/command"
"sigs.k8s.io/release-utils/helpers"
"sigs.k8s.io/release-utils/tar"
)
Expand Down Expand Up @@ -59,34 +58,9 @@ func PrepareWorkspaceStage(directory string, noMock bool) error {

logrus.Infof("Cloning repository %s/%s to %s", k8sOrg, k8sRepo, directory)

var repo *git.Repo

if !helpers.Exists(directory) {
// Use blobless clone for fresh checkouts. This downloads the full
// commit graph (needed for changelog generation) but defers blob
// downloads until checkout, significantly reducing clone time.
repoURL := git.GetRepoURL(k8sOrg, k8sRepo, false)
logrus.Infof("Performing blobless clone from %s", repoURL)

if err := command.New(
"git", "clone", "--filter=blob:none", repoURL, directory,
).RunSuccess(); err != nil {
return fmt.Errorf("blobless clone k/k repository: %w", err)
}

var err error

repo, err = git.OpenRepo(directory)
if err != nil {
return fmt.Errorf("open blobless-cloned k/k repository: %w", err)
}
} else {
var err error

repo, err = git.CloneOrOpenGitHubRepo(directory, k8sOrg, k8sRepo, false)
if err != nil {
return fmt.Errorf("clone k/k repository: %w", err)
}
repo, err := git.CloneOrOpenGitHubRepo(directory, k8sOrg, k8sRepo, false)
if err != nil {
return fmt.Errorf("clone k/k repository: %w", err)
}

// Prewarm the SPDX licenses cache. As it is one of the main
Expand Down
Loading