Skip to content

feat: add SES delivery support for course update emails #392

feat: add SES delivery support for course update emails

feat: add SES delivery support for course update emails #392

Triggered via pull request January 29, 2026 13:21
Status Success
Total duration 25m 46s
Artifacts 3

unit-tests.yml

on: pull_request
Matrix: run-tests
collect-and-verify
3m 1s
collect-and-verify
compile-warnings-report
3m 18s
compile-warnings-report
Unit tests successful
3s
Unit tests successful
Matrix: coverage
merge-artifacts
43s
merge-artifacts
Fit to window
Zoom out
Zoom in

Annotations

102 warnings
cms-1(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0yV97aQAAAACq+Wjmw7cUSJJaUyANeVuqQ0hJMzBFREdFMDEyMQBFZGdl
cms-1(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
cms-1(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
common-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>04F97aQAAAADBUQBDUgvESLXCw0g3vNMRQ0hHRURHRTE4MjEARWRnZQ==
common-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
common-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
cms-1(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>04l97aQAAAAAJpM0xQNg3QKzun+0WLK3dREVOMzAxMDAwMTA3MDE5AEVkZ2U=
cms-1(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
cms-1(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
common-with-cms(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>06l97aQAAAAD/7zR6bg5+RL+HBDoUg6GsUEFPRURHRTA2MTgARWRnZQ==
common-with-cms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
common-with-cms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-2-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0SGB7aQAAAADiKZmMfg4uRISBbYpt7UnoUEhMMzBFREdFMDQxOQBFZGdl
openedx-2-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-2-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-2-with-cms(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0W2B7aQAAAAAhhh3pLO04SIrWv+Q7k7LIUEhMMzBFREdFMDQxNwBFZGdl
openedx-2-with-cms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-2-with-cms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
xmodule-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>03mB7aQAAAABqdJXbrblzTqHWSWiqeK7EUEFPRURHRTA2MDkARWRnZQ==
xmodule-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
xmodule-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
common-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>07GB7aQAAAAC9hBrQ1lZXS5mC+in6sf3OQ0hHRURHRTE3MTUARWRnZQ==
common-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
common-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
common-with-lms(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>07WB7aQAAAABuaCXUyDTvTa6KOr+zdD2QQ0hJMzBFREdFMDMxNwBFZGdl
common-with-lms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
common-with-lms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
xmodule-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0/WB7aQAAAABqb4lXxlesRoX2Jpo2O0aLQ0hHRURHRTE4MTYARWRnZQ==
xmodule-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
xmodule-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
xmodule-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0/WB7aQAAAADL/CPCTz+RT5cFtb/NcGWeUEFPRURHRTA2MTcARWRnZQ==
xmodule-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
xmodule-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
xmodule-with-lms(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0AGF7aQAAAACC+YebK3QHSK4O7JfIl9LKUEhMMzBFREdFMDEwOQBFZGdl
xmodule-with-lms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
xmodule-with-lms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
xmodule-with-cms(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0AGF7aQAAAADxSwq1Vd4PQKWTDfhh8UbTQ0hHRURHRTE5MDcARWRnZQ==
xmodule-with-cms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
xmodule-with-cms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
xmodule-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0BmF7aQAAAACXcpz1Y3bFQ7Ts11FQsFL0UEhMMzBFREdFMDIxNQBFZGdl
xmodule-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
xmodule-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-1(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0CWF7aQAAAADX9nmYlw0lTZGARvD0ox3TUEFPRURHRTA1MTEARWRnZQ==
lms-1(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-1(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-1-with-cms(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0IWF7aQAAAAC24fhUYMWVQLjVP5vc0xosQ0hHRURHRTE4MjAARWRnZQ==
openedx-1-with-cms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-1-with-cms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-1(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0IWF7aQAAAABxwRGQsn93S6mcsbare5p7REVOMzAxMDAwMTA0MDM1AEVkZ2U=
lms-1(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-1(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-1-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0MWF7aQAAAACo0KnJ2a54TLZlrdhPDC/GQ0hJMzBFREdFMDIxMQBFZGdl
openedx-1-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-1-with-cms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-5(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0UWF7aQAAAABP78Cz4H6KRozeRcQSlJe9REVOMzAxMDAwMTAyMDMzAEVkZ2U=
lms-5(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-5(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-5(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0a2F7aQAAAAAdWuufC0ApQa4yGQZbYYAoUEhMMzBFREdFMDEwNwBFZGdl
lms-5(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-5(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-1-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0bmF7aQAAAACiJNxUwvi4T6T0Kz/INoySREVOMzAxMDAwMTAyMDIxAEVkZ2U=
openedx-1-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-1-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-2(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0c2F7aQAAAACesC2csWpuSIfG9XRSqGmzUEhMMzBFREdFMDQwOQBFZGdl
lms-2(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-2(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-1-with-lms(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0hmF7aQAAAADcwALduKa+Q6qJLme40KTmREVOMzAxMDAwMTA3MDQ3AEVkZ2U=
openedx-1-with-lms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-1-with-lms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-2(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0pGF7aQAAAAArTjEakp8GSZxIrPniMA0cUEhMMzBFREdFMDQxNABFZGdl
lms-2(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-2(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-2-with-lms(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0QGJ7aQAAAAAQVe0yaBVhRqc1wzbbPBOUUEhMMzBFREdFMDExMQBFZGdl
openedx-2-with-lms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-2-with-lms(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-2-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0SWJ7aQAAAAC/4lZW1a/CT7/KVdj5H4nRREVOMzAxMDAwMTAzMDM1AEVkZ2U=
openedx-2-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
openedx-2-with-lms(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-3(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0XGJ7aQAAAACkhbHmaFuXQa/7n7gFglzlUEhMMzBFREdFMDQwOQBFZGdl
lms-3(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-3(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
cms-2(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0gWJ7aQAAAAA9lnPZGLnRTIhrZKXtxmOWUEhMMzBFREdFMDExOABFZGdl
cms-2(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
cms-2(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-3(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0iWJ7aQAAAAC1Ncg92LPsTba5oQsJpzxsRE0yRURHRTA1MDgARWRnZQ==
lms-3(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-3(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
cms-2(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0pmJ7aQAAAAB2dQmF2o1US6Zyji985nWXREVOMzAxMDAwMTA3MDIzAEVkZ2U=
cms-2(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
cms-2(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-6(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0s2J7aQAAAAAdjW4O0/etQYbMa7PX1c60UEhMMzBFREdFMDQxMwBFZGdl
lms-6(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-6(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-6(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0vWJ7aQAAAABQwcWrmvcSTb5ewJuZpirfREVOMzAxMDAwMTA4MDE3AEVkZ2U=
lms-6(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-6(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-4(py=3.11,dj=5.2,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0pWN7aQAAAACcehobAp8GQoZxh/KHOc9ORE0yRURHRTA3MjAARWRnZQ==
lms-4(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-4(py=3.11,dj=5.2,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-4(py=3.11,dj=pinned,mongo=7.0)
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>08WN7aQAAAABw97J0Ez5VRZ1Ihj1Eqzi2UEFPRURHRTA2MTYARWRnZQ==
lms-4(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400
lms-4(py=3.11,dj=pinned,mongo=7.0)
Failed to restore: Cache service responded with 400

Artifacts

Produced during runtime
Name Size Digest
coverage
57 MB
sha256:88fe47e969d7b68d0a81c6ccf504721b207aa53ef9abbad9d41caf399679b1eb
pytest-warning-report-html
162 KB
sha256:b35b001559a85919075caa0f4e07fcc4ffe0b9dc3167cfe0c817174090976a2c
pytest-warnings-json
208 MB
sha256:9235a01350944dade483b3218ba57576aea5fc657df4315185342a316710e39e