Преглед изворни кода

add casing to delete environment for preview env

Alexander Belanger пре 4 година
родитељ
комит
b62a884487
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()
 	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(),
 		context.Background(),
 		opts.GitRepoOwner,
 		opts.GitRepoOwner,
 		opts.GitRepoName,
 		opts.GitRepoName,
 		opts.EnvironmentName,
 		opts.EnvironmentName,
 	)
 	)
 
 
-	if err != nil {
-		return err
+	if resp != nil && resp.StatusCode == http.StatusNotFound {
+		_, err = opts.Client.Repositories.DeleteEnvironment(
+			context.Background(),
+			opts.GitRepoOwner,
+			opts.GitRepoName,
+			opts.EnvironmentName,
+		)
+
+		if err != nil {
+			return err
+		}
 	}
 	}
 
 
 	err = deleteGithubFile(
 	err = deleteGithubFile(