-
-
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.
Deprecation: notification and feature flag for
build.image
config (#…
…10589) * Deprecation: notification and feature flag for `build.image` config Define a weekly task to communicate our users about the deprecation of `build.image` using the deprecation plan we used for the configuration file v2 as well. - 3 brownout days - final removal date on October 2nd - weekly onsite/email notification on Wednesday at 11:15 CEST (around 3.5k projects affected) - allow to opt-out from these emails - feature flag for brownout days - build detail's page notification Related: * readthedocs/meta#48 * #10354 * #10587 * Deprecation: notification and feature flag for `build.image` config Define a weekly task to communicate our users about the deprecation of `build.image` using the deprecation plan we used for the configuration file v2 as well. - 3 brownout days - final removal date on October 2nd - weekly onsite/email notification on Wednesday at 11:15 CEST (around ~22k projects affected) - allow to opt-out from these emails - feature flag for brownout days - build detail's page notification Related: * readthedocs/meta#48 * #10354 * #10587 * Review and update logic * Start emailing people with projects building from 3 years ago * Apply suggestions from code review Co-authored-by: Anthony <[email protected]> Co-authored-by: Eric Holscher <[email protected]> * Add HTML version of the email * Codify brownout dates and remove the feature flag Follows the suggestion from https://github.com/readthedocs/blog/pull/233/files#r1283479184 * Use UTC datetimes to compare * Contact projects with a build in the last 3 years We will start with 3 years timeframe first and then lower it down to 1 year. --------- Co-authored-by: Anthony <[email protected]> Co-authored-by: Eric Holscher <[email protected]>
- Loading branch information
1 parent
6bb5a73
commit fdf6b60
Showing
13 changed files
with
335 additions
and
10 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
30 changes: 30 additions & 0 deletions
30
readthedocs/core/migrations/0014_optout_email_build_image_deprecation.py
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,30 @@ | ||
# Generated by Django 3.2.20 on 2023-08-01 13:21 | ||
|
||
from django.db import migrations, models | ||
|
||
|
||
class Migration(migrations.Migration): | ||
dependencies = [ | ||
("core", "0013_add_optout_email_config_file_deprecation"), | ||
] | ||
|
||
operations = [ | ||
migrations.AddField( | ||
model_name="historicaluserprofile", | ||
name="optout_email_build_image_deprecation", | ||
field=models.BooleanField( | ||
default=False, | ||
null=True, | ||
verbose_name="Opt-out from email about '\"build.image\" config key deprecation'", | ||
), | ||
), | ||
migrations.AddField( | ||
model_name="userprofile", | ||
name="optout_email_build_image_deprecation", | ||
field=models.BooleanField( | ||
default=False, | ||
null=True, | ||
verbose_name="Opt-out from email about '\"build.image\" config key deprecation'", | ||
), | ||
), | ||
] |
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
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
35 changes: 35 additions & 0 deletions
35
readthedocs/templates/projects/notifications/deprecated_build_image_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,35 @@ | ||
{% extends "core/email/common.html" %} | ||
{% block content %} | ||
The <code>build.image</code> config key on <code>.readthedocs.yaml</code> has been deprecated, and will be removed on <strong>October 16, 2023</strong>. | ||
We are sending weekly notifications about this issue to all impacted users, | ||
as well as temporary build failures (brownouts) as the date approaches for those who haven't migrated their projects. | ||
|
||
The timeline for this deprecation is as follows: | ||
|
||
<ul> | ||
<li><strong>Monday, August 28, 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, September 18, 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, October 2, 2023</strong>: Do a third and final brownout (temporarily enforce this deprecation) for 48 hours: 00:01 PST to October 3, 2023 23:59 PST (midnight)</li> | ||
<li><strong> Monday, October 16, 2023</strong>: Fully remove support for building documentation using "build.image" on the configuration file</li> | ||
</ul> | ||
|
||
We have identified that the following projects which you maintain, and were built in the last year, are impacted by this deprecation: | ||
|
||
<ul> | ||
{% for project in projects|slice:":15" %} | ||
<li><a href="{{ production_uri }}{{ project.get_absolute_url }}">{{ project.slug }}</a></li> | ||
{% endfor %} | ||
{% if projects.count > 15 %} | ||
<li>... and {{ projects.count|add:"-15" }} more projects.</li> | ||
{% endif %} | ||
</ul> | ||
|
||
Please use <code>build.os</code> on your configuration file to ensure that they continue building successfully and to stop receiving these notifications. | ||
If you want to opt-out from these emails, you can <a href="https://readthedocs.org/accounts/edit/"> edit your preferences in your account settings</a>. | ||
|
||
For more information on how to use <code>build.os</code>, | ||
<a href="https://blog.readthedocs.com/use-build-os-config/">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 %} |
Oops, something went wrong.