openedx / openedx/openedx-platform

Unpin social-auth-app-django

Open
#37,639 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.