Skip to content
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: remove support for Sphinx 1.x #10365

Merged
merged 3 commits into from
Sep 26, 2023
Merged

Conversation

humitos
Copy link
Member

@humitos humitos commented May 30, 2023

We are installing Sphinx 1.x based on a feature flag. There are around ~900 projects still using 1.x, based on https://ethicalads.metabaseapp.com/question/250-projects-using-sphinx-timeserie

Note this feature flag is enabled by default for new projects starting on Oct. 20, 2020

We may need to send them an email about this and informing them how to create a requirements.txt file to pin their dependencies. I don't think that the migration to a config file v2 would enforce them to pin Sphinx.

Related #10342

We are installing Sphinx 1.x based on a feature flag.
There are around 900 projects still using 1.x, based on
https://ethicalads.metabaseapp.com/question/250-projects-using-sphinx-timeserie

Note this feature flag is enabled by default for new projects starting on Oct.
20, 2020

We may need to send them an email about this and informing them how to create a
`requirements.txt` file to pin their dependencies. I don't think that the
migration to a config file v2 would enforce them to pin Sphinx.

Related #10342
@humitos humitos requested a review from ericholscher May 30, 2023 13:25
@humitos humitos requested a review from a team as a code owner May 30, 2023 13:25
@ericholscher
Copy link
Member

Strong 👍 on this deprecation, but we definitely need to email them, and do a proper deprecation timeline for this. I'm fine with the same timeline as the config file, if that makes things easier?

humitos added a commit to readthedocs/blog that referenced this pull request May 31, 2023
Small changelog blog post to communicate we are deprecating installing Sphinx
1.x automatically for projects created before Oct 20, 2020.
Besides, the blog post briefly describes how to create a `requirements.txt`
file and how to update the `.readthedocs.yaml` to install them.

This is aligned with the deprecation of building without a config file.
We are using the same timeline for both.

The code removal of this feature flag is done at
readthedocs/readthedocs.org#10365
humitos added a commit to readthedocs/blog that referenced this pull request May 31, 2023
Small changelog blog post to communicate we are deprecating installing Sphinx
1.x automatically for projects created before Oct 20, 2020.
Besides, the blog post briefly describes how to create a `requirements.txt`
file and how to update the `.readthedocs.yaml` to install them.

This is aligned with the deprecation of building without a config file.
We are using the same timeline for both.

The code removal of this feature flag is done at
readthedocs/readthedocs.org#10365
humitos added a commit to readthedocs/blog that referenced this pull request May 31, 2023
Small changelog blog post to communicate we are deprecating installing Sphinx
1.x automatically for projects created before Oct 20, 2020.
Besides, the blog post briefly describes how to create a `requirements.txt`
file and how to update the `.readthedocs.yaml` to install them.

This is aligned with the deprecation of building without a config file.
We are using the same timeline for both.

The code removal of this feature flag is done at
readthedocs/readthedocs.org#10365
humitos added a commit to readthedocs/blog that referenced this pull request May 31, 2023
Small changelog blog post to communicate we are deprecating installing Sphinx
1.x automatically for projects created before Oct 20, 2020.
Besides, the blog post briefly describes how to create a `requirements.txt`
file and how to update the `.readthedocs.yaml` to install them.

This is aligned with the deprecation of building without a config file.
We are using the same timeline for both.

The code removal of this feature flag is done at
readthedocs/readthedocs.org#10365
@humitos
Copy link
Member Author

humitos commented May 31, 2023

I started writing a simple blog post about this as well, readthedocs/blog#220. We can write a minimal email pointing to this blog post once it's published.

Copy link
Contributor

@benjaoming benjaoming left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I look very much forward to getting rid of this 🙌

This was also annoying for development environments since it required always adding and enabling the feature flag to have consistency with production.

@benjaoming benjaoming added the Status: blocked Issue is blocked on another issue label Jun 8, 2023
@benjaoming
Copy link
Contributor

This is blocked on communication efforts.

@humitos
Copy link
Member Author

humitos commented Jul 31, 2023

Starting next week, August 7th, we will be installing the latest version of all the core requirements for new projects: https://blog.readthedocs.com/python-core-requirements-changed/

What about the following plan to follow here?

  • set the deprecation date for October 3rd
  • grab those 671 projects and send them an email on August 15th and September 15th (only 2 emails)
  • publish a small changelog blog post
  • on October 3rd enable INSTALL_LATEST_CORE_REQUIREMENTS for all past projects

During the deprecation dates, users will need to:

  1. use a YAML file if they are not using it already
  2. pin the version of sphinx and sphinx-rtd-theme or alabaster

At this point all the projects will have a configuration file and their required dependencies pinned. @ericholscher anything else here to consider that I may be missing?

@ericholscher
Copy link
Member

@humitos I think this makes sense, but I'm getting a bit lost with all the deprecations! Do we have a place we're tracking them all together, similar to the feature flag deprecations?

@humitos
Copy link
Member Author

humitos commented Aug 1, 2023

I'm getting a bit lost with all the deprecations!

Me too 😅 . I've merged PRs that I shouldn't because of these confusions 😄

Do we have a place we're tracking them all together,

I opened #10587 to track them.

@humitos
Copy link
Member Author

humitos commented Aug 1, 2023

grab those 671 projects and send them an email on August 15th and September 15th (only 2 emails)

I found only 24 doing a more specific query 🎉

SELECT DISTINCT data->'project'->>'slug' as slug
FROM
    "telemetry_builddata"
WHERE
  data @? '$.packages.pip.all ? (@.name == "sphinx" && @.version == "1.8.6")'
ORDER BY slug ASC

@humitos humitos removed the Status: blocked Issue is blocked on another issue label Sep 26, 2023
@humitos
Copy link
Member Author

humitos commented Sep 26, 2023

@stsewd @ericholscher this is review for review and merge. We should merge it before deploying next week due to https://blog.readthedocs.com/defaulting-latest-build-tools/

@humitos humitos enabled auto-merge (squash) September 26, 2023 16:42
Copy link
Member

@ericholscher ericholscher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙏 this doesn't cause any issues

@humitos humitos merged commit ac7d43a into main Sep 26, 2023
4 checks passed
@humitos humitos deleted the humitos/deprecate-sphinx-v1.x branch September 26, 2023 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants