Skip to content

Commit

Permalink
services/serve: simplify err checks (ignite#122)
Browse files Browse the repository at this point in the history
  • Loading branch information
ilgooz authored Aug 6, 2020
1 parent 2b16ba7 commit dc5d904
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 19 deletions.
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ require (
github.com/gorilla/mux v1.7.4
github.com/ilgooz/analytics-go v3.1.1-0.20200723195510-acde4190c655+incompatible
github.com/karrick/godirwalk v1.15.6 // indirect
github.com/pkg/errors v0.8.1
github.com/pkg/errors v0.9.1
github.com/radovskyb/watcher v1.0.7
github.com/rogpeppe/go-internal v1.6.1 // indirect
github.com/segmentio/backo-go v0.0.0-20200129164019-23eae7c10bd3 // indirect
Expand All @@ -29,5 +29,5 @@ require (
golang.org/x/mod v0.3.0
golang.org/x/net v0.0.0-20200625001655-4c5254603344 // indirect
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208
golang.org/x/sys v0.0.0-20200805065543-0cf7623e9dbd // indirect
golang.org/x/sys v0.0.0-20200806060901-a37d78b92225 // indirect
)
6 changes: 4 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,8 @@ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
Expand Down Expand Up @@ -314,8 +316,8 @@ golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200805065543-0cf7623e9dbd h1:wefLe/3g5tC0FcXw3NneLA5tHgbyouyZlfcSjNfOdgk=
golang.org/x/sys v0.0.0-20200805065543-0cf7623e9dbd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200806060901-a37d78b92225 h1:a5kp7Ohh+lqGCGHUBQdPwGHTJXKNhVVWp34F+ncDC9M=
golang.org/x/sys v0.0.0-20200806060901-a37d78b92225/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
Expand Down
33 changes: 18 additions & 15 deletions starport/services/serve/serve.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,18 +85,21 @@ func Serve(ctx context.Context, app App, conf starportconf.Config, verbose bool)
return ctx.Err()

case <-s.serveRefresher:
var serveCtx context.Context
var (
serveCtx context.Context
buildErr *CannotBuildAppError
)
serveCtx, s.serveCancel = context.WithCancel(ctx)
err := s.serve(serveCtx)
if err == nil || err == context.Canceled {
continue
}
if _, ok := err.(*CannotBuildAppError); ok {
switch {
case err == nil:
case errors.Is(err, context.Canceled):
case errors.As(err, &buildErr):
fmt.Fprintf(os.Stderr, "%s\n", errorColor(err.Error()))
fmt.Printf("%s\n", infoColor("waiting for a fix before retrying..."))
continue
default:
return err
}
return err
}
}
})
Expand Down Expand Up @@ -144,15 +147,15 @@ func (s *starportServe) serve(ctx context.Context) error {
return err
}

if err := cmdrunner.
err := cmdrunner.
New(append(opts, cmdrunner.RunParallel())...).
Run(ctx, s.serverSteps()...); err != nil {
if _, ok := errors.Cause(err).(*exec.ExitError); ok {
return nil
}
return err
Run(ctx, s.serverSteps()...)

var exitErr *exec.ExitError
if errors.As(err, &exitErr) {
return nil
}
return nil
return err
}

func (s *starportServe) buildSteps() (steps step.Steps) {
Expand Down Expand Up @@ -336,7 +339,7 @@ func (s *starportServe) runDevServer(ctx context.Context) error {
sv.Shutdown(shutdownCtx)
}()
err := sv.ListenAndServe()
if err == http.ErrServerClosed {
if errors.Is(err, http.ErrServerClosed) {
return nil
}
return err
Expand Down

0 comments on commit dc5d904

Please sign in to comment.