Skip to content

Conversation

@irfanuddinahmad
Copy link
Contributor

This pull request primarily updates the repository’s GitHub Actions workflows and makes a few minor improvements to backend logic and serializers. The main focus is shifting automation and CI processes from the master branch to the release-ulmo branch, along with some small enhancements and bug fixes in the backend code.

Workflow and CI/CD Updates:

  • All GitHub Actions workflows now target the release-ulmo branch instead of master, ensuring that CI/CD, linting, quality checks, and other automation run on the correct release branch. This includes updates to workflows such as js-tests.yml, lint-imports.yml, lockfileversion-check.yml, migrations-check.yml, quality-checks.yml, semgrep.yml, shellcheck.yml, static-assets-check.yml, unit-tests.yml, units-test-scripts-structures-pruning.yml, units-test-scripts-user-retirement.yml, update-geolite-database.yml, upgrade-one-python-dependency.yml, upgrade-python-requirements.yml, and verify-dunder-init.yml. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]

  • Updates to the update-geolite-database.yml workflow:

    • Default branch for PRs is now release-ulmo instead of master.
    • The PR branch name uses the GitHub run ID for uniqueness.
    • The PR reviewer is changed to the edx/orbi-bom team, and a different GitHub token is used for authentication. [1] [2]
  • Improved artifact naming in unit-tests.yml to include more matrix parameters, ensuring better traceability for test outputs.

Backend Improvements and Fixes:

  • Improved due date calculation in register_exams to more accurately reflect instructor-paced and self-paced course scenarios, leading to more consistent exam scheduling.

  • Enhanced file import logic in _import_file_into_course to correctly handle file path substitutions and avoid unnecessary mappings when files already exist.

  • Added a new serializer field and method for the enable_unit_expanded_view waffle flag in CourseWaffleFlagsSerializer, allowing the frontend to access this new feature toggle. [1] [2]

Cleanup:

  • Removed deprecated workflows: add-depr-ticket-to-depr-board.yml and add-remove-label-on-comment.yml, as they are no longer needed. [1] [2]

dianakhuang and others added 30 commits October 9, 2025 09:23
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`
feat: future proof artifact uploads (backport)
- when copying a component that has image in it, and we try to paste it. Image URL appends `static_None`. Result in crash or image not found error.
  - In this commit we have fixed this scenario, copy paste is working for components containing images.
…_edx

fix: pasting a component with image isn't working
…or_edx

fix: copy paste component from one course to another
openedx#37539)

* feat: allows a reversion of the  retirement partner report reset toggle

This allows you to set retirement partner report statuses to True as well as to False. One sample use case: if an overly large number of retirement partner reports have their status reset to false, the partner report queue can struggle to deal with the large queue.

FIXES: APER-4177
…rtner-report-reset_toggle-from-upstream

feat: allows a reversion of the  retirement partner report reset toggle
One retirement partner status report admin toggle has  being renamed,
and another has been added. This PR displays them on the appropriate
django admin page.
…rtner-report-reset_toggle-fix_from_upstream

feat: display the reset toggles for a report (openedx#37556)
…penedx#37377) (#18)

- Removes custom attributes for report. Uses report output only.
- Adds a count for disabled SAML configs.
- Displays disabled status of provider.
- Slug mismatch now informational only (rather than warning)
* Cleans up unit tests.
This seems to reduce instances of audio garbling when switching levels during HLS video streaming.
These changes fix a bug in how LTI-based exam due dates are computed and written to the exams service. Prior to this change, an LTI exam due date was computed irrespective of the course pacing type. In certain cases, this caused incorrect due dates to be written to the exams service for LTI-based exams.

For example, if a course team initially develops a course as an instructor-paced course and sets a due date on an exam subsection, that subsection due date is written to the modulestore. If the course team subsequently changes that course pacing type to self-paced, then that due date remains in the modulestore to allow course teams to switch pacing types without erasing due dates. The impact of this is that, when the course is published, the exam subsection due date is written to the exams service as the due date, even though there are no static due dates in a self-paced course. Frequently, these due dates are in the past (e.g. for course reruns), so learners automatically cannot access exams. Even if the due date is manually corrected in the exams service, every course publish reverts the due date to the incorrect due date.

This change computes the due date of LTI-based exams as...
* the exam subsection due date if the course is instructor-paced, if the subsection has a due date; else None
* the course end date if the course is self-paced, if the course has an end date; else None

In order to correct any incorrect due dates, course teams should republish their courses.
…tes-self-paced-cherry-pick

fix: incorrect LTI exam due dates for self-paced courses
* fix: move defaultAudioCodec config earlier in init

This causes it to get picked up in the places that it is actually
needed to handle issues in audio quality switching.
…scripts_for_edx

fix: accessibility issue on video transcripts
fix: add text alternative for external link icon in LTI components
Co-authored-by: Sameen Fatima <sameen.fatima@A006-01036.local>
Commit generated by workflow `edx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/release-ulmo`
…ted-channels-ac02b33

feat: Upgrade Python dependency enterprise-integrated-channels
fix: do not autogenerate username if coming through SSO (openedx#37522)
sameeramin and others added 26 commits November 28, 2025 11:33
Commit generated by workflow `edx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/release-ulmo`
Commit generated by workflow `edx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/release-ulmo`
…ted-channels-5906837

feat: Upgrade Python dependency enterprise-integrated-channels
…6837

feat: Upgrade Python dependency edx-enterprise
* feat: add toggle for audit preview of verified content

This is, specifically, when all 3 of the critera are met:
1. The feature flag is enabled for the course.
2. The requesting user is enrolled as audit.
3. The course has a verified track.

* feat: when audit preview of verified content is enabled, mark non-audit content as previewable

Adds new previewable_sequences to UserCourseOutlineData

* feat: mark previewable sections for audit learners who can preview verified content
* fix: restrict rendering PDFs from other origins

* test: fix tests according to code

* fix: handle both URL scheme types in textbook URL checks

* fix: test cases for staticbook

---------

Co-authored-by: Muhammad Faraz  Maqsood <faraz.maqsood@A006-01130.local>
Co-authored-by: Vivek Ambaliya <vjagdishbhaiambaliya-apphelix@2u.com>
…ideo player tests (#57)

* fix: upgrade hls.js to version 1.6.15 and update related imports in video player tests

* fix: update hls import statements to use 'hls.js' for consistency across video modules

* fix: update import statements for consistency in video player tests

* fix: add eslint directive to suppress no-shadow-restricted-names warning in video player spec
* fix: update geolite workflow
We previously fixed this when the CourseLimitedStaffRole was applied to
a course but did not handle the case where the role is applied to a user
for a whole org.  The underlying issue is that the CourseLimitedStaffRole
is a subclass of the CourseStaffRole and much of the system assumes that
subclesses are for giving more access not less access.

To prevent that from happening for the case of the CourseLimitedStaffRole,
when we do CourseStaffRole access checks, we use the strict_role_checking
context manager to ensure that we're not accidentally granting the
limited_staff role too much access.

Co-authored-by: Feanil Patel <feanil@axim.org>

(cherry-picked from openedx/edx-platform)
* feat: add games to beta component types

* feat: auto-open editor on block creation

---------

Co-authored-by: pganesh-apphelix <pganesh-apphelix@2U.com>
Implements soft delete functionality for discussion threads, responses, and comments using the is_deleted flag instead of permanently deleting records.
This enables safe deletion and restoration of discussion content while preserving existing data.
This commit migrates the data calculation logic for the GradeSummary
table, which was previously in the frontend-app-learning.

This commit also introduces a new visibility option for assignment
scores: “Never show individual assessment results, but show overall
assessment results after the due date.”

With this option, learners cannot see question-level correctness or
scores at any time. However, once the due date has passed, they can
view their overall score in the total grades section on the Progress
page.

These two changes are coupled with each other because it compromises
the integrity of this data to do the score hiding logic on the front
end.

The corresponding frontend PR is: openedx/frontend-app-learning#1797

Co-authored-by: Muhammad Anas <88967643+Anas12091101@users.noreply.github.com>
* fix: improve beta label contrast in gamesxblock

* fix: address copilot comment

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Commit generated by workflow `edx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/release-ulmo`
* feat: add new API to retrieve all components in a unit

* feat: add waffle flag to enable unit expanded view

* fix: test cases
…97a2a0

feat: Upgrade Python dependency edx-enterprise
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.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.