From 5f318e40329cf1055c369b067958e1b6e38341a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sag=E2=80=8Be?= Date: Thu, 14 Nov 2024 15:56:01 +0000 Subject: [PATCH] Build tools: update `latest` versions (#11742) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ref: #11386 and #10808 Not sure if I missed anything. Looking into `scripts/compile_version_upload.sh`, I don't know if the selected `virtualenv` version works with 3.13 (in fact I don't know if that package has officially supported 3.13 yet). I initially wanted to raise an issue to support Node.js 22, but then I got curious and thought I could help speed up the process. Feel free to pick it up from here if there are other areas that need to be updated e.g. https://github.com/readthedocs/readthedocs-docker-images 🙂 Closes #11671 --- :books: Documentation previews :books: - User's documentation (`docs`): https://docs--11742.org.readthedocs.build/en/11742/ - Developer's documentation (`dev`): https://dev--11742.org.readthedocs.build/en/11742/ --------- Co-authored-by: Manuel Kaufmann --- docs/user/config-file/v2.rst | 26 +++++++----- readthedocs/builds/constants_docker.py | 42 +++++++++++-------- .../projects/tests/test_build_tasks.py | 2 +- .../rtd_tests/fixtures/spec/v2/schema.json | 6 +++ .../templates/projects/import_config.html | 10 ++--- 5 files changed, 52 insertions(+), 34 deletions(-) diff --git a/docs/user/config-file/v2.rst b/docs/user/config-file/v2.rst index bc99551e39c..48e3b465e42 100644 --- a/docs/user/config-file/v2.rst +++ b/docs/user/config-file/v2.rst @@ -211,7 +211,7 @@ Configuration for Conda support. version: 2 build: - os: "ubuntu-22.04" + os: "ubuntu-24.04" tools: python: "mambaforge-22.9" @@ -244,12 +244,12 @@ Python, Node.js, Rust, and Go. version: 2 build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: - python: "3.12" - nodejs: "18" - rust: "1.64" - golang: "1.19" + python: "3.13" + nodejs: "22" + rust: "1.82" + golang: "1.23" build.os ```````` @@ -316,9 +316,11 @@ You can use several interpreters and versions, from CPython, Miniconda, and Mamb - ``3.10`` - ``3.11`` - ``3.12`` + - ``3.13`` - ``latest`` (alias for the latest version available on Read the Docs) - ``miniconda3-4.7`` - ``miniconda3-3.12-24.1`` + - ``miniconda3-3.12-24.9`` - ``miniconda-latest`` (alias for the latest version available on Read the Docs) - ``mambaforge-4.10`` - ``mambaforge-22.9`` @@ -337,6 +339,8 @@ Node.js version to use. - ``18`` - ``19`` - ``20`` + - ``22`` + - ``23`` - ``latest`` (alias for the latest version available on Read the Docs) build.tools.ruby @@ -362,6 +366,7 @@ Rust version to use. - ``1.70`` - ``1.75`` - ``1.78`` + - ``1.82`` - ``latest`` (alias for the latest version available on Read the Docs) build.tools.golang @@ -377,6 +382,7 @@ Go version to use. - ``1.20`` - ``1.21`` - ``1.22`` + - ``1.23`` - ``latest`` (alias for the latest version available on Read the Docs) build.apt_packages @@ -423,9 +429,9 @@ See :doc:`/build-customization` for more details. version: 2 build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: - python: "3.12" + python: "3.13" jobs: pre_create_environment: - echo "Command run at 'pre_create_environment' step" @@ -468,9 +474,9 @@ The ``$READTHEDOCS_OUTPUT/html`` directory will be uploaded and hosted by Read t version: 2 build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: - python: "3.12" + python: "3.13" commands: - pip install pelican - pelican --settings docs/pelicanconf.py --output $READTHEDOCS_OUTPUT/html/ docs/ diff --git a/readthedocs/builds/constants_docker.py b/readthedocs/builds/constants_docker.py index 5e87952d901..8948fc376e9 100644 --- a/readthedocs/builds/constants_docker.py +++ b/readthedocs/builds/constants_docker.py @@ -33,26 +33,30 @@ "2.7": "2.7.18", "3.6": "3.6.15", "3.7": "3.7.17", - "3.8": "3.8.19", - "3.9": "3.9.19", - "3.10": "3.10.14", - "3.11": "3.11.9", - "3.12": "3.12.3", + "3.8": "3.8.20", + "3.9": "3.9.20", + "3.10": "3.10.15", + "3.11": "3.11.10", + "3.12": "3.12.7", + "3.13": "3.13.0", "miniconda3-4.7": "miniconda3-4.7.12", "miniconda3-3.12-24.1": "miniconda3-3.12-24.1.2-0", + "miniconda3-3.12-24.9": "miniconda3-3.12-24.9.2-0", "mambaforge-4.10": "mambaforge-4.10.3-10", "mambaforge-22.9": "mambaforge-22.9.0-3", "mambaforge-23.11": "mambaforge-23.11.0-0", }, "nodejs": { - "14": "14.20.1", - "16": "16.18.1", - "18": "18.16.1", - "19": "19.0.1", - "20": "20.14.0", # LTS + "14": "14.21.3", + "16": "16.20.2", + "18": "18.20.4", + "19": "19.9.0", + "20": "20.18.0", + "22": "22.11.0", # LTS + "23": "23.1.0", }, "ruby": { - "3.3": "3.3.2", + "3.3": "3.3.5", }, "rust": { "1.55": "1.55.0", @@ -61,14 +65,16 @@ "1.70": "1.70.0", "1.75": "1.75.0", "1.78": "1.78.0", + "1.82": "1.82.0", }, "golang": { "1.17": "1.17.13", "1.18": "1.18.10", "1.19": "1.19.13", "1.20": "1.20.14", - "1.21": "1.21.11", - "1.22": "1.22.4", + "1.21": "1.21.13", + "1.22": "1.22.8", + "1.23": "1.23.2", }, }, } @@ -81,11 +87,11 @@ # in production after some weeks _OS["ubuntu-lts-latest"] = _OS["ubuntu-22.04"] -_TOOLS["python"]["3"] = _TOOLS["python"]["3.12"] +_TOOLS["python"]["3"] = _TOOLS["python"]["3.13"] _TOOLS["python"]["latest"] = _TOOLS["python"]["3"] -_TOOLS["python"]["miniconda-latest"] = _TOOLS["python"]["miniconda3-3.12-24.1"] +_TOOLS["python"]["miniconda-latest"] = _TOOLS["python"]["miniconda3-3.12-24.9"] _TOOLS["python"]["mambaforge-latest"] = _TOOLS["python"]["mambaforge-23.11"] -_TOOLS["nodejs"]["latest"] = _TOOLS["nodejs"]["20"] +_TOOLS["nodejs"]["latest"] = _TOOLS["nodejs"]["23"] _TOOLS["ruby"]["latest"] = _TOOLS["ruby"]["3.3"] -_TOOLS["rust"]["latest"] = _TOOLS["rust"]["1.78"] -_TOOLS["golang"]["latest"] = _TOOLS["golang"]["1.22"] +_TOOLS["rust"]["latest"] = _TOOLS["rust"]["1.82"] +_TOOLS["golang"]["latest"] = _TOOLS["golang"]["1.23"] diff --git a/readthedocs/projects/tests/test_build_tasks.py b/readthedocs/projects/tests/test_build_tasks.py index 71dc7097418..e1a44976ac7 100644 --- a/readthedocs/projects/tests/test_build_tasks.py +++ b/readthedocs/projects/tests/test_build_tasks.py @@ -569,7 +569,7 @@ def test_successful_build( }, "tools": { "python": { - "full_version": "3.12.3", + "full_version": "3.13.0", "version": "3", } }, diff --git a/readthedocs/rtd_tests/fixtures/spec/v2/schema.json b/readthedocs/rtd_tests/fixtures/spec/v2/schema.json index a5f28d53997..2cb5559f5f2 100644 --- a/readthedocs/rtd_tests/fixtures/spec/v2/schema.json +++ b/readthedocs/rtd_tests/fixtures/spec/v2/schema.json @@ -152,9 +152,11 @@ "3.10", "3.11", "3.12", + "3.13", "latest", "miniconda3-4.7", "miniconda3-3.12-24.1", + "miniconda3-3.12-24.9", "miniconda-latest", "mambaforge-4.10", "mambaforge-22.9", @@ -169,6 +171,8 @@ "18", "19", "20", + "22", + "23", "latest" ] }, @@ -186,6 +190,7 @@ "1.70", "1.75", "1.78", + "1.82", "latest" ] }, @@ -197,6 +202,7 @@ "1.20", "1.21", "1.22", + "1.23", "latest" ] } diff --git a/readthedocs/templates/projects/import_config.html b/readthedocs/templates/projects/import_config.html index 5703df04441..656919e2d66 100644 --- a/readthedocs/templates/projects/import_config.html +++ b/readthedocs/templates/projects/import_config.html @@ -29,13 +29,13 @@

{% trans "Add a project configuration file" %}

# Set the OS, Python version and other tools you might need build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: - python: "3.12" + python: "3.13" # You can also specify other tool versions: - # nodejs: "19" - # rust: "1.64" - # golang: "1.19" + # nodejs: "23" + # rust: "1.82" + # golang: "1.23" # Build documentation in the "docs/" directory with Sphinx sphinx: