diff --git a/pkg/provider/gitlab.go b/pkg/provider/gitlab.go index 841deaa35890a02d0ae943e6dc4b5ea6d617a751..03d984d214fdb3aebb2c97cd31b7aeaf904c4c10 100644 --- a/pkg/provider/gitlab.go +++ b/pkg/provider/gitlab.go @@ -38,27 +38,28 @@ func (repo *GitLabRepository) Init(config map[string]string) error { token := config["token"] if token == "" { token = os.Getenv("GITLAB_TOKEN") - } - if token == "" { - token = os.Getenv("CI_JOB_TOKEN") - repo.useJobToken = true - + ci_job_token := os.Getenv("CI_JOB_TOKEN") if token == "" { - return errors.New("gitlab token missing") - } - - if os.Getenv("GIT_STRATEGY") == "none" { - return errors.New("can not use job token with sparse-checkout repository") + if ci_job_token == "" { + return errors.New("gitlab token missing") + } + token = ci_job_token } - - repo.localRepo = &GitProvider.Repository{} - err := repo.localRepo.Init(map[string]string{ - "remote_name": "origin", - "git_path": os.Getenv("CI_PROJECT_DIR"), - "log_order": config["log_order"], - }) - if err != nil { - return errors.New("failed to initialize local git repository: " + err.Error()) + // use the same strategy as goreleaser + if token == ci_job_token { + repo.useJobToken = true + if os.Getenv("GIT_STRATEGY") == "none" { + return errors.New("can not use job token with sparse-checkout repository") + } + repo.localRepo = &GitProvider.Repository{} + err := repo.localRepo.Init(map[string]string{ + "remote_name": "origin", + "git_path": os.Getenv("CI_PROJECT_DIR"), + "log_order": config["log_order"], + }) + if err != nil { + return errors.New("failed to initialize local git repository: " + err.Error()) + } } }