From 47c393cfb8e93ab73f98c43e08945c31597283e9 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Tue, 11 Apr 2023 13:39:46 +0200 Subject: [PATCH] Add prerequisites to maintainers.md --- docs/development/maintainers.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/development/maintainers.md b/docs/development/maintainers.md index d46108dce..b36a5a3df 100644 --- a/docs/development/maintainers.md +++ b/docs/development/maintainers.md @@ -111,17 +111,24 @@ Cherry pick the corresponding documentation commits to the `stable` branch. Use ### Upgrading pyodide to a new version of CPython +Prerequisites -- The desired version of CPython must be available at: + +1. The `specific release` section of https://www.python.org/downloads +2. https://hub.docker.com/_/python +3. https://github.com/actions/python-versions/releases + For example: `v3.11.1` -> `v3.11.2` 1. Download the **Gzipped source tarball** at https://www.python.org/downloads/release/python-3112 into `downloads/` 2. `shasum -a 256 downloads/Python-3.11.2.tgz > cpython/checksums` + - Ensure the path in `cpython/checksums` starts with `downloads/Python-` 3. `git grep --name-only "3.11.1" ` # All these files will need to be updated. 4. After updating the Python version in `Dockerfile`, create a new Docker image. - A maintainer must click `Run workflow` on https://github.com/pyodide/pyodide/actions/workflows/docker_image.yml 5. That workflow will build and upload a new Docker image to https://hub.docker.com/r/pyodide/pyodide-env/tags -6. Modify the image name in `.circleci/config.yml` to match the image tag on Docker Hub. +6. In `.circleci/config.yml` modify the image name to match the image tag on Docker Hub. - `image: pyodide/pyodide-env:20230301-chrome109-firefox109-py311` -7. Modify the `PYODIDE_IMAGE_TAG` in `run_docker` to match the image tag on Docker Hub. +7. In `run_docker` modify the `PYODIDE_IMAGE_TAG` to match the image tag on Docker Hub. - `PYODIDE_IMAGE_TAG="20230301-chrome109-firefox109-py311"` 8. Rebase any patches which do not apply cleanly. -9. Create a pull request and fix any failing tests. This may be complicated for major releases of CPython. +9. Create a pull request and fix any failing tests. This may be complicated for non-micro releases of CPython.