@@ -90,7 +90,7 @@ instance Task Build "build-repo" where
9090 ExceptT $ D.buildImageFromDockerfile (D.defaultBuildOpts imageName) absDir
9191 ExceptT $ D.createContainer opts Nothing
9292 dockerRes <- fmap (either id id)
93− . race (liftIO (threadDelay (timeoutMinutes * 60000000)) >> return (ExitFailure 1, "Time out"))
93+ . race (liftIO (threadDelay (timeoutMinutes * 60000000)) >> return (ExitFailure 1, "Time out", "Time out"))
9494 $ flip
9595 finally
9696 ( runDocker $
@@ -114,10 +114,21 @@ instance Task Build "build-repo" where
114114 tail = D.All
115115 }
116116 cid
117− return (buildCode, buildOut)
117+ buildErr <-
118+ ExceptT $
119+ D.getContainerLogs
120+ D.LogOpts
121+ { stdout = True,
122+ stderr = True,
123+ since = Nothing,
124+ timestamps = False,
125+ tail = D.All
126+ }
127+ cid
128+ return (buildCode, buildOut, buildErr)
118129 case dockerRes of
119− (ExitFailure n, buildOut) -> do
120− let err = BS.unpack buildOut
130+ (ExitFailure n, _, buildErr) -> do
131+ let err = BS.unpack buildErr
121132 logError . T.pack $
122133 "test command for repo " <> show fullRepoName <> " at sha "
123134 <> show sha
@@ -127,7 +138,7 @@ instance Task Build "build-repo" where
127138 <> err
128139 scheduleFailedStatus err owner repoName sha
129140 updateSubmissionStatus fullRepoName sha' (SubmissionFailed err)
130− (ExitSuccess, buildOut) ->
141+ (ExitSuccess, buildOut, _) ->
131142 case eitherDecode' (BS.dropWhile (/= '{') buildOut) of
132143 Left err' -> do
133144 let err = err' <> " " <> BS.unpack buildOut
@@ -138,7 +149,7 @@ instance Task Build "build-repo" where
138149 <> ": "
139150 <> err
140151 scheduleFailedStatus err owner repoName sha
141− updateSubmissionStatus fullRepoName sha' (SubmissionFailed err)
152+ updateSubmissionStatus fullRepoName sha' (SubmissionFailed (err <> BS.unpack buildOut))
142153 Right testResult@TestResult {..} -> do
143154 scheduleTestedStatus testResult owner repoName sha
144155 updateSubmissionStatus fullRepoName sha' (SubmissionRun testResult)