From 3c6ae40a6f601e690033b5d150d6436300e7b016 Mon Sep 17 00:00:00 2001 From: Wes McKinney Date: Wed, 18 Feb 2026 11:30:35 -0600 Subject: [PATCH] Skip hook upgrade checks in CI mode The daemon startup hook check warns about missing/outdated post-rewrite hooks in registered repos. In CI mode, repos are fetch-only clones that don't need local hooks, so the warnings are noise. Skip the check when a CI poller is configured. Co-Authored-By: Claude Opus 4.6 --- internal/daemon/server.go | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/internal/daemon/server.go b/internal/daemon/server.go index 37ddbdd1..bfc3c271 100644 --- a/internal/daemon/server.go +++ b/internal/daemon/server.go @@ -138,15 +138,18 @@ func (s *Server) Start(ctx context.Context) error { // Start worker pool s.workerPool.Start() - // Check for outdated hooks in registered repos - if repos, err := s.db.ListRepos(); err == nil { - for _, repo := range repos { - if hookNeedsUpgrade(repo.RootPath, "post-commit", hookVersionMarker) { - log.Printf("Warning: outdated post-commit hook in %s -- run 'roborev init' to upgrade", repo.RootPath) - } - if hookNeedsUpgrade(repo.RootPath, "post-rewrite", postRewriteHookVersionMarker) || - hookMissing(repo.RootPath, "post-rewrite") { - log.Printf("Warning: missing or outdated post-rewrite hook in %s -- run 'roborev init' to install", repo.RootPath) + // Check for outdated hooks in registered repos (skip in CI mode + // where repos are fetch-only and don't need local hooks). + if s.ciPoller == nil { + if repos, err := s.db.ListRepos(); err == nil { + for _, repo := range repos { + if hookNeedsUpgrade(repo.RootPath, "post-commit", hookVersionMarker) { + log.Printf("Warning: outdated post-commit hook in %s -- run 'roborev init' to upgrade", repo.RootPath) + } + if hookNeedsUpgrade(repo.RootPath, "post-rewrite", postRewriteHookVersionMarker) || + hookMissing(repo.RootPath, "post-rewrite") { + log.Printf("Warning: missing or outdated post-rewrite hook in %s -- run 'roborev init' to install", repo.RootPath) + } } } }