start adding build to database before building, surface all build errors to the user
This is the next step towards #1011, should solve #1849, #797 , and unblocks actually running our consistency check (#766) .
Focus for this PR was having a place where to show all build errors, while specifically not showing in-progress builds anywhere. I wanted to keep this PR smaller and focus on one topic, in-progress builds will be handled in a separate PR.
Still, while not specifically needed for just showing errors, I intentionally already create the in-progress records, to see better where things might fail already, partially in the tests that I fixed then, or the interface later on.
I also tried to change the necessary views & APIs in way that they can handle incomplete metadata, as we might have it for certain build errors.
I'm happy to take any feedback. I feel like the design could be improved in some places, which would depend on your feedback. But many places will be changed anyways with the next steps.
I think this definitely needs manual testing for the affected views, perhaps someone also has better ideas around the interface or the changes to the build etc. Also if the surfaced errors are enough so we can start.
Also I'm not sure if the "catch all errors for the user" is the right / best approach, because this might hide for example database errors from us.
next steps after this
( for later PRs)
- show in-progress builds where useful (#826)
- while working on the build, already store parts of the build result so it's available when the build fails (for example: the source when we already have it) (#826)
- store memory usage and build time on build (#878 )
- store documenation size on build (#2238)
All of that initially on the "full build" level, in a later step perhaps per target?
@Nemo157 I want to do some more edge case testing on top of the manual testing I already did,
but I would very much appreciate your input at this point.
Generally I believe the change works as I intended.
I just rebased & fixed conflicts.
@Nemo157 any chance for some feedback? ❤️
Short update: I decided to write some more tests for the changes I made.
When these are finished, I'll try again to get a review.
oh shit, this is really cool! nice work!
oh shit, this is really cool! nice work!
thanks! ❤️
rustfest impl days gave me some time for the last missing pieces :)
wait are you at rustfest zurich???? i am in a hotel 15 minutes away let me join you
wait are you at rustfest zurich???? i am in a hotel 15 minutes away let me join you
not too quick, I have to leave in 20 for the day, but will be back tomorrow.