-
Notifications
You must be signed in to change notification settings - Fork 7
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
Update pythonpackage.yaml #307
Conversation
WalkthroughThe pull request updates the GitHub Actions workflow for a Python package by changing the Python version used in the build job from 3.12 to 3.13. This adjustment impacts the Python environment setup during the build process, while the overall structure and steps of the workflow remain unchanged. Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (1)
.github/workflows/pythonpackage.yaml (1)
Line range hint
3-6
: Consider adjusting the schedule for alpha version testing 🕒Running weekly tests on an alpha version could lead to sporadic failures. You might want to separate the scheduled runs for stable and development versions.
on: push: schedule: - - cron: "30 16 * * WED" + # Stable version tests + - cron: "30 16 * * WED" + python-version: ["3.12"] + # Alpha version tests + - cron: "30 16 * * SAT" + python-version: ["3.13-dev"]
@@ -11,7 +11,7 @@ jobs: | |||
strategy: | |||
max-parallel: 2 | |||
matrix: | |||
python-version: ["3.12"] | |||
python-version: ["3.13"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Hold up! Several test dependencies aren't ready for Python 3.13 yet 🚨
The compatibility check reveals that critical testing packages aren't explicitly supporting Python 3.13:
- pytest (core testing framework)
- pytest-homeassistant-custom-component (HA-specific testing)
- pytest-aiohttp (async HTTP testing)
- pytest-cov (coverage reporting)
- pytest-socket (socket testing)
- psutil-home-assistant
While some core dependencies like numpy, pillow, and janus are 3.13-ready, running your test suite on 3.13 could be risky business with these testing tools lacking explicit support.
- python-version: ["3.13"]
+ python-version: ["3.12"]
Let's stick with 3.12 for now until the testing ecosystem catches up. You can track Python 3.13 support in your test dependencies and make the switch when they're all green.
🔗 Analysis chain
Heads up! Python 3.13 is still in alpha stage! 🚧
Moving to Python 3.13 might be a bit too early in the game since it's still in alpha. This could lead to some unexpected behavior in your CI pipeline.
Let's check if your dependencies are ready for Python 3.13:
Suggestion: Consider this safer approach:
- python-version: ["3.13"]
+ python-version: ["3.12", "3.13-dev"]
This way you can test both the stable 3.12 and upcoming 3.13 without putting all your eggs in one alpha basket! 🥚
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check package compatibility with Python 3.13
if [ -f requirements.test.txt ]; then
echo "Checking Python 3.13 compatibility for packages in requirements.test.txt..."
while IFS= read -r package || [ -n "$package" ]; do
# Skip empty lines and comments
[[ $package =~ ^[[:space:]]*$ || $package =~ ^[[:space:]]*# ]] && continue
# Extract package name without version
pkg_name=$(echo "$package" | cut -d'=' -f1 | cut -d'>' -f1 | cut -d'<' -f1 | tr -d ' ')
echo "Checking $pkg_name..."
curl -s "https://pypi.org/pypi/$pkg_name/json" | jq -r '.info.classifiers[]' | grep -i "Python :: 3.13" || echo "⚠️ $pkg_name: No explicit Python 3.13 support"
done < requirements.test.txt
else
echo "requirements.test.txt not found!"
fi
Length of output: 7304
Python 3.13
Summary by CodeRabbit