diff --git a/server/src-lib/Hasura/Server/CheckUpdates.hs b/server/src-lib/Hasura/Server/CheckUpdates.hs index 2487882d38d..232cb40f5df 100644 --- a/server/src-lib/Hasura/Server/CheckUpdates.hs +++ b/server/src-lib/Hasura/Server/CheckUpdates.hs @@ -8,6 +8,7 @@ module Hasura.Server.CheckUpdates import Control.Exception (try) import Control.Lens import Control.Monad (forever) +import System.Environment (lookupEnv) import qualified Control.Concurrent as C import qualified Data.Aeson as A @@ -35,7 +36,7 @@ checkForUpdates (LoggerCtx loggerSet _ _) manager = do let options = Wreq.defaults & Wreq.checkResponse ?~ (\_ _ -> return ()) & Wreq.manager .~ Right manager - + url <- getUrl forever $ do resp <- try $ Wreq.getWith options $ T.unpack url case resp of @@ -49,8 +50,16 @@ checkForUpdates (LoggerCtx loggerSet _ _) manager = do where updateMsg v = "Update: A new version is available: " <> v - url = "https://releases.hasura.io/graphql-engine?agent=server&version=" - <> currentVersion + getUrl = do + let buildUrl a = "https://releases.hasura.io/graphql-engine?agent=" + <> a + <> "&version=" + <> currentVersion + isCI <- lookupEnv "CI" + case isCI of + Just "true" -> return $ buildUrl "server-ci" + _ -> return $ buildUrl "server" + aDay = 86400 * 1000 * 1000 -- ignoring if there is any error in response and returning the current version