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

Add official support for python 3.10 and 3.11 #6292

Merged
merged 16 commits into from
Jan 10, 2025
Merged

Add official support for python 3.10 and 3.11 #6292

merged 16 commits into from
Jan 10, 2025

Conversation

cognifloyd
Copy link
Member

@cognifloyd cognifloyd commented Dec 19, 2024

This cherry-picks commits from #6236 by @nzlosh and @guzzijones.

This adds python 3.10 and 3.11 to:

  • GHA workflow test matrixes
  • pants interpreter_constraints and lockfiles

The vast number of additional tests in our test matrix made it difficult to ensure we included the new python versions everywhere required. So, I refactored the matrix in each workflow to let GitHub handle expanding the matrix for us.

While I was in the GHA workflows I noticed a couple of minor issues, so I fixed those as well:

  • Fixed a typo in .github/actions/setup-python that was causing a lot of warnings to be listed under GHA annotations.
  • Replaced on.pull_request.type with on.pull_request.types. "type" is not a valid key, so our workflows have just been using the default list of events: opened, reopened, synchronize. So, I used that as well. If someone wants to add edited later, that's fine--just know that there will be downsides because editing the PR description or name will retrigger CI.
  • Updated the benchmarks workflow so it will run whenever a PR touches the workflow file (like this PR does).

I also had to bump the pre-commit and pre-commit-hooks version as it was raising an error on python3.11.

Lockfile Diffs

Lockfile diff: lockfiles/st2.lock [st2]

==                    Upgraded dependencies                     ==

  psutil                         6.1.0        -->   6.1.1
Lockfile diff: lockfiles/black.lock [black]

==                    Upgraded dependencies                     ==

  platformdirs                   4.2.0        -->   4.3.6
  tomli                          2.0.1        -->   2.2.1
  typing-extensions              4.10.0       -->   4.12.2
Lockfile diff: lockfiles/pylint.lock [pylint]

==                    Upgraded dependencies                     ==

  dill                           0.3.8        -->   0.3.9
  platformdirs                   4.2.1        -->   4.3.6
  pylint                         3.1.0        -->   3.1.1
  setuptools                     69.5.1       -->   75.3.0
  tomli                          2.0.1        -->   2.2.1
  tomlkit                        0.12.4       -->   0.13.2
  typing-extensions              4.11.0       -->   4.12.2
Lockfile diff: lockfiles/bandit.lock [bandit]

==                    Upgraded dependencies                     ==

  rich                           13.9.3       -->   13.9.4
  setuptools                     75.2.0       -->   75.3.0
Lockfile diff: lockfiles/flake8.lock [flake8]

==                    Upgraded dependencies                     ==

  setuptools                     75.2.0       -->   75.3.0
Lockfile diff: lockfiles/twine.lock [twine]

==                    Upgraded dependencies                     ==

  certifi                        2024.2.2     -->   2024.12.14
  cffi                           1.16.0       -->   1.17.1
  charset-normalizer             3.3.2        -->   3.4.0
  cryptography                   42.0.5       -->   43.0.3
  idna                           3.6          -->   3.10
  importlib-metadata             7.1.0        -->   8.5.0
  importlib-resources            6.4.0        -->   6.4.5
  jaraco-context                 4.3.0        -->   6.0.1
  jaraco-functools               4.0.0        -->   4.1.0
  keyring                        25.1.0       -->   25.5.0
  more-itertools                 10.2.0       -->   10.5.0
  nh3                            0.2.17       -->   0.2.20
  pkginfo                        1.10.0       -->   1.12.0
  pygments                       2.17.2       -->   2.18.0
  requests                       2.31.0       -->   2.32.3
  tqdm                           4.66.2       -->   4.67.1
  urllib3                        2.2.1        -->   2.2.3
  zipp                           3.18.1       -->   3.20.2

==                      Added dependencies                      ==

  backports-tarfile              1.2.0

nzlosh and others added 15 commits December 19, 2024 14:47
There are a bunch of annotations that have been showing up in CI.
I finally found the source of that warning.
And harmonize the start version by copying the flake8 minimum.
…lake8 --resolve=pylint --resolve=twine

This also copies the pylint upgrade into test-requirements.txt.

Lockfile diff: lockfiles/black.lock [black]

==                    Upgraded dependencies                     ==

  platformdirs                   4.2.0        -->   4.3.6
  tomli                          2.0.1        -->   2.2.1
  typing-extensions              4.10.0       -->   4.12.2

Lockfile diff: lockfiles/pylint.lock [pylint]

==                    Upgraded dependencies                     ==

  dill                           0.3.8        -->   0.3.9
  platformdirs                   4.2.1        -->   4.3.6
  pylint                         3.1.0        -->   3.1.1
  setuptools                     69.5.1       -->   75.3.0
  tomli                          2.0.1        -->   2.2.1
  tomlkit                        0.12.4       -->   0.13.2
  typing-extensions              4.11.0       -->   4.12.2

Lockfile diff: lockfiles/bandit.lock [bandit]

==                    Upgraded dependencies                     ==

  rich                           13.9.3       -->   13.9.4
  setuptools                     75.2.0       -->   75.3.0

Lockfile diff: lockfiles/flake8.lock [flake8]

==                    Upgraded dependencies                     ==

  setuptools                     75.2.0       -->   75.3.0

Lockfile diff: lockfiles/twine.lock [twine]

==                    Upgraded dependencies                     ==

  certifi                        2024.2.2     -->   2024.12.14
  cffi                           1.16.0       -->   1.17.1
  charset-normalizer             3.3.2        -->   3.4.0
  cryptography                   42.0.5       -->   43.0.3
  idna                           3.6          -->   3.10
  importlib-metadata             7.1.0        -->   8.5.0
  importlib-resources            6.4.0        -->   6.4.5
  jaraco-context                 4.3.0        -->   6.0.1
  jaraco-functools               4.0.0        -->   4.1.0
  keyring                        25.1.0       -->   25.5.0
  more-itertools                 10.2.0       -->   10.5.0
  nh3                            0.2.17       -->   0.2.20
  pkginfo                        1.10.0       -->   1.12.0
  pygments                       2.17.2       -->   2.18.0
  requests                       2.31.0       -->   2.32.3
  tqdm                           4.66.2       -->   4.67.1
  urllib3                        2.2.1        -->   2.2.3
  zipp                           3.18.1       -->   3.20.2

==                      Added dependencies                      ==

  backports-tarfile              1.2.0
And copy the pusutil update to all requirements files.

Lockfile diff: lockfiles/st2.lock [st2]

==                    Upgraded dependencies                     ==

  psutil                         6.1.0        -->   6.1.1
@cognifloyd cognifloyd added this to the 3.9.0 milestone Dec 19, 2024
@cognifloyd cognifloyd self-assigned this Dec 19, 2024
@pull-request-size pull-request-size bot added the size/XXL PR that changes 1000+ lines. You should absolutely split your PR into several. label Dec 19, 2024
@cognifloyd cognifloyd force-pushed the py3.10 branch 2 times, most recently from 4a28d5c to 96925a7 Compare December 19, 2024 23:29
@cognifloyd cognifloyd marked this pull request as ready for review December 20, 2024 00:05
@cognifloyd cognifloyd requested a review from a team December 20, 2024 14:43
@guzzijones guzzijones merged commit ae50851 into master Jan 10, 2025
86 checks passed
@guzzijones guzzijones deleted the py3.10 branch January 10, 2025 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
external dependency feature infrastructure: ci/cd maintenance pantsbuild size/XXL PR that changes 1000+ lines. You should absolutely split your PR into several. tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants