diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 81b9f3e666d..e83c0d74272 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -10,7 +10,7 @@ jobs: # This job is only useful when run on upstream servo. if: github.repository == 'servo/servo' || github.event_name == 'workflow_dispatch' name: Upload docs to GitHub Pages - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 with: diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index c4b3ee32417..1657c9bf7a2 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -87,6 +87,9 @@ jobs: - name: Set LIBCLANG_PATH env # needed for bindgen in mozangle if: ${{ !inputs.upload }} # not needed on ubuntu 20.04 used for nightly run: echo "LIBCLANG_PATH=/usr/lib/llvm-14/lib" >> $GITHUB_ENV + - uses: actions/setup-python@v5 + with: + python-version: '3.10' - name: Install taplo uses: baptiste0928/cargo-install@v2 with: diff --git a/.github/workflows/nightly-rust.yml b/.github/workflows/nightly-rust.yml index 5c1117bd2df..371667b892b 100644 --- a/.github/workflows/nightly-rust.yml +++ b/.github/workflows/nightly-rust.yml @@ -22,6 +22,9 @@ jobs: fetch-depth: 2 - name: Update rustc run: echo nightly > rust-toolchain + - uses: actions/setup-python@v5 + with: + python-version: '3.10' - name: Bootstrap run: | python3 -m pip install --upgrade pip diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 3367b0b1c2a..2ae6c7b3230 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -70,6 +70,9 @@ jobs: run: | choco install wixtoolset echo "C:\\Program Files (x86)\\WiX Toolset v3.11\\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + - uses: actions/setup-python@v5 + with: + python-version: '3.10' - name: Bootstrap run: | python -m pip install --upgrade pip diff --git a/README.md b/README.md index 0bd546570e0..f935df82b4a 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ manually, try the [manual build setup][manual-build]. ### macOS +- Ensure that the version showed by `python --version` is >= 3.10: - Install [Xcode](https://developer.apple.com/xcode/) - Install [Homebrew](https://brew.sh/) - Run `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh` @@ -31,7 +32,7 @@ manually, try the [manual build setup][manual-build]. ### Linux - Run `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh` -- Install Python +- Install Python (version >= 3.10): - **Debian-like:** Run `sudo apt install python3-pip python3-venv` - **Fedora:** Run `sudo dnf install python3 python3-pip python3-devel` - **Arch:** Run `sudo pacman -S --needed python python-pip` diff --git a/python/mach_bootstrap.py b/python/mach_bootstrap.py index 9e4fcd3967a..ad7278c4514 100644 --- a/python/mach_bootstrap.py +++ b/python/mach_bootstrap.py @@ -209,10 +209,10 @@ def bootstrap(topdir): print('Current path:', topdir) sys.exit(1) - # Ensure we are running Python 3.5+. We put this check here so we generate a + # Ensure we are running Python 3.10+. We put this check here so we generate a # user-friendly error message rather than a cryptic stack trace on module import. - if sys.version_info < (3, 5): - print('Python3 (>=3.5) is required to run mach.') + if sys.version_info < (3, 10): + print('Python3 (>=3.10) is required to run mach.') print('You are running Python', platform.python_version()) sys.exit(1)