-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Config: deprecated notification for projects without config file (#10354
) * Config: deprecated notification for builds without config file When we detect a build is built without a Read the Docs configuration file (`.readthedocs.yaml`) we show multiple notifications: - a static warning message in the build detail's page - a persistent on-site notification to all maintainers/admin of the project - send a weekly email (at most) This is the initial step to attempt making users to migrate to our config file v2, giving them a enough window to do this and avoid breaking their builds in the future. Closes #10348 * Test: invert logic * Notification's copy: feedback from review * It's a function * Notifications: use a scheduled Celery task to send them Instead of sending an onsite notification on each build, we use a scheduled Celery task that runs once a week to send them. It filter projects that are not using the v2 config file. * Feedback from the review * Darker failed on CircleCI because of this * Links pointing to blog post * Add more logging for this task * Space typo * Ignore projects that are potentially spam * Order queryset by PK so we can track it Also, add log for current project in case we need to recover from that task. * Improve query a little more * Make the query to work on .com as well * Query only active subscriptions on .com * Consistency on naming * Only check for `Project.default_version` * Log progress while iterating to know it's moving * Simplify versions query * More logging to the progress * Send only one notification per user The notification will include all the projects the user is admin that are affected by this deprecation. Users will receive at most one notification per week. * Modify email template to include all the projects and dates * Typo * Improve logging * Keep adding logging :) * Db query for active subscriptions on .com * Email subject * Update onsite notification message * Do not set emails just yet * Minor updates * Update emails with new dates
- Loading branch information
Showing
7 changed files
with
247 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
29 changes: 29 additions & 0 deletions
29
readthedocs/templates/projects/notifications/deprecated_config_file_used_email.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
{% extends "core/email/common.html" %} | ||
{% block content %} | ||
The Read the Docs build system will start requiring a configuration file v2 (<code>.readthedocs.yaml</code>) starting on <strong>September 25, 2023</strong>. | ||
We are scheduling brownout days to provide extra reminders by failing build without a configuration file v2 during some hours before the final day. | ||
Keep these dates in mind to avoid unexpected behaviours: | ||
|
||
<ul> | ||
<li><strong>Monday, July 24, 2023</strong>: Do the first brownout (temporarily enforce this deprecation) for 12 hours: 00:01 PST to 11:59 PST (noon)</li> | ||
<li><strong>Monday, August 14, 2023</strong>: Do a second brownout (temporarily enforce this deprecation) for 24 hours: 00:01 PST to 23:59 PST (midnight)</li> | ||
<li><strong>Monday, September 4, 2023</strong> Do a third and final brownout (temporarily enforce this deprecation) for 48 hours: 00:01 PST to 23:59 PST (midnight)</li> | ||
<li><strong>Monday, September 25, 2023</strong>: Fully remove support for building documentation without configuration file v2.</li> | ||
</ul> | ||
|
||
We have identified the following projects where you are admin are impacted by this deprecation: | ||
|
||
<ul> | ||
{% for project in object %} | ||
<li>{{ project.slug }}</li> | ||
{% endfor %} | ||
</ul> | ||
|
||
You require to add a configuration file to your projects to ensure they continues building successfully and stop receiving these notifications. | ||
|
||
For more information on how to create a required configuration file, | ||
<a href="https://blog.readthedocs.com/migrate-configuration-v2/">read our blog post</a> | ||
|
||
Get in touch with us <a href="{{ production_uri }}{% url 'support' %}">via our support</a> | ||
and let us know if you are unable to use a configuration file for any reason. | ||
{% endblock %} |
25 changes: 25 additions & 0 deletions
25
readthedocs/templates/projects/notifications/deprecated_config_file_used_email.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
{% extends "core/email/common.txt" %} | ||
{% block content %} | ||
The Read the Docs build system will start requiring a configuration file v2 (.readthedocs.yaml) starting on September 25, 2023. | ||
We are scheduling brownout days to provide extra reminders by failing build without a configuration file v2 during some hours before the final day. | ||
Keep these dates in mind to avoid unexpected behaviours: | ||
|
||
* Monday, July 24, 2023: Do the first brownout (temporarily enforce this deprecation) for 12 hours: 00:01 PST to 11:59 PST (noon) | ||
* Monday, August 14, 2023: Do a second brownout (temporarily enforce this deprecation) for 24 hours: 00:01 PST to 23:59 PST (midnight) | ||
* Monday, September 4, 2023: Do a third and final brownout (temporarily enforce this deprecation) for 48 hours: 00:01 PST to 23:59 PST (midnight) | ||
* Monday, September 25, 2023: Fully remove support for building documentation without configuration file v2. | ||
|
||
We have identified the following projects where you are admin are impacted by this deprecation: | ||
|
||
{% for project in object %} | ||
* {{ project.slug }} | ||
{% endfor %} | ||
|
||
You require to add a configuration file to your projects to ensure they continues building successfully and stop receiving these notifications. | ||
|
||
For more information on how to create a required configuration file, see: | ||
https://blog.readthedocs.com/migrate-configuration-v2/ | ||
|
||
Get in touch with us at {{ production_uri }}{% url 'support' %} | ||
and let us know if you are unable to use a configuration file for any reason. | ||
{% endblock %} |