A tool that tries to build every Dub package against a wide range of DMD versions.

roadmap.todo 1.2KB

  1. # Basic functionality
  2. [x] Getting packages
  3. [x] Grab the package list from dub
  4. [x] Grab package details from dub
  5. [x] Save dub package info locally so we don't annoy dub maintainers
  6. [x] Checkout stuff from upstream
  7. [x] gitlab
  8. [x] github
  9. [x] bitbucket
  10. [x] Checkout the most recent release
  11. [x] Prefer releases with simple semver instead of eg 0.8.3-beta3
  12. [x] Getting DMD
  13. [x] Download the requested version of DMD
  14. [x] Extract to a directory
  15. [x] Invoke dub from that directory
  16. [x] Ensure the right DMD is being used
  17. [x] Building
  18. [x] dub build
  19. [x] dub test
  20. [x] Record results as CSV
  21. [x] Record whether the project uses anything deprecated
  22. [x] Build all versions
  23. [x] Don't re-build versions too often
  24. [ ] Security
  25. [ ] Run builds in a container with no permissions for security
  26. [ ] Figure out how to share ~/.dub
  27. [ ] Figure out how to properly constrain network (no outgoing SMTP, for instance)
  28. [ ] Figure out how to get results back
  29. [x] Time-limited builds
  30. [x] Record results to sqlite
  31. [x] Test multiple DMD versions
  32. [x] Figure out what versions there are
  33. [x] Download and test all versions in a chosen range