Skip to content

Commit

Permalink
ensuring error status 1 occurs when deployment fails (#1072)
Browse files Browse the repository at this point in the history
* ensuring error status 1 occurs when deployment fails

* removing unneeded else statements

* Delete app-spec.yml
  • Loading branch information
danaelhe committed Dec 15, 2021
1 parent 189c5ca commit 2fcbadc
Show file tree
Hide file tree
Showing 17 changed files with 1,490 additions and 14 deletions.
37 changes: 25 additions & 12 deletions commands/apps.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import (
"github.com/digitalocean/doctl/commands/displayers"
"github.com/digitalocean/doctl/do"
"github.com/digitalocean/godo"
multierror "github.com/hashicorp/go-multierror"
"github.com/spf13/cobra"
"sigs.k8s.io/yaml"
)
Expand Down Expand Up @@ -273,16 +274,20 @@ func RunAppsCreate(c *CmdConfig) error {
return err
}

var errs error

if wait {
apps := c.Apps()
notice("App creation is in progress, waiting for app to be running")
err := waitForActiveDeployment(apps, app.ID, "")
if err != nil {
warn("App deployment couldn't enter `running` state: %v", err)
return c.Display(displayers.Apps{app})
} else {
app, _ = c.Apps().Get(app.ID)
errs = multierror.Append(errs, fmt.Errorf("app deployment couldn't enter `running` state: %v", err))
if err := c.Display(displayers.Apps{app}); err != nil {
errs = multierror.Append(errs, err)
}
return errs
}
app, _ = c.Apps().Get(app.ID)
}

notice("App created")
Expand Down Expand Up @@ -342,16 +347,20 @@ func RunAppsUpdate(c *CmdConfig) error {
return err
}

var errs error

if wait {
apps := c.Apps()
notice("App update is in progress, waiting for app to be running")
err := waitForActiveDeployment(apps, app.ID, "")
if err != nil {
warn("App deployment couldn't enter `running` state: %v", err)
return c.Display(displayers.Apps{app})
} else {
app, _ = c.Apps().Get(app.ID)
errs = multierror.Append(errs, fmt.Errorf("app deployment couldn't enter `running` state: %v", err))
if err := c.Display(displayers.Apps{app}); err != nil {
errs = multierror.Append(errs, err)
}
return errs
}
app, _ = c.Apps().Get(app.ID)
}

notice("App updated")
Expand Down Expand Up @@ -405,16 +414,20 @@ func RunAppsCreateDeployment(c *CmdConfig) error {
return err
}

var errs error

if wait {
apps := c.Apps()
notice("App deployment is in progress, waiting for deployment to be running")
err := waitForActiveDeployment(apps, appID, deployment.ID)
if err != nil {
warn("App deployment couldn't enter `running` state: %v", err)
return c.Display(displayers.Deployments{deployment})
} else {
deployment, _ = c.Apps().GetDeployment(appID, deployment.ID)
errs = multierror.Append(errs, fmt.Errorf("app deployment couldn't enter `running` state: %v", err))
if err := c.Display(displayers.Deployments{deployment}); err != nil {
errs = multierror.Append(errs, err)
}
return errs
}
deployment, _ = c.Apps().GetDeployment(appID, deployment.ID)
}

notice("Deployment created")
Expand Down
2 changes: 2 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ require (
github.com/google/go-querystring v1.1.0 // indirect
github.com/google/uuid v1.1.2
github.com/gorilla/websocket v1.4.2
github.com/hashicorp/go-multierror v1.1.1
github.com/imdario/mergo v0.3.6 // indirect
github.com/mattn/go-isatty v0.0.13 // indirect
github.com/mitchellh/copystructure v1.0.0
Expand Down Expand Up @@ -54,6 +55,7 @@ require (
github.com/golang/protobuf v1.5.2 // indirect
github.com/google/go-cmp v0.5.5 // indirect
github.com/google/gofuzz v1.1.0 // indirect
github.com/hashicorp/errwrap v1.0.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/inconshreveable/mousetrap v1.0.0 // indirect
github.com/json-iterator/go v1.1.11 // indirect
Expand Down
5 changes: 3 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,6 @@ github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/digitalocean/godo v1.72.0 h1:Y5+H6zO8UOmiwETd40Uee1Io8kGPCb5fBN76Kf7UyAI=
github.com/digitalocean/godo v1.72.0/go.mod h1:GBmu8MkjZmNARE7IXRPmkbbnocNN8+uBm0xbEVw2LCs=
github.com/digitalocean/godo v1.73.0 h1:VEPb2YIgvbG5WP9+2Yin6ty+1s01mTUrSEW4CO6alVc=
github.com/digitalocean/godo v1.73.0/go.mod h1:GBmu8MkjZmNARE7IXRPmkbbnocNN8+uBm0xbEVw2LCs=
github.com/docker/cli v0.0.0-20200622130859-87db43814b48 h1:AC8qbhi/SjYf4iN2W3jSsofZGHWPjG8pjf5P143KUM8=
Expand Down Expand Up @@ -234,11 +232,14 @@ github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:Fecb
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
Expand Down
Loading

0 comments on commit 2fcbadc

Please sign in to comment.