32 Commits

Author SHA1 Message Date
daveoconnor
64e113835f Correct slack activity miscount from fetch_slack_activity (#2056) 2026-01-12 14:46:49 -08:00
daveoconnor
8cdb57b08c Customize Profile Pic (#1876) (#1994) 2025-11-04 12:08:20 -08:00
daveoconnor
65fdf7c91a Correct documentation URL issues (#1975) 2025-10-17 13:14:07 -07:00
Dave O'Connor
c6335c2fe2 Updated import commands to allow and default to 'new' functionality. Remove artifactory-related commands. (#1744) 2025-08-27 11:19:03 -04:00
daveoconnor
301aaeac31 Decouple release reports from releases (#1737) 2025-07-08 16:09:01 -07:00
daveoconnor
1344c85617 Link commit authors to users (#1709, #1711) (#1717) 2025-03-31 11:34:25 -07:00
daveoconnor
da6ee3524e Addtitional Mailing List stats in release report (#1712) 2025-03-26 18:08:20 -07:00
daveoconnor
c4e6302360 Financial steering committee page member images (#1613) 2025-01-27 10:18:23 -08:00
Brian Perrett
a08c01617a Add management command to run all necessary tasks after a release. (#1562) 2024-12-20 13:01:33 -08:00
Brian Perrett
2981976b80 Add functionality to track LibraryVersion dependencies (#1524) 2024-12-16 14:28:33 -05:00
Brian Perrett
646f916ee6 Updates and additions to release report stats (#1401)
- Add basic line change counts for each x.x.0 library versions.
- import line change counts during `import_commits` task.
- Add `update_issues` management command for importing Issues for each
LibraryVersion.
- Add update issues runnable command in `Issue` admin.
- Build word cloud using mailinglist content.
- Update release report with new data.
2024-10-31 10:14:41 -07:00
Brian Perrett
fdeb79b8e3 Sync EmailData from hyperkitty. (#1366)
- This work is a prerequisite for #1290 and #1289
- Create an `EmailData` model which holds email counts per
(CommitAuthor, Version).
- Add management command `sync_mailinglist_stats` to query data from the
hyperkitty database and build `EmailData` objects from it
- EmailData.count is calculated between x.x.0 release_dates
- Add button in EmailData admin to trigger task
- Update the `merge_author` method to update EmailData with the Summed
counts per version and delete EmailData which pointed to the
`CommitAuthor` being merged from.
2024-10-21 09:39:09 -07: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
Kenneth Reitz
0a87cf8b9c Update import options in commands.md 2024-04-03 08:38:54 -04:00
Kenneth Reitz
8fd4f33f62 Refactor management commands***
***Updated command names and added new command for importing beta releases. Replaced `import_artifactory_release_data` with `import_archives_release_data`.***

***Updated documentation for `import_archives_release_data` command.***

***Updated documentation for `import_artifactory_release_data` command to indicate it has been replaced by `import_archives_release_data`.
2024-04-02 17:37:06 -04:00
Lacey Williams Henschel
c251ff9671 Import most recent beta release
- Split import version into own task
- Add beta field to Version model
- Add task to import most recent beta version
- Accommodate beta releases in Artifactory downloads
- Fix bug in getting proper download files for beta releases
- Add ability to delete old beta versions when importing new beta version
- Hide release notes link for beta releases
- Comment why we don't get old downloads
- Add management command to get most recent beta release
- Add beta import to boost setup command
- Add docs on beta release import
- Get newest beta release when importing releases
- Add manager method to get most recent beta release
- Skip a couple failing tests after confirming behavior is working as expected
2023-10-13 09:32:16 -07:00
Lacey Williams Henschel
8197ac77da Move import versions logic to tasks 2023-09-25 17:35:09 -07:00
Lacey Williams Henschel
214f37986b Streamline import commands and add docs
Add data JSONField to LibraryVersion model

Add fields to library list admin display

Add commands to update authors and maintainers individually

Exclude data JSONField from view querysets

Silence some output from the library-version import management command

Remove unused field from the library-version import management command

Save library-versions more cleanly in the library-version import management command

Remove loading maintainers from the import command, since they now have their own command

Add docs for new commands

Add boost_setup command to run one command to import all data

Add docs on first-time data import

Better exception handling, quieter flow, reduce GH API calls

Graceful handling if there is not a github repo

Pass most recent 12 months to commit counts command

Add some user-friendly output to setup command
2023-09-19 11:17:05 -07:00
Lacey Williams Henschel
4712551827 Improvements to import/update libraries command
- Remove outdated options, quiet some logging
- Don't add authors yet -- need to add maintainers first
- Add GitHub token option to update_libraries
2023-09-07 15:58:07 -07:00
Lacey Williams Henschel
f57b5dcade Add setting for minimum Boost version to import 2023-09-07 14:09:40 -07:00
Lacey Williams Henschel
7e847cc17f - Move GitHub retrieval and parser classes to the core/ app from the libraries/ app; moved tests, too, and updated import statements
- Add `verbose` flag to `import_versions` to allow user to silence the output
- Removed some unused options from `import_versions`
- Moved the exclusion logic in `import_versions` to its own function
- Stop getting the `github_url` from the github API. Instead, generate it from the tag. (reason: in older tags, the best URL GitHub gives us is a less-useful one to a _commit_ and not a tag. We can generate the url, though.)
- Move the retrieval of the `release_date` to its own task, so it can be loaded async. (reason: it's a separate API call per version to get the date)
- Make `release_date` optional on the `Version` model (reason: make the field easier to load async)
- Simplify logic to retrieve `release_date` and just always retrieve it from the commit
- Stop loading the version `description` from GitHub. We don't use it on the frontend anyway, and in all but the most recent couple of versions, the `description` is the comment from the commit, which is usually not useful.
2023-08-31 15:32:16 -07:00
Lacey Williams Henschel
eeb615ceff Load docs urls for library-versions from S3
- Add documentation_url to LibraryVersion table
- Retrieve the documentation_url in the view
- If the documentation_url is not present, show the Version documentation_url
- Hide the "https://" in the template
- Add Celery task to retrieve the documentation_urls from the libraries page in S3 and match them to import_library_versions
- Add HTML helper function to extract the libraries and docs URLs from the HTML
- Add one-time command to import docs urls
- Load the documentation_urls in the command that loads all library-versions
- Add a min-release option to the command that loads library-versions
- Document the new command and changes to the existing command
2023-08-04 08:40:00 -07:00
Lacey Williams Henschel
6a2a2e4ceb Remove sample data commands 2023-08-03 16:17:06 -07:00
Lacey Williams Henschel
da1a28451d Skip time-consuming github data for local dev 2023-07-21 10:32:37 -07:00
Lacey Williams Henschel
b897e2d679 Explain an import error log 2023-07-20 09:23:00 -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
e238649e58 Add management command to import commit counts 2023-05-26 09:48:55 -07:00
Lacey Williams Henschel
f292194e19 Spelling correction
Co-authored-by: nessita <124304+nessita@users.noreply.github.com>
2023-05-18 09:25:20 -07:00
Lacey Williams Henschel
dedd103807 Add command to import library-versions 2023-05-18 09:25:20 -07:00
Lacey Williams Henschel
2b4c0a9399 📝 Add options for skipping existing versions and passing an API token 2023-05-16 11:19:37 -07:00
Lacey Williams Henschel
488ca4d3ba Final command, docs, linter 2023-05-15 10:19:32 -07:00
Lacey Williams Henschel
f33a9e7665 📚 Start some management command docs 2023-03-16 12:59:35 -07:00