Skip to content

Commit 84b700f

Browse files
authored
Add solver errors to matrix jobs so we can debug failures (#766)
1 parent 555950d commit 84b700f

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

app/src/App/Server/MatrixBuilder.purs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import Registry.App.Prelude
1414

1515
import Data.Array as Array
1616
import Data.Array.NonEmpty as NonEmptyArray
17+
import Data.FoldableWithIndex (foldMapWithIndex)
1718
import Data.Map as Map
1819
import Data.Set as Set
1920
import Data.Set.NonEmpty as NonEmptySet
@@ -187,8 +188,11 @@ solveForAllCompilers { compilerIndex, name, version, compiler, dependencies } =
187188
newJobs <- for compilers \target -> do
188189
Log.debug $ "Trying compiler " <> Version.print target <> " for package " <> PackageName.print name
189190
case Solver.solveWithCompiler (Range.exact target) compilerIndex dependencies of
190-
Left _solverErrors -> do
191+
Left solverErrors -> do
191192
Log.info $ "Failed to solve with compiler " <> Version.print target <> ": " <> PackageName.print name <> "@" <> Version.print version
193+
Log.debug $ "Solver errors:\n" <> foldMapWithIndex
194+
(\i error -> "[Error " <> show (i + 1) <> "]\n" <> Solver.printSolverError error <> "\n")
195+
solverErrors
192196
pure Nothing
193197
Right (Tuple solvedCompiler resolutions) -> case solvedCompiler == target of
194198
true -> do
@@ -232,8 +236,11 @@ solveDependantsForCompiler { compilerIndex, name, version, compiler } = do
232236
-- if all good then run the solver
233237
Log.debug $ "Trying compiler " <> Version.print compiler <> " for package " <> PackageName.print manifest.name
234238
case Solver.solveWithCompiler (Range.exact compiler) compilerIndex manifest.dependencies of
235-
Left _solverErrors -> do
239+
Left solverErrors -> do
236240
Log.info $ "Failed to solve with compiler " <> Version.print compiler <> ": " <> PackageName.print manifest.name <> "@" <> Version.print manifest.version
241+
Log.debug $ "Solver errors:\n" <> foldMapWithIndex
242+
(\i error -> "[Error " <> show (i + 1) <> "]\n" <> Solver.printSolverError error <> "\n")
243+
solverErrors
237244
pure Nothing
238245
Right (Tuple solvedCompiler resolutions) -> case compiler == solvedCompiler of
239246
true -> do

0 commit comments

Comments
 (0)