Commit Graph

1296 Commits

Author SHA1 Message Date
Braden MacDonald
3fa779479e feat: update openedx-core: new catalog models + backfill migration (#38023)
Some checks failed
Pylint Checks / pylint xmodule (push) Has been cancelled
Quality checks / Quality Others (20, ubuntu-24.04, 3.11) (push) Has been cancelled
Semgrep code quality / Semgrep analysis (ubuntu-latest, 3.11) (push) Has been cancelled
ShellCheck / shellcheck (ubuntu) (push) Has been cancelled
static assets check for lms and cms / static-assets-check (7.0, 20, 10.7.x, ubuntu-24.04, 3.11) (push) Has been cancelled
unit-tests / xmodule-with-cms(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / xmodule-with-lms(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / cms-1(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / cms-2(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / common-with-cms(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / common-with-lms(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / lms-1(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / lms-2(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / lms-3(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / lms-4(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / lms-5(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / lms-6(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / openedx-1-with-cms(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / openedx-1-with-lms(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / openedx-2-with-cms(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / openedx-2-with-lms(py=3.11,dj=pinned,mongo=7.0) (push) Has been cancelled
ShellCheck / shellcheck (macos) (push) Has been cancelled
Javascript tests / JS (20, ubuntu-latest, 3.11) (push) Has been cancelled
Pylint Checks / pylint cms (push) Has been cancelled
Lint Python Imports / Lint Python Imports (push) Has been cancelled
Lockfile Version check / version-check (push) Has been cancelled
Check Django Migrations / check migrations (pinned, 7, 8, ubuntu-24.04, 3.11) (push) Has been cancelled
Pylint Checks / pylint common (push) Has been cancelled
units-test-scripts-common / test (3.12) (push) Has been cancelled
units-test-scripts-user-retirement / test (3.12) (push) Has been cancelled
Verify Dunder __init__.py Files / Verify __init__.py Files (push) Has been cancelled
Pylint Checks / pylint lms-1 (push) Has been cancelled
Pylint Checks / pylint lms-2 (push) Has been cancelled
Pylint Checks / pylint openedx-1 (push) Has been cancelled
Pylint Checks / pylint openedx-2 (push) Has been cancelled
unit-tests / cms-1(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / cms-2(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / common-with-cms(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / common-with-lms(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / lms-1(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / lms-2(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / lms-3(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / lms-4(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / lms-5(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / lms-6(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / openedx-1-with-cms(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / openedx-1-with-lms(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / openedx-2-with-cms(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / openedx-2-with-lms(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / xmodule-with-cms(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / xmodule-with-lms(py=3.12,dj=pinned,mongo=7.0) (push) Has been cancelled
unit-tests / collect-and-verify (push) Has been cancelled
Pylint Checks / Pylint checks successful (push) Has been cancelled
Check Django Migrations / Migrations checks successful (push) Has been cancelled
unit-tests / Unit tests successful (push) Has been cancelled
unit-tests / compile-warnings-report (push) Has been cancelled
unit-tests / merge-artifacts (push) Has been cancelled
unit-tests / coverage (3.11) (push) Has been cancelled
* feat: use new version of openedx-core
* feat: Use openedx_catalog app, backfill it with all known courses
* feat: properly set "created" timestamp on course runs during backfill
* fix: better normalization of language codes
* feat: keep courses in sync with CourseRun/CatalogCourse
* feat: delete CourseRun/CatalogCourse when deleting a course
* refactor: course_id -> course_key, run -> run_code, display_name -> title
* fix: don't use SplitModulestoreCourseIndex for getting list of all courses
2026-03-09 17:24:02 -07:00
pbitla-sonata
f4cb7b9ed9 chore: bumped edx-enterprise version to 6.6.7 (#38120) 2026-03-09 13:21:56 -06:00
Feanil Patel
467495cb22 feanil/pycodestyle to ruff (#38076)
* feat: add ruff and configure it to match current pycodestyle rules

Adds ruff to testing requirements and configures it in pyproject.toml
to enforce the same E/W rules that pycodestyle 2.8.x was enforcing.
Two additional rules (E714, E721) that pycodestyle 2.8.x did not enforce
are explicitly ignored for now and can be cleaned up in a follow-up.

Part of the migration from pycodestyle → ruff.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add ruff Makefile target

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add ruff to quality CI workflow alongside pycodestyle

Runs ruff alongside pycodestyle so we can validate parity before
removing pycodestyle in the next commit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: remove pycodestyle, replaced by ruff

- Remove pycodestyle from requirements
- Remove pycodestyle version constraint (pinned to <2.9.0 due to a
  false positive E275 bug that is no longer relevant)
- Remove [pycodestyle] config from setup.cfg (config now lives in
  pyproject.toml under [tool.ruff])
- Remove pycodestyle Makefile target
- Remove make pycodestyle from quality CI workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* style: Apply suggestions from code review

Remove unnecessary ignores.

Co-authored-by: Braden MacDonald <braden@opencraft.com>

* style: Fix a style isusue and remove ignores.

Most of these ignores are unnecessary as we're passing them now and we
want to check them in the future. E714 only had one fixable violation so
we just fixed it.

* style: Update ruff config and workflows

* Update the call to `ruff` so that it outputs in a github friendly
manner.

* Remove ruff exclusions that are already covered by .gitignore which
  ruff respects.

* chore: Recompile requirements.

Update the requirements to drop pycodestyle and add ruff.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Braden MacDonald <braden@opencraft.com>
2026-03-04 17:33:06 +00:00
Feanil Patel
9c89a1b91e build: Constrain astroid to fix make upgrade.
The latest version of pylint pins back astroid to an older version. This
hold back is not caught in the docs requirements file and since both the
docs and testing file are required in the development.in file, we fail
to compile development.txt because of conflicting dependencies.

Holding astroid back until pylint releases a new version that works with
the latest version of astroid.

Created https://github.com/openedx/openedx-platform/issues/38066 to undo
this.
2026-03-02 20:02:10 -05:00
github-actions[bot]
d9293afde4 chore: Upgrade Python dependency edx-enterprise (#38051)
Commit generated by workflow `openedx/openedx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: bcitro <67378070+bcitro@users.noreply.github.com>
2026-02-25 16:22:28 -05:00
David Ormsbee
873f42ab14 refactor: update openedx_content contents -> media(#38037)
Update our calls to the openedx_content API to reflect 0.35.0's shift
in terminology from "contents" to "media".

---------

Co-authored-by: Kyle McCormick <kyle@axim.org>
2026-02-23 22:34:33 -05:00
Kyle D McCormick
e5ebde83f2 build: Loosen openedx-core constraint to allow patch upgrades 2026-02-20 20:02:59 -05:00
Kyle McCormick
c70bfe980a build!: Switch to openedx-core (renamed from openedx-learning) (#38011)
build!: Switch to openedx-core (renamed from openedx-learning)

Instead of installing openedx-learning==0.32.0, we install openedx-core==0.34.1.
We update various class names, function names, docstrings, and comments to
represent the rename:

* We say "openedx-core" when referring to the whole repo or PyPI project
  * or occasionally "Open edX Core" if we want it to look nice in the docs.
* We say "openedx_content" to refer to the Content API within openedx-core,
   which is actually the thing we have been calling "Learning Core" all along.
  * In snake-case code, it's `*_openedx_content_*`.
  * In camel-case code, it's `*OpenedXContent*`

For consistency's sake we avoid anything else like oex_core, OeXCore,
OpenEdXCore, OexContent, openedx-content, OpenEdxContent, etc.
There should be no more references to learning_core, learning-core, Learning Core,
Learning-Core, LC, openedx-learning, openedx_learning, etc.

BREAKING CHANGE: for openedx-learning/openedx-core developers:
You may need to uninstall openedx-learning and re-install openedx-core
from your venv. If running tutor, you may need to un-mount openedx-learning,
rename the directory to openedx-core, re-mount it, and re-build.
The code APIs themselves are fully backwards-compatible.

Part of: https://github.com/openedx/openedx-core/issues/470
2026-02-18 22:38:25 +00:00
Kyle McCormick
a55c1ddabf chore: Switch to new openedx-learning import paths (#38004)
Upgrades openedx-learning from 0.31.0 to 0.32.0,
incorporating a major openedx-learning Python API
restructuring: ca0b3eb
2026-02-13 20:39:05 +00:00
github-actions[bot]
a0359a5833 feat: Upgrade Python dependency edx-enterprise (#37977)
* feat: Upgrade Python dependency edx-enterprise

Commit generated by workflow `openedx/openedx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

* fix: typo fix to trigger tests

---------

Co-authored-by: kiram15 <31229189+kiram15@users.noreply.github.com>
2026-02-05 08:40:58 -07:00
David Ormsbee
9bf7a72a3a refactor: switch to use openedx_content app (#37924)
The openedx-learning repo was recently refactored to consolidate its
authoring apps into a single openedx_content app:

  https://github.com/openedx/openedx-platform/pull/37924

This commit makes the following changes to accommodate this:

- Bumps the openedx-learning version to 0.31.0 to get the changes.
- Creates new migrations in content_libraries, contentstore, and
  modulestore_migrator to foreign key references to authoring apps
  to point to the new openedx_content app. This is done without
  actually making database changes, since the openedx_content app
  models are taking over the existing tables that the authoring apps
  once pointed to.
- Creates new squashed migrations in these apps that create these
  foreign keys to reference openedx_content app models from the start.

The full rationale for how and why this was done is in the following
openedx-learning ADR:

  https://github.com/openedx/openedx-learning/blob/main/docs/decisions/0020-merge-authoring-apps-into-openedx-content.rst

These migrations should run fine from either a from-scratch scenario
(i.e. a new install or CI), or when upgrading from an Ulmo-or-later
database state. If you have a database state that comes from the middle
of the Ulmo development cycle (e.g. October 2025), you may encounter
migration errors in content_libraries, contentstore, or
modulestore_migrator, with an error message complaining about missing
tables. If you receive this message, run the following command:

  python manage.py lms migrate openedx_content 0001

Then try to run the migrations for the app that failed. Repeat if
necessary for multiple apps.
2026-02-04 12:41:13 -05:00
github-actions[bot]
97fede2875 feat: Upgrade Python dependency edx-enterprise (#37920)
* feat: Upgrade Python dependency edx-enterprise

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

* fix: typo fix to trigger tests

---------

Co-authored-by: kiram15 <31229189+kiram15@users.noreply.github.com>
2026-01-20 17:09:07 -07:00
David Ormsbee
3430dbd050 fix: celery issue with eta/countdown affecting grading
There was a bug in celery 5.6.1 that caused having eta/countdown
parameters being stuck in received and never executing until we
downgraded to 5.6.0. This issue appears to be been fixed in 5.6.2.
2026-01-14 18:42:34 -05:00
Feanil Patel
99684cb7f1 build: Constrain sphinx-autoapi to fix make upgrade 2026-01-14 09:43:06 -05:00
Daniel Wong
c67558f17d fix: bump learning-core to 0.30.2 2025-12-18 08:58:26 -05:00
M. Tayyab Tahir Qureshi
24cb3cf9f5 refactor: enable the Extracted Annotatable, Poll XBlocks
Enabled the Extracted Annotatable, Poll XBlocks 

---------

Co-authored-by: farhan <farhan.khan@arbisoft.com>
2025-12-16 18:22:57 +05:00
farhan
a7fc0c963a fix: Constrain xblocks-contrib until it can be updated. 2025-12-15 15:44:58 -05:00
Daniel Wong
41acf0eb52 feat: include user and origin_server info in library archive (#37626) 2025-11-19 22:42:27 -05:00
Vaibhav Gulati
e8bfb13aaa chore: updated unpin social-auth-app-django ticket in comment (#37640) 2025-11-18 17:30:21 -05:00
David Ormsbee
190a8b8160 fix: bump learning-core to 0.30.0 (#37614)
This pulls in publishing dependency changes from:
https://github.com/openedx/openedx-learning/pull/369

This fixes a bug where publishing a Content Library v2 container would
publish only its direct children instead of publishing all ancestors.

Co-authored-by: Kyle McCormick <kyle@axim.org>
2025-11-07 17:00:50 +00:00
Ahtisham Shahid
dc7db1d3ad feat: unpinned social-auth-core (#37550)
* feat: unpinned social-auth-core

feat: unpinned social-auth-core

* fix: updated to resolve failing tests

* fix: resolved linter errors and failing tests

* fix: updated get_attr signature according to new version
2025-10-29 13:16:34 -04:00
Daniel Wong
6deb4f8d05 fix: add to search index when creating library from archive (#37526)
Implement full re-index process when creating a library.
2025-10-27 17:53:07 -04:00
Taylor Payne
bf8ffe4cf7 feat: add library restore endpoint (#37439)
Adds a library restore endpoint to restore a learning package from a
backup zip archive (/api/libraries/v2/restore/). The learning package
can then be used to create a content library.
2025-10-22 08:30:18 -04:00
Feanil Patel
8894d7dea3 build: Constrain social-auth-core to unblock other upgrades. 2025-10-21 12:32:54 -04:00
sameeramin
4953c12fbc feat: Upgrade Python dependency edx-enterprise
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-10-17 17:38:32 +00:00
iloveagent57
467bb32b66 feat: Upgrade Python dependency edx-enterprise
feat: add an endpoint to create a customer admin user

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-10-10 13:54:47 -04:00
Usama Sadiq
0c8e35415d fix: add Djang<6.0 local constraint 2025-10-07 09:43:50 +05:00
Usama Sadiq
148a233bde Merge branch 'master' into final-dj52 2025-10-07 09:30:06 +05:00
Usama Sadiq
242a69d06b Fix upgrade job pin cryptography (#37436)
* fix: pin cryptography to fix the upgrade job
* fix: pin pact-python<3.0.0
---------

Co-authored-by: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com>
2025-10-07 09:27:24 +05:00
Awais Qureshi
daf5320981 Merge branch 'master' into final-dj52 2025-10-03 15:30:49 +05:00
github-actions[bot]
3f4458593f feat: Upgrade Python dependency edx-enterprise (#37390)
Upgrade python requirements

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: brobro10000 <82611798+brobro10000@users.noreply.github.com>
Co-authored-by: Hamzah Ullah <hamzahullah@yahoo.com>
2025-09-29 11:16:09 -04:00
Awais Qureshi
939c7c7a4c Merge branch 'master' into final-dj52 2025-09-24 16:31:13 +05:00
github-actions[bot]
430aed041d feat: Upgrade Python dependency edx-enterprise (#37372)
* feat: Upgrade Python dependency edx-enterprise

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

* fix: typo fix to trigger tests

---------

Co-authored-by: kiram15 <31229189+kiram15@users.noreply.github.com>
Co-authored-by: Kira Miller <kira.miller15@yahoo.com>
2025-09-19 15:57:26 -06:00
Feanil Patel
438397d7b2 fix: Upgrade django-webpack-loader to match webpack-bundle-tracker
The versions of these two tools is now kept in sync.  As a part of the
migration, the method signature for render_bundle changes which we
needed to update in our Mako templates where it doesn't automatically
pass context.
2025-09-18 10:42:20 -04:00
Feanil Patel
e4b0cf174d Merge pull request #37309 from openedx/feanil/upgrade_pip_and_pip_tools
build: Unpin pip and pip-tools.
2025-09-18 09:36:46 -04:00
github-actions[bot]
b5d4ac44eb feat: Upgrade Python dependency edx-enterprise (#37360)
fix: Moodle configuration updates were not being saved correctly

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: zamanafzal <11922730+zamanafzal@users.noreply.github.com>
Co-authored-by: Zaman Afzal <zamanafzal@gmail.com>
2025-09-16 12:51:24 +05:00
awais qureshi
ae8996f68b feat!: Upgrading to django52. 2025-09-16 12:02:43 +05:00
iloveagent57
961515b834 feat: Upgrade Python dependency edx-enterprise
gracefully decouples enterprise from ecommerce

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-09-15 09:25:06 -04:00
github-actions[bot]
be0dc43c97 feat: Upgrade Python dependency edx-enterprise (#37346)
New version adds a missed migration for Django 5.2 support

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: UsamaSadiq <41958659+UsamaSadiq@users.noreply.github.com>
2025-09-11 11:19:16 +05:00
Feanil Patel
ffd0cec34b build: Unpin pip and pip-tools.
Test with unpinning both pip and pip-tools. The latest versions have
fixed the pathing issues with `make upgrade` and the dependency
resolution issues reported in https://github.com/openedx/edx-lint/issues/458
2025-09-02 14:02:04 -04:00
pwnage101
2dc7fa2722 feat: Upgrade Python dependency edx-enterprise
fix: [edx-enterprise] upgrade djangorestframework and skip automatic validators

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-09-02 16:08:47 +00:00
Awais Qureshi
efaf0cf512 Merge branch 'master' into mubbsharanwar/36425 2025-09-02 01:10:32 +05:00
github-actions[bot]
d7d0abd8ea feat: Upgrade Python dependency edx-enterprise (#37261)
fix: bump edx-enterprise version to bump django-simple-history

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: UsamaSadiq <41958659+UsamaSadiq@users.noreply.github.com>
2025-08-22 18:37:29 +05:00
Chris Chávez
af01129316 feat: API to retrieve library block/container hierarchy (#36813)
* test: Test for publish section/subsection

* test: published_by is now None for unpublished containers

* test: adds TODO comments to the tests

in anticipation of publishing container children

* feat: adds api to retrieve library block/container hierarchy

* test: adds query counts for hierarchy API tests

These are really high, but highlight the need for future optimizations.

* perf: reduce hierarchy API query counts

* perf: cut query counts in half

Required a refactor of the approach to avoid using the Metadata classes.

* chore: trigger ci

* chore: update openedx-learning constraint

* chore: compile requirements

* test: updating query count

* style: Add missing comment in kernel.in

* fix: get_container_from_key param and comments

* docs: mark api as UNSTABLE and add comment about get_library_object_hierarchy implementation

---------

Co-authored-by: Jillian Vogel <jill@opencraft.com>
Co-authored-by: Rômulo Penido <romulo.penido@gmail.com>
2025-08-18 18:15:47 -07:00
github-actions[bot]
226ad8e5b7 feat: Upgrade Python dependency edx-enterprise (#37218)
* feat: Upgrade Python dependency edx-enterprise

Logged response received from XAPI in logs to debug the XAPI transmission issues.

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

* fix: Trgger GitHub Actions

---------

Co-authored-by: zamanafzal <11922730+zamanafzal@users.noreply.github.com>
Co-authored-by: zamanafzal <zamanafzal@gmail.com>
2025-08-18 15:35:52 +05:00
Feanil Patel
2a53e2e561 Merge pull request #37165 from openedx/feanil/remove_unnecessary_pin
feanil/remove unnecessary pin
2025-08-13 08:57:57 -04:00
Feanil Patel
4d7c8a3a3a build: Unpin DRF.
There have been no breaking changes in the minor versions and there is
no ticket for unpinning this constraint. It doesn't make sense to keep.
2025-08-12 11:26:59 -04:00
Feanil Patel
244da33dbf fix: Pin to an older version of the debug toolbar.
The latest version is causing errors when trying to serialize some
binary data into text.
2025-08-12 11:17:44 -04:00
github-actions[bot]
1433cad564 feat: Upgrade Python dependency edx-enterprise (#37167)
fix: Added response received from XAPI in logs to debug the XAPI transmission issues.

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: zamanafzal <11922730+zamanafzal@users.noreply.github.com>
Co-authored-by: Zaman Afzal <zamanafzal@gmail.com>
2025-08-12 14:12:25 +05:00
Robert Raposa
1c0fb8dbb8 fix: constrain pip-tools<7.5.0 to fix lxml[html_clean] issue (#37174)
See https://github.com/openedx/edx-platform/issues/37168
for more details.
2025-08-11 13:40:55 -04:00