-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Django: Use current versions of Python #2661
base: main
Are you sure you want to change the base?
Conversation
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.
Please see comments inline.
@@ -13,12 +13,12 @@ jobs: | |||
strategy: | |||
max-parallel: 4 | |||
matrix: | |||
python-version: [3.7, 3.8, 3.9] | |||
python-version: [3.9, 3.11, 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.
👍 Looks ok; 3.9.20+ through 3.13 are all supported still (3.7
& 3.8
are EoL)!
Consider continuous versions or clarify new version choice.
NIT
@cclauss why `3.9` and `3.11` but no `3.10`, and why skip the default `3.12` in the matrix? This is confusing.I suggest either:
- Add both
3.10
and3.12
:
python-version: [3.9, 3.11, 3.13] | |
python-version: ['3.9', '3.10', '3.11', '3.12' '3.13'] |
- Add
3.12
instead of 3.9:
python-version: [3.9, 3.11, 3.13] | |
python-version: ['3.11', '3.12' '3.13'] |
- Keep
3.9
but add3.10
Instead of3.13
:
python-version: [3.9, 3.11, 3.13] | |
python-version: ['3.9', '3.10', '3.11'] # 3.12 is already installed by default on ubuntu-latest |
Important
while perfectly fine for versions pre-3.10
(e.g. 3.9
), the github yaml parsing seems to prefer quoted values (e.g. as in python-package.yml) than raw Semantic-Versions (e.g. 🙅 3.11
). If these are the intended versions (see previous consideration), then I'd recommend quoting them for consistency.
python-version: [3.9, 3.11, 3.13] | |
python-version: ["3.9", "3.11", "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.
The first comment above merely reiterates what is in the URLs in the commit message.
Continuous versions is not an advantage. Coverage is an advantage. If tests pass on Py39, Py311, and Py313 then the chances are very high that Py310 and Py312 will also pass. The setup and running of tests on 5 platforms takes more energy and creates more greenhouse gases than 3 for a negligible benefit. This PR does not want to be more consumptive than the code that it replaces.
If yaml does not need the quotes then yaml does not need the quotes.
uses: actions/setup-python@v3 | ||
uses: actions/setup-python@v5 |
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.
This change @v3
--> @v5
LGTM!
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.
https://devguide.python.org/versions/#supported-versions
https://docs.djangoproject.com/en/stable/faq/install/#what-python-version-can-i-use-with-django
Pre-requisites
Please note that at this time we are only accepting new starter workflows for Code Scanning. Updates to existing starter workflows are fine.
Tasks
For all workflows, the workflow:
.yml
file with the language or platform as its filename, in lower, kebab-cased format (for example,docker-image.yml
). Special characters should be removed or replaced with words as appropriate (for example, "dotnet" instead of ".NET").GITHUB_TOKEN
so that the workflow runs successfully.For CI workflows, the workflow:
ci
directory.ci/properties/*.properties.json
file (for example,ci/properties/docker-publish.properties.json
).push
tobranches: [ $default-branch ]
andpull_request
tobranches: [ $default-branch ]
.release
withtypes: [ created ]
.docker-publish.yml
).For Code Scanning workflows, the workflow:
code-scanning
directory.code-scanning/properties/*.properties.json
file (for example,code-scanning/properties/codeql.properties.json
), with properties set as follows:name
: Name of the Code Scanning integration.creator
: Name of the organization/user producing the Code Scanning integration.description
: Short description of the Code Scanning integration.categories
: Array of languages supported by the Code Scanning integration.iconName
: Name of the SVG logo representing the Code Scanning integration. This SVG logo must be present in theicons
directory.push
tobranches: [ $default-branch, $protected-branches ]
andpull_request
tobranches: [ $default-branch ]
. We also recommend aschedule
trigger ofcron: $cron-weekly
(for example,codeql.yml
).Some general notes:
actions
organization, or