Skip to content

Instantly share code, notes, and snippets.

@fujimura
Created December 30, 2014 16:03
Show Gist options
  • Select an option

  • Save fujimura/6bff3cdd25263487c471 to your computer and use it in GitHub Desktop.

Select an option

Save fujimura/6bff3cdd25263487c471 to your computer and use it in GitHub Desktop.
ubuntu@box69:~/hi$ hpc-coveralls spec --display-report -p --exclude-dir=test
{"source_files":[{"coverage":[null,null,null,null,null,null,null,null,null,null,null,null,0,null,null,null,2,null,null,0,0,0,0,0,null,null,0,0,0,0,0,null,null,0,0,0],"name":"dist/build/autogen/Paths_hi.hs","source":"module Paths_hi (\n version,\n getBinDir, getLibDir, getDataDir, getLibexecDir,\n getDataFileName, getSysconfDir\n ) where\n\nimpor
t qualified Control.Exception as Exception\nimport Data.Version (Version(..))\nimport System.Environment (getEnv)\nimport Prelude\n\ncatchIO :: IO a -> (Exception.IOException -> IO a) -> IO a\ncatchIO = Exception.catch\n\n\nversion :: Version\nversion = Version {versionBranch = [1,0,0,0], versionTags = []}\nbindir, libdir, datadir, libexecdir, sysconfdir
:: FilePath\n\nbindir = \"/home/ubuntu/hi/.cabal-sandbox/bin\"\nlibdir = \"/home/ubuntu/hi/.cabal-sandbox/lib/x86_64-linux-ghc-7.8.3/hi-1.0.0.0\"\ndatadir = \"/home/ubuntu/hi/.cabal-sandbox/share/x86_64-linux-ghc-7.8.3/hi-1.0.0.0\"\nlibexecdir = \"/home/ubuntu/hi/.cabal-sandbox/libexec\"\nsysconfdir = \"/home/ubuntu/hi/.cabal-sandbox/etc\"\n\ng
etBinDir, getLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath\ngetBinDir = catchIO (getEnv \"hi_bindir\") (\\_ -> return bindir)\ngetLibDir = catchIO (getEnv \"hi_libdir\") (\\_ -> return libdir)\ngetDataDir = catchIO (getEnv \"hi_datadir\") (\\_ -> return datadir)\ngetLibexecDir = catchIO (getEnv \"hi_libexecdir\") (\\_ -> return libexecdi
r)\ngetSysconfDir = catchIO (getEnv \"hi_sysconfdir\") (\\_ -> return sysconfdir)\n\ngetDataFileName :: FilePath -> IO FilePath\ngetDataFileName name = do\n dir <- getDataDir\n return (dir ++ \"/\" ++ name)\n"},{"coverage":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,n
ull,null,2,2,2,2,null,2,null,null,null,2,null,null,2,2,2,2,null,null,null,2,2,2,null,null,2,null,2,null,null,null,null,null,null,null,2,null,2,2,2,2,2,2,2,2,2,2,null,null,null,null,2,null,null,2,2,null,2,2,1,null,null,null,1,2,null,2,1,1,0,1],"name":"src/Hi.hs","source":"{-# LANGUAGE NamedFieldPuns, RecordWildCards #-}\nmodule Hi\n (\n run\n , proces
s\n ) where\n\nimport Hi.Directory (inDirectory)\nimport Hi.FilePath (rewritePath)\nimport qualified Hi.Git as Git\nimport Hi.Template (readTemplates)\nimport Hi.Types\n\nimport Control.Applicative\nimport Control.Monad\nimport qualified Da
ta.ByteString as BS (writeFile, concat)\nimport qualified Data.ByteString.Lazy as LBS (toChunks)\nimport Data.Maybe (fromJust)\nimport qualified Data.Text as T (pack, unpack)\nimport Data.Text.Encoding (decodeUtf8)\nimport Data.Text.Lazy.Encoding (encodeUtf8)\nimport
Data.Text.Template (Context, substitute)\nimport System.Directory (createDirectoryIfMissing)\nimport System.FilePath (dropFileName, joinPath, splitPath, normalise)\nimport System.Process (system)\n\n-- | Run 'hi'.\nrun :: Option -> IO ()\nrun option@(Option {templateSource}) = do\n putStrLn
$ \"Creating new project with \" ++ sourceName templateSource\n writeFiles =<< showFileList =<< process option . dropExtraRegularFiles <$> readTemplates templateSource\n postProcess option\n where\n sourceName (FromRepo repository) = \"git repository:\" ++ Git.expandUrl repository\n\n-- |Write given 'Files' to filesystem.\nwriteFiles :: Files -
> IO ()\nwriteFiles = mapM_ write\n\nwrite :: File -> IO ()\nwrite f = let path = getFilePath f\n contents = getFileContents f\n in createDirectoryIfMissing True (dropFileName path) >>\n BS.writeFile path contents\n\n-- | Show 'Files' to stdout.\nshowFileList :: Files -> IO Files\nshowFileList files = do\n mapM_ (sho
wFile . normalise. getFilePath) files\n return files\n where\n showFile :: FilePath -> IO ()\n showFile path = putStrLn $ \" \" ++ green \"create\" ++ \" \" ++ path\n green :: String -> String\n green x = \"\\x1b[32m\" ++ x ++ \"\\x1b[0m\"\n\n-- |Process given 'Files' and return result. it does\n--\n-- 1. rewrite path\n--\n-- 2. substi
tute arguments\nprocess :: Option -> Files -> Files\nprocess Option {..} = map go\n where\n go (TemplateFile path content) = TemplateFile (rewritePath' path) (substitute' content)\n go (RegularFile path content) = RegularFile (rewritePath' path) content\n rewritePath' path = joinPath $ packageName:(splitPath $ rewritePath packageName moduleNam
e path)\n substitute' text = BS.concat . LBS.toChunks . encodeUtf8 $\n substitute (decodeUtf8 text) (context options)\n options = [(\"packageName\", packageName)\n ,(\"moduleName\", moduleName)\n ,(\"author\", author)\n ,(\"email\", email)\n
,(\"year\", year)\n ]\n\n-- | Return 'Context' obtained by given 'Options'\ncontext :: [(String, String)] -> Context\ncontext opts x = T.pack . fromJust $ lookup (T.unpack x) opts\n\npostProcess :: Option -> IO ()\npostProcess Option {initializeGitRepository, packageName} = do\n when initializeGitRepository $\n --
TODO This wont' work unless template has `package-name` as root dir.\n inDirectory packageName $\n void $ system \"git init && git add . && git commit -m \\\"Initial commit\\\"\"\n return ()\n\n-- | Drop 'RegularFile's if there is a 'TemplateFile' which has same name\ndropExtraRegularFiles :: Files -> Files\ndropExtraRegularFiles [] = [
]\ndropExtraRegularFiles xs = go (map getFilePath xs) xs\n where\n go _ [] = []\n go paths (y@(RegularFile p _):ys) = if p `elem` paths\n then go paths ys\n else y : go paths ys\n go paths (y@(TemplateFile _ _):ys) = y : go paths ys\n"},{"coverage":[null,n
ull,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1,2,null,null,2,null,null,2,2,1,1,null,null,0,0,0,0,0,0,null,null,null,2,2,2,1,null,null,0,0],"name":"src/Hi/Cli.hs","source":"module Hi.Cli\n ( run\n ) where\n\nimport qualified Hi\nimport Hi.CommandLineOption (CommandLineOption,\n
commandLineOption)\nimport Hi.Option (buildOption, defaultRepo)\nimport Hi.Types\n\nimport Data.Monoid (mempty)\nimport Data.Version (showVersion)\nimport Options.Applicative\nimport qualified Text.PrettyPrint.ANSI.Leijen as PP\n
\nimport qualified Paths_hi (version)\n\nrun :: [String] -> IO ()\nrun [] = showHelpText (prefs idm) opts\nrun args = parseArgs args >>= Hi.run\n\nparseArgs :: [String] -> IO Option\nparseArgs args = (handleParseResult $ execParserPure (prefs idm) opts args) >>= buildOption\n\nopts :: ParserInfo CommandLineOption\nopts = info (helper
<*> (version <*> commandLineOption))\n ( fullDesc\n <> header \"Generate a haskell project based on a template from github.\"\n <> footerDoc (Just (PP.text footerText)))\n\nfooterText :: String\nfooterText = unlines [ \"\"\n , \"If repository is not provided, it defaults to the repository at\"\n , defaultRepo ++ \
".\"\n , \"\"\n , \"Example:\"\n , \" hi --module-name 'Foo.Bar' --author 'you' --email 'you@gmail.com'\"\n ]\n\nversion :: Parser (a -> a)\nversion = infoOption (showVersion Paths_hi.version)\n ( short 'v'\n <> long \"version\"\n <> help \"Print version information\" )
\n\nshowHelpText :: ParserPrefs -> ParserInfo a -> IO ()\nshowHelpText pprefs pinfo = handleParseResult . Failure $\n parserFailure pprefs pinfo ShowHelpText mempty\n"},{"coverage":[null,null,null,null,null,null,null,null,2,2,2,2,2,2,2,0,null,null,2,1,1,1,1,1,1,1],"name":"src/Hi/CommandLineOption.hs","source":"module Hi.CommandLineOption\n ( CommandLine
Option(..)\n , commandLineOption\n ) where\n\nimport Options.Applicative\n\ndata CommandLineOption = CommandLineOption\n { moduleName :: String\n , packageName :: Maybe String\n , author :: Maybe String\n , email
:: Maybe String\n , repository :: Maybe String\n , configFilePath :: Maybe String\n , initializeGitRepository :: Maybe Bool\n } deriving (Eq, Ord, Show)\n\ncommandLineOption :: Parser CommandLineOption\ncommandLineOption = CommandL
ineOption\n <$> strOption ( short 'm' <> long \"moduleName\" <> metavar \"Module.Name\" <> help \"Name of Module\" )\n <*> optional ( strOption ( short 'p' <> long \"packageName\" <> metavar \"package-name\" <> help \"Name of package\" ))\n <*> optional ( strOption ( short 'a' <> long \"author\" <> metavar \"NAME\" <> help \"Name of the
project's author\" ))\n <*> optional ( strOption ( short 'e' <> long \"email\" <> metavar \"EMAIL\" <> help \"Email address of the maintainer\" ))\n <*> optional ( strOption ( short 'r' <> long \"repository\" <> metavar \"REPOSITORY\" <> help \"Template repository\" ))\n <*> optional ( strOption ( long \"configuration-file\" <
> help \"Use specified configuration file\"))\n <*> optional ( switch ( long \"initialize-git-repository\" <> help \"Initialize with git repository\"))\n"},{"coverage":[null,null,null,null,null,null,null,null,null,null,null,null,null,1,0,2,null,null,2,null,null,2,null,null,2,null,null,1,null,null,2,1,0,null,null,2,2,1,null,2,2,2,2,2,2,2],"name":"src/
Hi/Config.hs","source":"{-# OPTIONS_GHC -fno-warn-unused-do-bind #-}\nmodule Hi.Config\n (\n parseConfig\n ) where\n\nimport Control.Applicative ((<$>), (<*))\nimport Data.Maybe (catMaybes)\nimport Text.Parsec\nimport Text.Parsec.String\n\n-- | Parse config file\nparseConfig :: String -> [(St
ring, String)]\nparseConfig x = case parse configFile \"ERROR\" x of -- TODO Error message\n Left l -> error $ show l\n Right xs -> xs\n\nconfigFile :: Parser [(String, String)]\nconfigFile = catMaybes <$> many line <* eof\n\nsep :: Parser Char\nsep = char ':'\n\nname :: Parser String\nname = many (oneOf $ ['a'..'z'] ++ ['A'..'Z'] ++ ['-'])\n\
neol :: Parser Char\neol = newline <|> (eof >> return '\\n')\n\ncomment :: Parser ()\ncomment = do\n _ <- char '#' <* manyTill anyChar newline\n return ()\n\nline :: Parser (Maybe (String, String))\nline = do\n spaces\n try (comment >> return Nothing) <|> (line' >>= return . Just)\n where\n line' = do\n spaces\n n <- name\n
spaces >> sep >> spaces\n v <- many (noneOf \"\\n\")\n eol\n return (n, v)\n"},{"coverage":[null,null,null,null,null,null,null,null,null,null,null,null,null,2,2,null,null,null,null,null,2,2,2],"name":"src/Hi/Directory.hs","source":"module Hi.Directory\n (\n inTemporaryDirectory\n , inDirectory\n ) where\n\nimport
Control.Exception (bracket_)\nimport System.Directory\nimport System.IO.Temp (withSystemTempDirectory)\n\n-- |Run callback in a temporary directory.\ninTemporaryDirectory :: String -- ^ Base of temporary directory name\n -> (IO a -> IO a) -- ^ Callback\ninTemporaryDirectory name callback =\
n withSystemTempDirectory name $ flip inDirectory callback\n\n\n-- |Run callback in given directory.\ninDirectory :: FilePath -- ^ Filepath to run callback\n -> (IO a -> IO a) -- ^ Callback\ninDirectory path callback = do\n pwd <- getCurrentDirectory\n bracket_ (setCurrentDirectory path) (setCurrentDirectory pwd) callback\n"},{
"coverage":[null,null,null,null,null,null,null,null,null,null,null,null,null,2,2,null,2,2,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2,null,null,1,null,2,2,null,null,null,null,null,null,null,2,null,null,2],"name":"src/Hi/FilePath.hs","source":"module Hi.FilePath\n (\n rewritePath\n ) where\n\nimport Hi.Templ
ate (untemplate)\n\nimport Data.List\nimport Data.List.Split (splitOn)\nimport System.FilePath (joinPath, splitPath)\n\n-- | Convert given path to the destination path, with given options.\nrewritePath :: String -> String -> FilePath -> FilePath\nrewritePath packageName moduleName =\n replacePackageName . removeFirstPa
ckageName . replaceModuleName . untemplate\n where\n replacePackageName = replace \"package-name\" packageName\n replaceModuleName = replace \"ModuleName\" $ moduleNameToFilePath moduleName\n\n\n-- | Remove first occurence of given subdirectory\n--\n-- >>> removeFirstPackageName \"package-name/bar.hs\"\n-- \"bar.hs\"\n--\n-- >>> removeFirstPackage
Name \"package-name/package-name.hs\"\n-- \"package-name.hs\"\n--\n-- >>> removeFirstPackageName \"package-name.hs\"\n-- \"package-name.hs\"\n--\nremoveFirstPackageName :: FilePath -> FilePath\nremoveFirstPackageName path = go $ splitPath path\n where\n go :: [FilePath] -> FilePath\n go [] = []\n go (x:xs)\n | x == \"package-name/\" = joinP
ath xs\n | otherwise = joinPath $ x:xs\n\n-- | Convert module name to path\n--\n-- >>> moduleNameToFilePath \"Foo.Bar\"\n-- \"Foo/Bar\"\n--\nmoduleNameToFilePath :: String -> FilePath\nmoduleNameToFilePath = joinPath . splitOn \".\"\n\nreplace :: Eq a => [a] -> [a] -> [a] -> [a]\nreplace a b = foldl1 (++) . intersperse b . splitOn a\n"},{"
coverage":[null,null,null,null,null,null,null,null,null,null,null,null,null,2,2,null,null,null,2,2,2,null,null,null,2,null,null,null,2,2,1,2,0,null,null,2],"name":"src/Hi/Git.hs","source":"module Hi.Git\n (\n clone\n , config\n , lsFiles\n , expandUrl\n ) where\n\nimport Control.Applicative\nimport System.Exit\nimpo
rt System.Process (readProcess, readProcessWithExitCode, system)\n\nexpandUrl :: String -> String\nexpandUrl ('g':'h':':':xs) = \"git@github.com:\" ++ xs ++ \".git\"\nexpandUrl xs = xs\n\n-- | Clone given repository to current directory\nclone :: String -> IO ExitCode\nclone repoUrl = do\n _ <- system $ \"git clone --no-checkout --quiet
\" ++ repoUrl ++ \" \" ++ \"./\"\n system \"git checkout HEAD --quiet\"\n\n-- | Return file list by `git ls-files`\nlsFiles :: IO [String]\nlsFiles = lines <$> readProcess \"git\" [\"ls-files\"] []\n\n-- | Return given config value\nconfig :: String -> IO (Maybe String)\nconfig name = do\n (exitCode,s,_) <- readProcessWithExitCode \"git\" [\"config\
", name] []\n return $ if exitCode == ExitSuccess\n then Just $ removeNewline s\n else Nothing\n\nremoveNewline :: String -> String\nremoveNewline = reverse . dropWhile (=='\\n') . reverse\n"},{"coverage":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2,2,2
,2,2,2,1,2,2,2,2,2,2,null,null,2,1,2,2,2,1,2,1,2,2,2,2,null,2,2,2,null,2,null,2,2,2,2,null,2,2,0,null,2,2,2,2,null,2,2,0,null,2,2,2,null,1,null,null,0],"name":"src/Hi/Option.hs","source":"{-# LANGUAGE NamedFieldPuns #-}\n{-# LANGUAGE OverloadedStrings #-}\n\nmodule Hi.Option\n (\n defaultRepo\n , buildOption\n ) where\n\nimport
Hi.CommandLineOption (CommandLineOption)\nimport qualified Hi.CommandLineOption as CommandLineOption\nimport Hi.Config (parseConfig)\nimport qualified Hi.Git as Git\nimport Hi.Types\n\nimport Control.Applicative\nimport Control.Monad\nimport Data.Char (isUpper, toLower)\
nimport Data.Maybe (fromMaybe)\nimport Data.Time.Calendar (toGregorian)\nimport Data.Time.Clock (getCurrentTime, utctDay)\n\nbuildOption :: CommandLineOption -> IO Option\nbuildOption copt = do\n let packageName = (removeDup . hyphenize) cModuleName\n year <- getCurrentYear\n author <- guessAuthor\n
email <- guessEmail\n template <- guessTemplate\n return $ Option { initializeGitRepository = fromMaybe False $ CommandLineOption.initializeGitRepository copt\n , moduleName = cModuleName\n , packageName = fromMaybe packageName $ CommandLineOption.packageName copt\n , author
= author\n , email = email\n , templateSource = template\n , year = year\n }\n where\n cModuleName = CommandLineOption.moduleName copt\n removeDup [] = []\n removeDup [x] = [x]\n removeDup ('-':'-':xs) = removeDup('-':xs)\n rem
oveDup (x:xs) = x: removeDup xs\n hyphenize [] = []\n hyphenize (x:xs) = hyphenize' $ toLower x:xs\n hyphenize' [] = []\n hyphenize' (x:[]) = [toLower x]\n hyphenize' (x:xs) | isUpper x = '-':toLower x:hyphenize' xs\n | x == '.' = '-':hyphenize' xs\n | otherwise = x:hyphenize' xs\n
lookupConfig :: String -> IO (Maybe String)\n lookupConfig k = case CommandLineOption.configFilePath copt of\n Just path -> (lookup k) . parseConfig <$> readFile path\n Nothing -> return Nothing\n choice :: [IO (Maybe String)] -> IO (Maybe String)\n choice xs = foldr1 mplus <$> sequence xs\n gue
ssAuthor :: IO String\n guessAuthor = do\n mc <- choice [ (return $ CommandLineOption.author copt)\n , (lookupConfig \"author\")\n , (Git.config \"user.name\")\n ]\n case mc of\n Just x -> return x\n Nothing -> fail \"No user specified\"\n guessEmail :: IO String\n gues
sEmail = do\n mc <- choice [ (return $ CommandLineOption.email copt)\n , (lookupConfig \"email\")\n , (Git.config \"user.email\")\n ]\n case mc of\n Just x -> return x\n Nothing -> fail \"No email specified\"\n getCurrentYear :: IO String\n getCurrentYear = do\n (
y,_,_) <- (toGregorian . utctDay) <$> getCurrentTime\n return $ show y\n guessTemplate :: IO TemplateSource\n guessTemplate = return . FromRepo $ maybe defaultRepo id (CommandLineOption.repository copt)\n\ndefaultRepo :: String\ndefaultRepo = \"git://github.com/fujimura/hi-hspec.git\"\n"},{"coverage":[null,null,null,null,null,null,null,null,n
ull,null,null,null,null,null,null,null,null,null,null,2,2,null,2,2,2,null,null,2,2,null,null,null,null,null,null,null,2,null,null,null,2],"name":"src/Hi/Template.hs","source":"module Hi.Template\n (\n isTemplate\n , readTemplates\n , untemplate\n ) where\n\nimport Hi.Directory (inTemporaryDirectory)\nimport qualified Hi.G
it as Git\nimport Hi.Types\n\nimport Control.Applicative ((<$>))\n\nimport qualified Data.ByteString as BS (readFile)\nimport Data.List (isSuffixOf)\nimport Data.List.Split (splitOn)\n\n-- | Read templates in given 'FilePath'\nreadTemplates :: TemplateSource -> IO Files\nreadTemplates
(FromRepo repo) =\n inTemporaryDirectory \"hi\" $ do\n -- TODO Handle error\n _ <- Git.clone $ Git.expandUrl repo\n paths <- Git.lsFiles\n mapM fetchFile paths\n\nfetchFile :: FilePath -> IO File\nfetchFile fp | isTemplate fp = TemplateFile fp <$> BS.readFile fp\n | otherwise = RegularFile fp <$> BS.readFile
fp\n\n-- | Determine if a given filepath is a template file based on its extension\n-- >>> isTemplate \"Example.hs.template\"\n-- True\n-- >>> isTemplate \"NotATemplate.hs\"\n-- False\nisTemplate :: FilePath -> Bool\nisTemplate = isSuffixOf \".template\"\n\n-- | Remove \\\".template\\\" from 'FilePath'\nuntemplate :: FilePath -> FilePath\nuntemplate = he
ad . splitOn \".template\"\n"},{"coverage":[null,null,null,null,null,null,null,null,null,null,null,2,0,null,0,null,null,null,null,0,2,2,2,2,0,0,0],"name":"src/Hi/Types.hs","source":"{-# LANGUAGE OverloadedStrings #-}\n\nmodule Hi.Types\n ( Option(..)\n , File(..)\n , Files\n , TemplateSource (..)\n ) where\n\nimport Data.ByteString (ByteStr
ing)\n\ndata File = TemplateFile { getFilePath :: FilePath, getFileContents :: ByteString } |\n RegularFile { getFilePath :: FilePath, getFileContents :: ByteString } deriving (Show)\n\ndata TemplateSource = FromRepo String deriving (Eq,Ord,Show)\n\ntype Files = [File]\n\ndata Option = Option\n { initializeGitRepository :: Bool\n
, moduleName :: String\n , packageName :: String\n , author :: String\n , email :: String\n , year :: String\n , templateSource :: TemplateSource\n } deriving (Eq,Ord,Show)\n"}],"service_job_id":"16","service_name":"circleci"}
* About to connect() to coveralls.io port 443 (#0)
* Trying 162.159.242.76... * connected
* found 164 certificates in /etc/ssl/certs/ca-certificates.crt
* server certificate verification OK
* common name: ssl2477.cloudflare.com (matched)
* server certificate expiration date OK
* server certificate activation date OK
* certificate public key: RSA
* certificate version: #3
* subject: C=US,ST=CA,L=San Francisco,O=CloudFlare\, Inc.,CN=ssl2477.cloudflare.com
* start date: Thu, 30 Oct 2014 05:13:12 GMT
* expire date: Sun, 11 Oct 2015 04:15:00 GMT
* issuer: C=BE,O=GlobalSign nv-sa,CN=GlobalSign Organization Validation CA - G2
* compression: NULL
* cipher: AES-128-CBC
* MAC: SHA256
> POST /api/v1/jobs HTTP/1.1
Host: coveralls.io
Accept: */*
Content-Length: 21545
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------dcbfc332cd37
< HTTP/1.1 100 Continue
< HTTP/1.1 422 Unprocessable Entity
< Server: cloudflare-nginx
< Date: Tue, 30 Dec 2014 15:40:58 GMT
< Content-Type: application/json; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: __cfduid=d0cb5e07084a9c7d1ebdd7d385fb782821419954058; expires=Wed, 30-Dec-15 15:40:58 GMT; path=/; domain=.coveralls.io; HttpOnly
< Status: 422 Unprocessable Entity
< X-UA-Compatible: IE=Edge,chrome=1
< Cache-Control: no-cache
< Set-Cookie: request_method=POST; path=/
< X-Request-Id: 179c502ea4f88aa9eafb153b56a12a71
< X-Runtime: 0.014260
< X-Rack-Cache: invalidate, pass
< X-Powered-By: Phusion Passenger 4.0.42
< Set-Cookie: LSW_WEB="LSW_WEB1"; path=/
< CF-RAY: 1a0f56bf77c00874-IAD
* HTTP error before end of send, stop sending
<
* Closing connection #0
{"message":"Couldn't find a repository matching this job.","error":true}
hpc-coveralls: Maybe.fromJust: Nothing
ubuntu@box69:~/hi$ logout
Connection to 54.160.88.122 closed.
@fujimura

Copy link
Copy Markdown
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment