-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprecation: set dates for requiring configuration file and notify users #10351
Comments
Use a feature flag to decide whether or not hard fail the builds that are not using a configuration file at all or are using v1. This will be useful in the future when we want to make the builds to fail during a reduced period of time to inform users/customers about this deprecation. Related #10351
I implemented this in #10355
I've already implemented this in #10354. We can update the email with more information once we have a blog post and more documentation written around this issue. |
I created the followings, which will be useful to track adoption here: |
This one seems like the most useful graph for monitoring active builds/projects. It's probably the first graph we'll want to check 👍 The version 1 configuration graph is handy, I'm glad that number is fairly low. The non timeseries project count seems like the query is similar to the timeseries graph above, so I'd probably just use that. I feel like I wanted a different graph here for counting the total number of projects (not builds or projects that are active), but I can't say how that would be used much different than this graph above. Perhaps removing the timeframe from the query? It's okay if this is just a static number that we can note and check up on, it doesn't need to be timeseries. |
We don't have this data outside the |
Yeah, I think that's what I was looking for, though it also seems like that will be close to the timeseries figure too. |
I created https://ethicalads.metabaseapp.com/question/372-projects-without-readthedocs-yaml-config-file?days=180 which gives us the number of projects that are not using a configuration file. It's based on Footnotes
|
This is a continuation of the work done for * #10351 * #10342 * #10348 * #10355 In that work we added notifications, warning messages and finally a feature flag to start failing the builds without a configuration file or using v1. This commit removes all the code for config file v1 and building without a configuration file. Due to that, it also removes the code that allows users to use the older Docker images (testing, latest, stable) This work can be merged once we enable the feature flag to fail the builds for all the projects and we are happy with the results.
Excellent, that seems good enough. We only really need this for a second spot check on overall progress anyways. |
Once we merge #10354, we will have the number of total projects without a configuration file logged in New Relic because of this line: readthedocs.org/readthedocs/projects/tasks/utils.py Lines 231 to 235 in 400214f
|
I've edited with the dates we discussed in our meeting today:
|
Updated the blog post with those dates: readthedocs/blog#221 |
* 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 * Build: fail builds without configuration file or using v1 Use a feature flag to decide whether or not hard fail the builds that are not using a configuration file at all or are using v1. This will be useful in the future when we want to make the builds to fail during a reduced period of time to inform users/customers about this deprecation. Related #10351 * Update copy to follow the same style * Upgrade `common/` to use the latest versions for pre-commit This is an attempt to solve the issue with the CircleCI `checks` test. * Dont trigger the task on each build, and linting * Linting * Lint * Latest `common/` * Apply suggestions from code review Co-authored-by: Anthony <[email protected]> --------- Co-authored-by: Anthony <[email protected]>
I'm going to close this issue because all the work is done here or was split into other issues. We just need to come back with some adoption numbers close to the dates to know how things are going on. |
The date that is next up is our final cut off. Are we comfortable continuing with our plan or do we need to extend this timeframe? In May 22.9k projects weren't using a configuration file, but I don't know where the figure is today as the Metabase question won't load. @humitos do you have an up to date figure here? |
IMO, we are fine sticking with our plan. We have been notifying users every week since we started and doing some support to help them migrate to the YAML file.
With the increase of spam we have had it's hard to know how many of those are spam with a simple query 😞 There are other queries that could help here as well (using 30 days):
|
…10367) * Deprecation: remove code for config file v1 and default config file This is a continuation of the work done for * #10351 * #10342 * #10348 * #10355 In that work we added notifications, warning messages and finally a feature flag to start failing the builds without a configuration file or using v1. This commit removes all the code for config file v1 and building without a configuration file. Due to that, it also removes the code that allows users to use the older Docker images (testing, latest, stable) This work can be merged once we enable the feature flag to fail the builds for all the projects and we are happy with the results. * Deprecation: update documentation of config file * Deprecation: update config file to remove old keys * Deprecation: update config file v2 docs to deprecate keys - python.version - python.system_packages People should not be using these keys. * Remove auto-install requirements file found on project * Make the deprecated fields read-only as discussed * Remove tasks to send emails about deprecations * Lint & Tests * Remove reference to v1 config file docs * Normalize `get_build_config()` * Update tests for config file * Update tests for collectors * Update tests to follow the new deprecations * Remove invalid tests * More updates related to the config files * Update more tests * Lint
This is related to #10348, but separate because this is going to be a larger marketing push instead of a technical change.
With on site notifications enabled, the next step to educating users will be to send some direct emails, write a blog post or two, and probably try any other avenue that we can to reach our users. We talked about reviving some of the work on the RTD assistant code as well, but at very least we should probably expect to jump in and assist some of our larger and older projects.
This is a list of a few of the things that we talked about doing here:
The text was updated successfully, but these errors were encountered: