Skip to content

Upgrade to Ubuntu 20.04 and Python 3.8 #7421

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

Merged
merged 10 commits into from
Oct 13, 2021
Merged

Upgrade to Ubuntu 20.04 and Python 3.8 #7421

merged 10 commits into from
Oct 13, 2021

Conversation

humitos
Copy link
Member

@humitos humitos commented Aug 31, 2020

Important changes

  • use Python 3.8 to run our application
  • use Ubuntu 20.04 LTS for Docker development environment
  • use Ubuntu 20.04 LTS for Circle CI
  • run tests via tox with Py 3.8
  • upgrade orjson to be able to latest version (available for Py3.8)
  • upgrade mercurial to its latest version which is compatible with Python 3.8

Closes #8492
Closes #8151

- upgrade local development Docker image
- upgrade Docker image in TravisCI
- upgrade orjson to be able to install in newer Ubuntu version
redis has to be upgraded to avoid `async` keyword error
@humitos humitos added the PR: work in progress Pull request is not ready for full review label Aug 31, 2020
@humitos humitos removed the PR: work in progress Pull request is not ready for full review label Sep 1, 2020
@humitos humitos added the Status: blocked Issue is blocked on another issue label Sep 24, 2020
@humitos
Copy link
Member Author

humitos commented Sep 24, 2020

I'm marking this as blocked for now until we do more test in production servers. I already opened a PR and I have all the data to build the image and run it in a VM. Once we passed that test we can merge this so we have local/prod with the same environment. See https://github.com/readthedocs/readthedocs-ops/pull/794

@humitos humitos added the Accepted Accepted issue on our roadmap label Oct 15, 2020
@benjaoming
Copy link
Contributor

Ay, a new conflict 😢

I've been seeing this perform fine in a Debian Buster container for over half a year and will continue to use it for 5.12.0. So really no worries from my POV.

@humitos humitos removed the Status: blocked Issue is blocked on another issue label Sep 30, 2021
@humitos humitos requested a review from a team September 30, 2021 16:47
@humitos
Copy link
Member Author

humitos commented Sep 30, 2021

I updated this PR and all tests are passing. A good way to QA is to pull down the PR, and

  1. inv docker.build to build the new image
  2. then, inv docker.down to kill old instances
  3. finally, inv docker.up and check normal tasks

Let me know @readthedocs/backend

# mercurial-scm.org/wiki/SupportedPythonVersions
# (Pinned to 4.4.2 since what we need for testing is still useful)
Mercurial==4.4.2 # pyup: ignore
Mercurial==5.5
Copy link
Member

Choose a reason for hiding this comment

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

Is this still being used in our code, or only on builders?

Copy link
Member Author

Choose a reason for hiding this comment

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

IIRC, this dependency was added because it was required on some tests. We may be able to remove them? I'll take a look at that later.

@humitos humitos merged commit d055d11 into master Oct 13, 2021
@humitos humitos deleted the humitos/ubuntu-20.04 branch October 13, 2021 14:23
mgedmin added a commit to mgedmin/pytest-alembic that referenced this pull request Dec 8, 2022
Python 3.6 is EOL and causes issues (lack of dataclasses breaks sphinx.ext.autodoc).

I'm not sure what version is appropriate.  ReadTheDocs themselves seem to have [defaulted to Python 3.8](readthedocs/readthedocs.org#7421), so that's what I went with.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted Accepted issue on our roadmap
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Upgrade Python version of readthedocs to > 3.6 update doxygen version
4 participants