Jelajahi Sumber

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

Fix deletion errors for preview environments / Github environments
abelanger5 4 tahun lalu
induk
melakukan
4fbf1a2ba1
1 mengubah file dengan 13 tambahan dan 4 penghapusan
  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(