Skip to content

feat: upgrade edx-enterprise to 8.9.0 - #38970

Open
pbitla-sonata wants to merge 1 commit into
openedx:masterfrom
pbitla-sonata:pbitla/upgrade-edx-enterprise-8.9.0
Open

feat: upgrade edx-enterprise to 8.9.0#38970
pbitla-sonata wants to merge 1 commit into
openedx:masterfrom
pbitla-sonata:pbitla/upgrade-edx-enterprise-8.9.0

Conversation

@pbitla-sonata

Copy link
Copy Markdown
Contributor

Description

Bumps the manually-managed edx-enterprise pin from 8.7.2 to 8.9.0 and recompiles the
affected requirements files.

Per the comment in requirements/constraints.txt, this package is deliberately excluded from
automated upgrades so the owning team controls its rollout, so this is a manual bump.

This spans two upstream releases:

  • 8.8.0feat: add pipeline steps for logistration filters
  • 8.9.0feat: add non-production portal banner configuration

The 8.9.0 change adds a Non-production enterprise customer type. Assigning it to an
EnterpriseCustomer sets the new read-only show_non_production_banner property, which is
exposed on the enterprise customer API serializer so the administrator and learner portals can
render a banner indicating the portal is not production.

Requirements diff

5 files, one line each, all edx-enterprise==8.7.2edx-enterprise==8.9.0:

  • requirements/constraints.txt
  • requirements/edx/base.txt
  • requirements/edx/development.txt
  • requirements/edx/doc.txt
  • requirements/edx/testing.txt

No transitive dependency churn: 8.7.2 and 8.9.0 declare the same 48 Requires-Dist entries, so
make compile-requirements (run under Python 3.12, matching the existing file headers) produces
only the pinned version line in each file.

Affected user roles

Operator / Administrator (configures the customer type) and Learner (sees the banner). There are
no UI changes in this repo — the banner is rendered by the portal MFEs off the API field.

Supporting information

Testing instructions

  1. Deploy this branch and run migrations:

    ./manage.py lms migrate enterprise
    

    Exactly two new migrations should apply:

    • enterprise.0250_alter_enterprisecustomer_customer_type_and_more
    • enterprise.0251_add_non_production_customer_type
  2. Confirm the data migration created the customer type:

    ./manage.py lms shell -c "from enterprise.models import EnterpriseCustomerType; \
      print(EnterpriseCustomerType.objects.filter(name='Non-production').exists())"
    

    Expect True.

  3. In Django admin, edit an EnterpriseCustomer and set Customer Type to Non-production.

  4. Hit the enterprise customer API and confirm show_non_production_banner is true for that
    customer and false for customers with any other type.

  5. Regression check: existing enterprise customers keep their current customer type and report
    show_non_production_banner: false.

Other information

Migrations. 8.8.0 introduces no migrations. 8.9.0 ships two in the enterprise app:

  • 0250 is a pair of AlterField calls that change only the help_text on customer_type
    (and its historical model). No schema impact.
  • 0251 is a RunPython that creates the Non-production EnterpriseCustomerType row.

JIRA: ENT-12015

Bump the manually-managed edx-enterprise pin from 8.7.2 to 8.9.0 and
recompile the affected requirements files.

This spans two upstream releases:

* 8.8.0 - feat: add pipeline steps for logistration filters
* 8.9.0 - feat: add non-production portal banner configuration

Neither release changes edx-enterprise's own dependencies -- 8.7.2 and
8.9.0 declare the same 48 Requires-Dist entries -- so the recompile
touches only the pinned version line in each file.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant