-
-
Notifications
You must be signed in to change notification settings - Fork 39
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 Python versions in the CI workflow. #590
Conversation
Codecov Report
@@ Coverage Diff @@
## main #590 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 6 6
Lines 356 356
Branches 23 29 +6
=========================================
Hits 356 356 |
3.12 is failing with ==================================== ERRORS ====================================
__________________ ERROR collecting tests/test_backport_pr.py __________________
tests/test_backport_pr.py:12: in <module>
from miss_islington import backport_pr
miss_islington/backport_pr.py:9: in <module>
from . import tasks, util
miss_islington/tasks.py:9: in <module>
from celery import bootsteps
/opt/hostedtoolcache/Python/3.12.0-alpha.2/x64/lib/python3.12/site-packages/celery/bootsteps.py:6: in <module>
from kombu.common import ignore_errors
/opt/hostedtoolcache/Python/3.12.0-alpha.2/x64/lib/python3.12/site-packages/kombu/common.py:14: in <module>
from .entity import Exchange, Queue
/opt/hostedtoolcache/Python/3.12.0-alpha.2/x64/lib/python3.12/site-packages/kombu/entity.py:7: in <module>
from .serialization import prepare_accept_content
/opt/hostedtoolcache/Python/3.12.0-alpha.2/x64/lib/python3.12/site-packages/kombu/serialization.py:440: in <module>
for ep, args in entrypoints('kombu.serializers'): # pragma: no cover
/opt/hostedtoolcache/Python/3.12.0-alpha.2/x64/lib/python3.12/site-packages/kombu/utils/compat.py:82: in entrypoints
for ep in importlib_metadata.entry_points().get(namespace, [])
E AttributeError: 'EntryPoints' object has no attribute 'get'
cc @jaraco |
Suggestions for this PR or another. We can also bump these to:
I've got a script to bump actions (works only on tags not branches, but that covers most), although dependabot can take care of it all later. We can now also remove the
Something like: - uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: pyproject.toml |
Kombu is relying on interfaces removed in 3.12 (python/cpython#97785). Fixed in celery/kombu#1601. |
By the way, you may want to use this technique to avoid having to do two-phase commits for each Python version (see actions/setup-python#508). |
Thanks @jaraco for looking into this!
I'm not sure I understand what you mean here. AFAICS, you are adding With the current PR, once - python-version: ["3.9", "3.10", "3.11", "3.12-dev"]
+ python-version: ["3.9", "3.10", "3.11", "3.12", "3.13-dev"] So, unless I'm missing something, I don't see a reason to handle the |
Yes. Because
Except, within about a month of Python 3.12 going final, someone is going to notice that it has If instead you apply You're welcome to continue to manage it manually - I just wanted to share that I've found a better way that involves less toil. |
I now updated the PR to include your suggestion. |
I update the branch and 3.12 is now failing. For more info see:
and the related upstream issues: |
Good news: actions/setup-python#414 was merged to fallback to a pre-release when there's no stable. It's not been released yet, but when it is, we can use plain (Although we'd still need a temporary |
Can we just update to 3.11 on this PR? the 3.12 is still failing. |
Yeah, let's split 3.12 into another PR, those other things will take some time, hopefully they will be sorted during the beta. 🤞 Some other updates we can add to this PR: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 75a8d93..2e614cb 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -18,8 +18,8 @@ jobs:
dev: ["-dev"]
steps:
- - uses: actions/checkout@v2
- - uses: actions/cache@v1
+ - uses: actions/checkout@v3
+ - uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }}
@@ -30,7 +30,7 @@ jobs:
python-version: ${{ matrix.python-version }}${{ matrix.dev }}
- run: python3 -m pip install -U -r dev-requirements.txt
- run: pytest --cov=. --cov-report=xml
- - uses: codecov/codecov-action@v2
+ - uses: codecov/codecov-action@v3
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }} |
Co-authored-by: Hugo van Kemenade <[email protected]>
Same as: