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

Start testing on Django v5.1 #761

Merged
merged 3 commits into from
Jul 3, 2024
Merged

Start testing on Django v5.1 #761

merged 3 commits into from
Jul 3, 2024

Conversation

cclauss
Copy link
Contributor

@cclauss cclauss commented Jun 25, 2024

Test the pre-release version of Django v5.1 scheduled to be released in August 2024.


Why does upgrading Django v5.0 --> v5.1rc1 downgrade these?

django-celery-beat: 2.6.0 --> 2.1.0
django-timezone-field: 7.0.0 --> 4.2.3

% diff django-celery-beat-on-dj50/requirements.txt  \
       django-celery-beat-on-dj51rc1/requirements.txt

9,12c9,11
< cron-descriptor==1.4.3
< Django==5.0.6
< django-celery-beat==2.6.0
< django-timezone-field==7.0
---
> Django==5.1rc1
> django-celery-beat==2.1.0
> django-timezone-field==4.2.3
16a16
> pytz==2024.1

mkdir django-celery-beat-on-dj50 \
 && cd django-celery-beat-on-dj50 \
 && python3.12 -m venv venv \
 && source venv/bin/activate \
 && pip install --upgrade pip \
 && pip install Django==5.0.6 django-celery-beat \
 && pip freeze > requirements.txt \
 && cd .. \
 && mkdir django-celery-beat-on-dj51rc1 \
 && cd django-celery-beat-on-dj51rc1 \
 && python3.12 -m venv venv \
 && source venv/bin/activate \
 && pip install --upgrade pip \
 && pip install Django==5.1rc1 django-celery-beat \
 && pip freeze > requirements.txt \
 && cd .. \
 && diff django-celery-beat-on-dj50/requirements.txt  \
         django-celery-beat-on-dj51rc1/requirements.txt \
 && rm -fr django-celery-beat-on-dj5*

@cclauss cclauss requested a review from Nusnus June 25, 2024 17:15
@cclauss cclauss marked this pull request as ready for review June 25, 2024 21:30
@cclauss cclauss changed the title DRAFT: Start testing on Django v5.1 Start testing on Django v5.1 Jun 25, 2024
tox.ini Outdated Show resolved Hide resolved
Copy link
Member

@Nusnus Nusnus left a comment

Choose a reason for hiding this comment

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

Approved - check out my comment though

@cclauss
Copy link
Contributor Author

cclauss commented Jun 30, 2024

@Nusnus Any thoughts on the downgrades above?

@Nusnus
Copy link
Member

Nusnus commented Jul 3, 2024

@Nusnus Any thoughts on the downgrades above?

If I had to guess I’d say they just “didn’t get to it yet” in terms of upgrading the dependencies.
I think it’s worth creating an issue with Django to ask about it and avoid merging this PR until we have some official answers.

@Nusnus
Copy link
Member

Nusnus commented Jul 3, 2024

@Nusnus Any thoughts on the downgrades above?

If I had to guess I’d say they just “didn’t get to it yet” in terms of upgrading the dependencies. I think it’s worth creating an issue with Django to ask about it and avoid merging this PR until we have some official answers.

But I think they’ll just answer you with “oh thanks for letting us know, fixed in PR 1234”, or at least I hope so haha

@Mogost
Copy link
Contributor

Mogost commented Jul 3, 2024

@cclauss You are doing a strange thing here.

mkdir django-celery-beat-on-dj50 \
 && cd django-celery-beat-on-dj50 \
 && python3.12 -m venv venv \
 && source venv/bin/activate \
 && pip install --upgrade pip \
 && pip install Django==5.0.6 django-celery-beat \
 && pip freeze > requirements.txt \
 && cd .. \
 && mkdir django-celery-beat-on-dj51b1 \
 && cd django-celery-beat-on-dj51b1 \
 && python3.12 -m venv venv \
 && source venv/bin/activate \
 && pip install --upgrade pip \
 && pip install Django==5.1b1 django-celery-beat \
 && pip freeze > requirements.txt \
 && cd .. \
 && diff django-celery-beat-on-dj50/requirements.txt  \
         django-celery-beat-on-dj51b1/requirements.txt \
 && rm -fr django-celery-beat-on-dj5*

How this is possible if you have an upper Django version limit in the released django-celery-beat?

pip install Django==5.1b1 django-celery-beat

Resolver just solved what it should do and picked the latest django-celery-beat version where there was no upper limit.

v2.1.0...v2.2.0#diff-18e078b1884440a7faf1b20b7f91c400c15aca08a74243935946983631259b80
There were no restrictions in 2.1.0 for Django.

pip install Django==5.1b1 django-celery-beat==2.6.0
Collecting Django==5.1b1
Collecting celery<6.0,>=5.2.3
Collecting django-timezone-field>=5.0
Collecting tzdata
Collecting python-crontab>=2.3.4
Collecting cron-descriptor>=1.2.32

ERROR: Cannot install Django==5.1b1 and django-celery-beat==2.6.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested Django==5.1b1
    django-celery-beat 2.6.0 depends on Django<5.1 and >=2.2

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

@cclauss
Copy link
Contributor Author

cclauss commented Jul 3, 2024

You are doing a strange thing here.

😀

So you are saying that #756 was made but not released to PyPI and once that is done the downgrades will not happen?

@Mogost
Copy link
Contributor

Mogost commented Jul 3, 2024

So you are saying that #756 was made but not released to PyPI and once that is done the downgrades will not happen?

Absolutely so.

@cclauss cclauss merged commit 9ac1796 into celery:main Jul 3, 2024
21 checks passed
@cclauss cclauss deleted the Django-v5.1 branch July 3, 2024 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants