Procházet zdrojové kódy

Merge pull request #1229 from porter-dev/belanger/por-63-upgrading-release

[POR-63] Upgrading a release incorrectly tries to create Github env secret
abelanger5 před 4 roky
rodič
revize
7c4fc7ad9c

+ 14 - 1
api/server/handlers/release/ugprade.go

@@ -5,6 +5,8 @@ import (
 	"net/http"
 	"net/url"
 
+	semver "github.com/Masterminds/semver/v3"
+
 	"github.com/porter-dev/porter/api/server/authz"
 	"github.com/porter-dev/porter/api/server/handlers"
 	"github.com/porter-dev/porter/api/server/shared"
@@ -18,6 +20,10 @@ import (
 	"helm.sh/helm/v3/pkg/release"
 )
 
+var (
+	createEnvSecretConstraint, _ = semver.NewConstraint(" < 0.1.0")
+)
+
 type UpgradeReleaseHandler struct {
 	handlers.PorterHandlerReadWriter
 	authz.KubernetesAgentGetter
@@ -191,12 +197,19 @@ func (c *UpgradeReleaseHandler) ServeHTTP(w http.ResponseWriter, r *http.Request
 					return
 				}
 
-				err = gaRunner.CreateEnvSecret()
+				actionVersion, err := semver.NewVersion(gaRunner.Version)
 
 				if err != nil {
 					c.HandleAPIError(w, r, apierrors.NewErrInternal(err))
 					return
 				}
+
+				if createEnvSecretConstraint.Check(actionVersion) {
+					if err := gaRunner.CreateEnvSecret(); err != nil {
+						c.HandleAPIError(w, r, apierrors.NewErrInternal(err))
+						return
+					}
+				}
 			}
 		}
 	}

+ 9 - 1
api/server/handlers/release/update_rollback.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"net/http"
 
+	semver "github.com/Masterminds/semver/v3"
 	"github.com/porter-dev/porter/api/server/authz"
 	"github.com/porter-dev/porter/api/server/handlers"
 	"github.com/porter-dev/porter/api/server/shared"
@@ -91,12 +92,19 @@ func (c *RollbackReleaseHandler) ServeHTTP(w http.ResponseWriter, r *http.Reques
 					return
 				}
 
-				err = gaRunner.CreateEnvSecret()
+				actionVersion, err := semver.NewVersion(gaRunner.Version)
 
 				if err != nil {
 					c.HandleAPIError(w, r, apierrors.NewErrInternal(err))
 					return
 				}
+
+				if createEnvSecretConstraint.Check(actionVersion) {
+					if err := gaRunner.CreateEnvSecret(); err != nil {
+						c.HandleAPIError(w, r, apierrors.NewErrInternal(err))
+						return
+					}
+				}
 			}
 		}
 	}