14 Commits

Author SHA1 Message Date
Brian Perrett
2981976b80 Add functionality to track LibraryVersion dependencies (#1524) 2024-12-16 14:28:33 -05:00
daveoconnor
f6a5f4fbcf Make URLs more consistent, refactor libraries/releases (#1489) 2024-11-25 16:08:38 -05:00
Brian Perrett
48c09d3d5e Import commits per release and create release reports (#1263)
View stats per release, we do this by
doing log diffs between release tags. Ex: `git log
boost-1.78.0..boost-1.79.0`. The output is parsed and the commits
are saved with a foreign key to the `LibraryVersion` it relates to.

- commits are imported by doing "bare" clones (no project files, only
git data) of repos into temporary directories, as created by python's
bulitin `tempfile.TemporaryDirectory`
- Added Commit model
- Added CommitAuthor model
- Added CommitAuthorEmail model
  - One CommitAuthor can have many emails.
- Added task for importing commits. (and admin link to trigger it)
- Added task for importing CommitAuthor github data (avatar and profile
url, with admin link to trigger it)
- Added a basic Library stat page which can be viewed by going to the
admin -> library -> view stats.
- Added a `Get Release Report` button in the `LibraryAdmin` which allows
a staff member to select a boost version and up to 8 libraries to
generate a report for. The report is just a webpage which attempts to
convert cleanly to a pdf using the browser's print to pdf functionality.
- Updated the Library Detail page to show commits per release instead of
per month.
- Updated the Library Detail page to show `Maintainers & Contributors`
sorted by maintainers, then the top contributors for the selected
release, then the top contributors overall by commits descending.
- Removed CommitData, which was tracking monthly commit stats
2024-09-25 15:09:07 -07:00
Lacey Williams Henschel
00e68cf219 Remove unused Library model fields 2023-09-01 08:16:33 -07:00
Natalia
a8cd8f507a Ran pre-commit run -a
Completed runs of black and rest of pre-commit checks.
2023-05-30 23:21:53 -03:00
Lacey Williams Henschel
dfb0113012 Add fixture for commit data 2023-05-26 09:48:55 -07:00
Lacey Williams Henschel
0070a37e6c 🚧 Add function to get user from GH API 2023-02-16 09:54:40 -08:00
Lacey Williams Henschel
4e249ac6da 🏦 Add LibraryVersion M2M through model and tests 2023-01-30 10:47:31 -08:00
Lacey Williams Henschel
0c8552a45b User is able to filter libraries by category in the UI 2023-01-06 10:13:20 -08:00
Lacey Williams Henschel
52bcaff7ed Import PRs for a library 2022-12-16 10:39:36 -08:00
Lacey Williams Henschel
eed160eb68 Download all issues for a library from GH 2022-12-15 10:48:38 -08:00
Lacey Williams Henschel
36971c0faf Add last updated from GitHub API 2022-12-02 09:47:41 -08:00
Lacey Williams Henschel
307d587e65 Add tests of library importer 2022-11-30 14:57:12 -08:00
Frank Wiles
cab536eb6a Library work
- Some initial model tests
- Added Issue and PR models for tracking
- Added ghapi dependency
2022-07-17 11:38:06 -05:00