update checks on ci systems (close #319) (#383)

This commit is contained in:
Shahidh K Muhammed 2018-09-12 16:33:36 +05:30 committed by GitHub
parent fffaed7bcb
commit be20a11d37
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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