소스 검색

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()
 
-	// 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 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(