Просмотр исходного кода

Merge pull request #1607 from porter-dev/belanger/preview-env-delete-fix

Fix deletion errors for preview environments / Github environments
abelanger5 4 лет назад
Родитель
Сommit
4fbf1a2ba1
1 измененных файлов с 13 добавлено и 4 удалено
  1. 13 4
      internal/integrations/ci/actions/preview.go

+ 13 - 4
internal/integrations/ci/actions/preview.go

@@ -124,17 +124,26 @@ func DeleteEnv(opts *EnvOpts) error {
 
 	defaultBranch := repo.GetDefaultBranch()
 
-	// delete GitHub Environment
+	// delete GitHub Environment: check that environment exists before deletion
 
-	_, err = opts.Client.Repositories.DeleteEnvironment(
+	_, resp, err := opts.Client.Repositories.GetEnvironment(
 		context.Background(),
 		opts.GitRepoOwner,
 		opts.GitRepoName,
 		opts.EnvironmentName,
 	)
 
-	if err != nil {
-		return err
+	if err == nil && resp != nil && resp.StatusCode == http.StatusOK {
+		_, err = opts.Client.Repositories.DeleteEnvironment(
+			context.Background(),
+			opts.GitRepoOwner,
+			opts.GitRepoName,
+			opts.EnvironmentName,
+		)
+
+		if err != nil {
+			return err
+		}
 	}
 
 	err = deleteGithubFile(