Skip to content

Commit a570776

Browse files
committed
Add python 3.14 in test grid and update precommit.
1 parent ccd4b7c commit a570776

File tree

6 files changed

+312
-21
lines changed

6 files changed

+312
-21
lines changed

.github/workflows/github-actions.yml

Lines changed: 282 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -863,6 +863,288 @@ jobs:
863863
cibw_build: 'cp313t-*'
864864
cibw_ft: 'true'
865865
os: 'macos-latest'
866+
- name: 'py314-pure-cover (ubuntu/x86_64)'
867+
artifact: 'py314-pure-ubuntu-x86_64'
868+
python: '3.14.0-rc'
869+
python_arch: 'x64'
870+
tox_env: 'py314-pure-cover'
871+
cover: true
872+
cibw_arch: 'x86_64'
873+
cibw_build: false
874+
os: 'ubuntu-latest'
875+
- name: 'py314-pure-cover (windows/AMD64)'
876+
artifact: 'py314-pure-windows-AMD64'
877+
python: '3.14.0-rc'
878+
python_arch: 'x64'
879+
tox_env: 'py314-pure-cover'
880+
cover: true
881+
cibw_arch: 'AMD64'
882+
cibw_build: false
883+
os: 'windows-latest'
884+
- name: 'py314-pure-cover (macos/arm64)'
885+
artifact: 'py314-pure-macos-arm64'
886+
python: '3.14.0-rc'
887+
python_arch: 'arm64'
888+
tox_env: 'py314-pure-cover'
889+
cover: true
890+
cibw_arch: 'arm64'
891+
cibw_build: false
892+
os: 'macos-latest'
893+
- name: 'py314-pure-nocov (ubuntu/x86_64)'
894+
artifact: 'py314-pure-ubuntu-x86_64'
895+
python: '3.14.0-rc'
896+
python_arch: 'x64'
897+
tox_env: 'py314-pure-nocov'
898+
cibw_arch: 'x86_64'
899+
cibw_build: false
900+
os: 'ubuntu-latest'
901+
- name: 'py314-pure-nocov (windows/AMD64)'
902+
artifact: 'py314-pure-windows-AMD64'
903+
python: '3.14.0-rc'
904+
python_arch: 'x64'
905+
tox_env: 'py314-pure-nocov'
906+
cibw_arch: 'AMD64'
907+
cibw_build: false
908+
os: 'windows-latest'
909+
- name: 'py314-pure-nocov (macos/arm64)'
910+
artifact: 'py314-pure-macos-arm64'
911+
python: '3.14.0-rc'
912+
python_arch: 'arm64'
913+
tox_env: 'py314-pure-nocov'
914+
cibw_arch: 'arm64'
915+
cibw_build: false
916+
os: 'macos-latest'
917+
- name: 'py314-cython-cover (ubuntu/x86_64)'
918+
artifact: 'py314-cython-ubuntu-x86_64'
919+
python: '3.14.0-rc'
920+
python_arch: 'x64'
921+
tox_env: 'py314-cython-cover'
922+
cover: true
923+
cibw_arch: 'x86_64'
924+
cibw_build: false
925+
os: 'ubuntu-latest'
926+
- name: 'py314-cython-cover (windows/AMD64)'
927+
artifact: 'py314-cython-windows-AMD64'
928+
python: '3.14.0-rc'
929+
python_arch: 'x64'
930+
tox_env: 'py314-cython-cover'
931+
cover: true
932+
cibw_arch: 'AMD64'
933+
cibw_build: false
934+
os: 'windows-latest'
935+
- name: 'py314-cython-cover (macos/arm64)'
936+
artifact: 'py314-cython-macos-arm64'
937+
python: '3.14.0-rc'
938+
python_arch: 'arm64'
939+
tox_env: 'py314-cython-cover'
940+
cover: true
941+
cibw_arch: 'arm64'
942+
cibw_build: false
943+
os: 'macos-latest'
944+
- name: 'py314-cython-nocov (ubuntu/x86_64/manylinux)'
945+
artifact: 'py314-cython-ubuntu-x86_64-manylinux'
946+
python: '3.14.0-rc'
947+
python_arch: 'x64'
948+
tox_env: 'py314-cython-nocov'
949+
cibw_arch: 'x86_64'
950+
cibw_build: 'cp314-*manylinux*'
951+
cibw_ft: 'false'
952+
os: 'ubuntu-latest'
953+
- name: 'py314-cython-nocov (ubuntu/x86_64/musllinux)'
954+
artifact: 'py314-cython-ubuntu-x86_64-musllinux'
955+
python: '3.14.0-rc'
956+
python_arch: 'x64'
957+
tox_env: 'py314-cython-nocov'
958+
cibw_arch: 'x86_64'
959+
cibw_build: 'cp314-*musllinux*'
960+
cibw_ft: 'false'
961+
os: 'ubuntu-latest'
962+
- name: 'py314-cython-nocov (ubuntu/aarch64/manylinux)'
963+
artifact: 'py314-cython-ubuntu-aarch64-manylinux'
964+
python: '3.14.0-rc'
965+
python_arch: 'x64'
966+
tox_env: 'py314-cython-nocov'
967+
cibw_arch: 'aarch64'
968+
cibw_build: 'cp314-*manylinux*'
969+
cibw_ft: 'false'
970+
os: 'ubuntu-latest'
971+
- name: 'py314-cython-nocov (ubuntu/aarch64/musllinux)'
972+
artifact: 'py314-cython-ubuntu-aarch64-musllinux'
973+
python: '3.14.0-rc'
974+
python_arch: 'x64'
975+
tox_env: 'py314-cython-nocov'
976+
cibw_arch: 'aarch64'
977+
cibw_build: 'cp314-*musllinux*'
978+
cibw_ft: 'false'
979+
os: 'ubuntu-latest'
980+
- name: 'py314-cython-nocov (windows/AMD64)'
981+
artifact: 'py314-cython-windows-AMD64'
982+
python: '3.14.0-rc'
983+
python_arch: 'x64'
984+
tox_env: 'py314-cython-nocov'
985+
cibw_arch: 'AMD64'
986+
cibw_build: 'cp314-*'
987+
cibw_ft: 'false'
988+
os: 'windows-latest'
989+
- name: 'py314-cython-nocov (windows/x86)'
990+
artifact: 'py314-cython-windows-x86'
991+
python: '3.14.0-rc'
992+
python_arch: 'x86'
993+
tox_env: 'py314-cython-nocov'
994+
cibw_arch: 'x86'
995+
cibw_build: 'cp314-*'
996+
cibw_ft: 'false'
997+
os: 'windows-latest'
998+
- name: 'py314-cython-nocov (macos/arm64)'
999+
artifact: 'py314-cython-macos-arm64'
1000+
python: '3.14.0-rc'
1001+
python_arch: 'arm64'
1002+
tox_env: 'py314-cython-nocov'
1003+
cibw_arch: 'arm64'
1004+
cibw_build: 'cp314-*'
1005+
cibw_ft: 'false'
1006+
os: 'macos-latest'
1007+
- name: 'py314t-pure-cover (ubuntu/x86_64)'
1008+
artifact: 'py314t-pure-ubuntu-x86_64'
1009+
python: '3.14.0-rc'
1010+
python_arch: 'x64-freethreaded'
1011+
tox_env: 'py314t-pure-cover'
1012+
cover: true
1013+
cibw_arch: 'x86_64'
1014+
cibw_build: false
1015+
os: 'ubuntu-latest'
1016+
- name: 'py314t-pure-cover (windows/AMD64)'
1017+
artifact: 'py314t-pure-windows-AMD64'
1018+
python: '3.14.0-rc'
1019+
python_arch: 'x64-freethreaded'
1020+
tox_env: 'py314t-pure-cover'
1021+
cover: true
1022+
cibw_arch: 'AMD64'
1023+
cibw_build: false
1024+
os: 'windows-latest'
1025+
- name: 'py314t-pure-cover (macos/arm64)'
1026+
artifact: 'py314t-pure-macos-arm64'
1027+
python: '3.14.0-rc'
1028+
python_arch: 'arm64-freethreaded'
1029+
tox_env: 'py314t-pure-cover'
1030+
cover: true
1031+
cibw_arch: 'arm64'
1032+
cibw_build: false
1033+
os: 'macos-latest'
1034+
- name: 'py314t-pure-nocov (ubuntu/x86_64)'
1035+
artifact: 'py314t-pure-ubuntu-x86_64'
1036+
python: '3.14.0-rc'
1037+
python_arch: 'x64-freethreaded'
1038+
tox_env: 'py314t-pure-nocov'
1039+
cibw_arch: 'x86_64'
1040+
cibw_build: false
1041+
os: 'ubuntu-latest'
1042+
- name: 'py314t-pure-nocov (windows/AMD64)'
1043+
artifact: 'py314t-pure-windows-AMD64'
1044+
python: '3.14.0-rc'
1045+
python_arch: 'x64-freethreaded'
1046+
tox_env: 'py314t-pure-nocov'
1047+
cibw_arch: 'AMD64'
1048+
cibw_build: false
1049+
os: 'windows-latest'
1050+
- name: 'py314t-pure-nocov (macos/arm64)'
1051+
artifact: 'py314t-pure-macos-arm64'
1052+
python: '3.14.0-rc'
1053+
python_arch: 'arm64-freethreaded'
1054+
tox_env: 'py314t-pure-nocov'
1055+
cibw_arch: 'arm64'
1056+
cibw_build: false
1057+
os: 'macos-latest'
1058+
- name: 'py314t-cython-cover (ubuntu/x86_64)'
1059+
artifact: 'py314t-cython-ubuntu-x86_64'
1060+
python: '3.14.0-rc'
1061+
python_arch: 'x64-freethreaded'
1062+
tox_env: 'py314t-cython-cover'
1063+
cover: true
1064+
cibw_arch: 'x86_64'
1065+
cibw_build: false
1066+
os: 'ubuntu-latest'
1067+
- name: 'py314t-cython-cover (windows/AMD64)'
1068+
artifact: 'py314t-cython-windows-AMD64'
1069+
python: '3.14.0-rc'
1070+
python_arch: 'x64-freethreaded'
1071+
tox_env: 'py314t-cython-cover'
1072+
cover: true
1073+
cibw_arch: 'AMD64'
1074+
cibw_build: false
1075+
os: 'windows-latest'
1076+
- name: 'py314t-cython-cover (macos/arm64)'
1077+
artifact: 'py314t-cython-macos-arm64'
1078+
python: '3.14.0-rc'
1079+
python_arch: 'arm64-freethreaded'
1080+
tox_env: 'py314t-cython-cover'
1081+
cover: true
1082+
cibw_arch: 'arm64'
1083+
cibw_build: false
1084+
os: 'macos-latest'
1085+
- name: 'py314t-cython-nocov (ubuntu/x86_64/manylinux)'
1086+
artifact: 'py314t-cython-ubuntu-x86_64-manylinux'
1087+
python: '3.14.0-rc'
1088+
python_arch: 'x64-freethreaded'
1089+
tox_env: 'py314t-cython-nocov'
1090+
cibw_arch: 'x86_64'
1091+
cibw_build: 'cp314-*manylinux*'
1092+
cibw_ft: 'true'
1093+
os: 'ubuntu-latest'
1094+
- name: 'py314t-cython-nocov (ubuntu/x86_64/musllinux)'
1095+
artifact: 'py314t-cython-ubuntu-x86_64-musllinux'
1096+
python: '3.14.0-rc'
1097+
python_arch: 'x64-freethreaded'
1098+
tox_env: 'py314t-cython-nocov'
1099+
cibw_arch: 'x86_64'
1100+
cibw_build: 'cp314-*musllinux*'
1101+
cibw_ft: 'true'
1102+
os: 'ubuntu-latest'
1103+
- name: 'py314t-cython-nocov (ubuntu/aarch64/manylinux)'
1104+
artifact: 'py314t-cython-ubuntu-aarch64-manylinux'
1105+
python: '3.14.0-rc'
1106+
python_arch: 'x64-freethreaded'
1107+
tox_env: 'py314t-cython-nocov'
1108+
cibw_arch: 'aarch64'
1109+
cibw_build: 'cp314-*manylinux*'
1110+
cibw_ft: 'true'
1111+
os: 'ubuntu-latest'
1112+
- name: 'py314t-cython-nocov (ubuntu/aarch64/musllinux)'
1113+
artifact: 'py314t-cython-ubuntu-aarch64-musllinux'
1114+
python: '3.14.0-rc'
1115+
python_arch: 'x64-freethreaded'
1116+
tox_env: 'py314t-cython-nocov'
1117+
cibw_arch: 'aarch64'
1118+
cibw_build: 'cp314-*musllinux*'
1119+
cibw_ft: 'true'
1120+
os: 'ubuntu-latest'
1121+
- name: 'py314t-cython-nocov (windows/AMD64)'
1122+
artifact: 'py314t-cython-windows-AMD64'
1123+
python: '3.14.0-rc'
1124+
python_arch: 'x64-freethreaded'
1125+
tox_env: 'py314t-cython-nocov'
1126+
cibw_arch: 'AMD64'
1127+
cibw_build: 'cp314-*'
1128+
cibw_ft: 'true'
1129+
os: 'windows-latest'
1130+
- name: 'py314t-cython-nocov (windows/x86)'
1131+
artifact: 'py314t-cython-windows-x86'
1132+
python: '3.14.0-rc'
1133+
python_arch: 'x86-freethreaded'
1134+
tox_env: 'py314t-cython-nocov'
1135+
cibw_arch: 'x86'
1136+
cibw_build: 'cp314-*'
1137+
cibw_ft: 'true'
1138+
os: 'windows-latest'
1139+
- name: 'py314t-cython-nocov (macos/arm64)'
1140+
artifact: 'py314t-cython-macos-arm64'
1141+
python: '3.14.0-rc'
1142+
python_arch: 'arm64-freethreaded'
1143+
tox_env: 'py314t-cython-nocov'
1144+
cibw_arch: 'arm64'
1145+
cibw_build: 'cp314-*'
1146+
cibw_ft: 'true'
1147+
os: 'macos-latest'
8661148
- name: 'pypy39-pure-cover (ubuntu/x86_64)'
8671149
artifact: 'pypy39-pure-ubuntu-x86_64'
8681150
python: 'pypy-3.9'
@@ -996,7 +1278,6 @@ jobs:
9961278
env:
9971279
CIBW_ARCHS: '${{ matrix.cibw_arch }}'
9981280
CIBW_BUILD: '${{ matrix.cibw_build }}'
999-
CIBW_FREE_THREADED_SUPPORT: '${{ matrix.cibw_ft }}'
10001281
CIBW_CONTAINER_ENGINE: "docker; create_args: --cap-add=SYS_PTRACE"
10011282
CIBW_ENABLE: cpython-freethreading
10021283
CIBW_BUILD_VERBOSITY: '3'

.pre-commit-config.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,18 @@ exclude: '^(.tox/|ci/templates/|src/hunter.(pth|embed)$|src/hunter/vendor/|.bump
66
# Note the order is intentional to avoid multiple passes of the hooks
77
repos:
88
- repo: https://github.com/astral-sh/ruff-pre-commit
9-
rev: v0.12.3
9+
rev: v0.12.9
1010
hooks:
1111
- id: ruff
1212
args: [--fix, --exit-non-zero-on-fix, --show-fixes]
1313
- id: ruff-format
14+
- repo: https://github.com/ComPWA/taplo-pre-commit
15+
rev: v0.9.3
16+
hooks:
17+
- id: taplo-format
18+
- id: taplo-lint
1419
- repo: https://github.com/pre-commit/pre-commit-hooks
15-
rev: v5.0.0
20+
rev: v6.0.0
1621
hooks:
1722
- id: trailing-whitespace
1823
exclude_types:

.taplo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[formatting]
2+
array_auto_collapse = false
3+
indent_string = " "

ci/templates/.github/workflows/github-actions.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ jobs:
2323
{% if prefix.startswith('pypy') %}
2424
{% set python %}pypy-{{ prefix[4] }}.{{ prefix[5:] }}{% endset %}
2525
{% set cpython %}pp{{ prefix[4:5] }}{% endset %}
26+
{% elif prefix.startswith('py314') %}
27+
{% set python %}3.14.0-rc{% endset %}
28+
{% set cpython %}cp314{% endset %}
2629
{% else %}
2730
{% set python %}{{ prefix[2] }}.{{ prefix[3:].rstrip('t') }}{% endset %}
2831
{% set cpython %}cp{{ prefix[2:] }}{% endset %}
@@ -89,7 +92,6 @@ jobs:
8992
env:
9093
CIBW_ARCHS: '{{ '${{ matrix.cibw_arch }}' }}'
9194
CIBW_BUILD: '{{ '${{ matrix.cibw_build }}' }}'
92-
CIBW_FREE_THREADED_SUPPORT: '{{ '${{ matrix.cibw_ft }}' }}'
9395
CIBW_CONTAINER_ENGINE: "docker; create_args: --cap-add=SYS_PTRACE"
9496
CIBW_ENABLE: cpython-freethreading
9597
CIBW_BUILD_VERBOSITY: '3'

pyproject.toml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ classifiers = [
3535
"Programming Language :: Python :: Implementation :: CPython",
3636
"Programming Language :: Python :: Implementation :: PyPy",
3737
"Topic :: Utilities",
38-
"Topic :: Software Development :: Debuggers"
38+
"Topic :: Software Development :: Debuggers",
3939
]
4040
keywords = [
4141
"trace",
@@ -83,31 +83,31 @@ max-line-length = 140
8383

8484
[tool.ruff.lint]
8585
ignore = [
86-
"RUF001", # ruff-specific rules ambiguous-unicode-character-string
87-
"S101", # flake8-bandit assert
86+
"RUF001", # ruff-specific rules ambiguous-unicode-character-string
87+
"S101", # flake8-bandit assert
8888
"S307",
89-
"S308", # flake8-bandit suspicious-mark-safe-usage
90-
"E501", # pycodestyle line-too-long
89+
"S308", # flake8-bandit suspicious-mark-safe-usage
90+
"E501", # pycodestyle line-too-long
9191
"PLC0415", # import-outside-top-level
9292
]
9393
select = [
94-
"B", # flake8-bugbear
95-
"C4", # flake8-comprehensions
94+
"B", # flake8-bugbear
95+
"C4", # flake8-comprehensions
9696
"DTZ", # flake8-datetimez
97-
"E", # pycodestyle errors
97+
"E", # pycodestyle errors
9898
"EXE", # flake8-executable
99-
"F", # pyflakes
100-
"I", # isort
99+
"F", # pyflakes
100+
"I", # isort
101101
"INT", # flake8-gettext
102102
"PIE", # flake8-pie
103103
"PLC", # pylint convention
104104
"PLE", # pylint errors
105-
"PT", # flake8-pytest-style
105+
"PT", # flake8-pytest-style
106106
"RSE", # flake8-raise
107107
"RUF", # ruff-specific rules
108-
"S", # flake8-bandit
109-
"UP", # pyupgrade
110-
"W", # pycodestyle warnings
108+
"S", # flake8-bandit
109+
"UP", # pyupgrade
110+
"W", # pycodestyle warnings
111111
]
112112

113113
[tool.ruff.lint.flake8-pytest-style]

0 commit comments

Comments
 (0)