Snippet #4245 (by Ekleog, rst)

Expires in: 0 minutes Compare Snippets View Raw
  1. Store alongside attrpath + nixpkgs revision
  2.  
  3. - unknown (for archs not built by hydra, or nixpkgs revisions that were
  4.  in-between two hydra evals)
  5. - manual-cannot-be-made-to-build (eg. if upstream doesn't support it)
  6. - build-broken
  7. - builds
  8. - passes-tests (passthru.tests)
  9. - manual-tests-passed (for manually testing)
  10.  
  11. if unknown, fetch last known build status
  12.  
  13. if passes-tests, look if history looks like (passes-tests)* manual-tests-passed,
  14. and if so say how long it's been (if not, say for how long it's been
  15. passes-tests since the last lower-level build)
  16.  
  17. if build-broken, look if history looks like (build-broken)*
  18. manual-cannot-be-made-to-build, and if so say how long it's been (if not, say
  19. for how long it's been build-broken since the last higher-level build)
  20.  
  21. database should be auto-filled by hydra + committers could also manually fill
  22. statuses, esp.:
  23. - build-broken -> manual-cannot-be-made-to-build
  24. - passes-tests -> manual-tests-passed
  25. - unknown -> any other level (so exotic archs know what works)
  26.  
  27. improving on an arch would basically be taking builds that are build-broken but
  28. don't have a manual-cannot-be-made-to-build history, and trying to either fix
  29. them or to mark them as manual-cannot-be-made-to-build
  30.  
  31. Further ideas:
  32. - hydra could compute a probability of success based on the history of the
  33.  build, to change the likelihood it has of rebuilding a package, thus
  34.  economizing some compute
  35. - user-facing nix could use said probability (instead of the above “last known
  36.  status + metadata” idea) to evaluate working likelihood

Reply to this snippet →

Honeypot, don't fill.
⌘+⏎ or Ctrl+⏎