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

Use python 3.12 on Netlify and CI #4375

Merged
merged 2 commits into from
Oct 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
Expand All @@ -24,10 +24,10 @@ jobs:
with:
repo: cloudcannon/pagefind
- uses: actions/[email protected]
- name: Set up Python 3.8
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: 3.12
Comment on lines +27 to +30
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Codebase verification

Potential compatibility issues with Python 3.12 detected

Based on the PyPI metadata:

  • sphinx 7.1.2 doesn't explicitly support Python 3.12 (supports up to 3.11)
  • sphinx-autobuild 2021.3.14 is quite outdated (supports only up to 3.8)
  • sphinx-tabs 3.4.5 doesn't explicitly support Python 3.12 (supports up to 3.10)
  • sphinx-toolbox 3.8.0 and Pillow explicitly support Python 3.12

Recommended actions:

  • Update sphinx-autobuild to the latest version
  • Verify if newer versions of sphinx and sphinx-tabs are available with Python 3.12 support
🔗 Analysis chain

Verify dependency compatibility with Python 3.12.

The Python version update looks good and aligns with the PR objectives. However, let's verify that all dependencies in requirements.txt and requirements_test.txt are compatible with Python 3.12.


Let me verify the compatibility of these dependencies with Python 3.12 by checking their PyPI metadata.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any potential compatibility issues with Python 3.12 in requirements files

echo "Checking requirements files for potential compatibility issues..."

# Display the content of both requirements files
echo "=== requirements.txt ==="
cat requirements.txt
echo -e "\n=== requirements_test.txt ==="
cat requirements_test.txt

Length of output: 448


Script:

#!/bin/bash
# Check PyPI metadata for Python version compatibility using gh (GitHub CLI)
# focusing on the main dependencies

echo "=== Checking Sphinx compatibility ==="
curl -s "https://pypi.org/pypi/sphinx/7.1.2/json" | jq -r '.info.requires_python, .info.classifiers[] | select(contains("Programming Language :: Python"))'

echo -e "\n=== Checking sphinx-autobuild compatibility ==="
curl -s "https://pypi.org/pypi/sphinx-autobuild/2021.3.14/json" | jq -r '.info.requires_python, .info.classifiers[] | select(contains("Programming Language :: Python"))'

echo -e "\n=== Checking sphinx-tabs compatibility ==="
curl -s "https://pypi.org/pypi/sphinx-tabs/3.4.5/json" | jq -r '.info.requires_python, .info.classifiers[] | select(contains("Programming Language :: Python"))'

echo -e "\n=== Checking sphinx-toolbox compatibility ==="
curl -s "https://pypi.org/pypi/sphinx-toolbox/3.8.0/json" | jq -r '.info.requires_python, .info.classifiers[] | select(contains("Programming Language :: Python"))'

echo -e "\n=== Checking Pillow compatibility ==="
curl -s "https://pypi.org/pypi/Pillow/json" | jq -r '.info.requires_python, .info.classifiers[] | select(contains("Programming Language :: Python"))'

Length of output: 2820

- name: Install dependencies
run: pip install -r requirements.txt -r requirements_test.txt
- name: Register problem matchers
Expand Down
2 changes: 1 addition & 1 deletion netlify.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[build]
publish = "_build/html"
command = "make netlify"
environment = { BASE_URL = "https://esphome.io" }
environment = { BASE_URL = "https://esphome.io", PYTHON_VERSION = "3.12" }

[context.beta]
environment = { BASE_URL = "https://beta.esphome.io" }
Expand Down