openedx / openedx/openedx-platform
Unpin social-auth-app-django
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8.2k
- Forks
- 4.4k
- Avg merge
- 6d 18h
- Merged PRs (30d)
- 42
Description
The following ticket details were originally created as a 2U ticket. As a community edx-platform ticket, it is likely that we can be more willing to simply remove the constraint, but we may also want to include proper documentation in the Verawood docs for how to handle this for larger installations of Open edX, which may or may not require faking migrations. This work was not done by 2U, and probably won't be until this lands in a named release.
Description
social-auth-app-django 5.4.2 introduces a new migration that will not play nicely with large installations. These migrations were painful to roll out in production. To avoid any problems during upgrades, the version of social-auth-app-django was pinned here.
Tasks
A separate piece of work may be required for handling migrations safely, and then unpinning the library once things are stable.
This may involve fake-apply the outstanding social-auth-app-django migrations in deployments. Verify that the schema state matches what the upgraded package expects.
Remove the version pin from the dependency file(s).
Perform the upgrade to the latest compatible social-auth-app-django version.
Validate authentication functionality across login flows.
Acceptance Criteria
- All the migrations are run and library is upgraded, no new migrations remain pending after the upgrade.
- The version pin for social-auth-app-django is removed.
- CI passes with the updated version.
- Authentication workflows continue functioning normally.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the social-auth-app-django pin in requirements/constraints.txt and the package's migration state. Verify whether the existing schema matches the upgraded package before removing the pin and upgrading. Done means no migrations remain pending, the pin is removed, CI passes, and authentication workflows continue functioning normally.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- django, python
- Domain
- authentication, backend, database
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100