diff --git a/cmd/server/server.go b/cmd/server/server.go index 420f0c500..b6ab3c3b7 100644 --- a/cmd/server/server.go +++ b/cmd/server/server.go @@ -111,8 +111,6 @@ func run(ctx context.Context, c *cli.Command) error { log.Info().Msgf("starting Woodpecker server with version '%s'", version.String()) - startMetricsCollector(ctx, _store) - serviceWaitingGroup.Go(func() error { log.Info().Msg("starting cron service ...") if err := cron.Run(ctx, _store); err != nil { @@ -260,6 +258,8 @@ func run(ctx context.Context, c *cli.Command) error { } if metricsServerAddr := c.String("metrics-server-addr"); metricsServerAddr != "" { + startMetricsCollector(ctx, _store) + serviceWaitingGroup.Go(func() error { metricsRouter := gin.New() metricsRouter.GET("/metrics", gin.WrapH(prometheus_http.Handler())) diff --git a/server/forge/addon/args.go b/server/forge/addon/args.go index 9760124a3..a8677c6b1 100644 --- a/server/forge/addon/args.go +++ b/server/forge/addon/args.go @@ -110,6 +110,9 @@ type modelUser struct { } func (m *modelUser) asModel() *model.User { + if m == nil { + return nil + } m.User.ForgeRemoteID = m.ForgeRemoteID m.User.AccessToken = m.Token m.User.RefreshToken = m.Secret @@ -119,6 +122,9 @@ func (m *modelUser) asModel() *model.User { } func modelUserFromModel(u *model.User) *modelUser { + if u == nil { + return nil + } return &modelUser{ User: u, ForgeRemoteID: u.ForgeRemoteID, @@ -138,6 +144,9 @@ type modelRepo struct { } func (m *modelRepo) asModel() *model.Repo { + if m == nil { + return nil + } m.Repo.UserID = m.UserID m.Repo.Hash = m.Hash m.Repo.Perm = m.Perm @@ -145,6 +154,9 @@ func (m *modelRepo) asModel() *model.Repo { } func modelRepoFromModel(r *model.Repo) *modelRepo { + if r == nil { + return nil + } return &modelRepo{ Repo: r, UserID: r.UserID,