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

Project updates for python 3.12 compatibility #194

Merged
merged 5 commits into from
Nov 23, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,30 +16,30 @@
version: 2.1

orbs:
python: circleci/python@0.3.2
python: circleci/python@2.0.3

jobs:
python_test:
parameters:
python_ver:
type: string
default: "3.6"
default: "3.11"
docker:
- image: circleci/python:<< parameters.python_ver >>
Copy link
Member

Choose a reason for hiding this comment

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

cimg/... instead of circleci/... should fix the 3.10+ build failures

steps:
- checkout
- python/load-cache:
dependency-file: requirements_dev.txt
key: depsv3-{{ .Branch }}.{{ arch }}-PY<< parameters.python_ver >>
# - python/load-cache: # This command is unavailable in the orb
# dependency-file: requirements_dev.txt
# key: depsv3-{{ .Branch }}.{{ arch }}-PY<< parameters.python_ver >>
Copy link
Member

Choose a reason for hiding this comment

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

See ParallelSSH/ssh-python@97cfd5c

iirc this is now automated and doesn't have to happen explicitly

Copy link
Author

Choose a reason for hiding this comment

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

That is what I was thinking, so can remove it in follow-up commits.

- run:
name: Deps
command: |
sudo apt-get update
sudo apt-get install cmake openssh-server
pip install -r requirements_dev.txt
- python/save-cache:
dependency-file: requirements_dev.txt
key: depsv3-{{ .Branch }}.{{ arch }}-PY<< parameters.python_ver >>
# - python/save-cache: # This command is unavailable in the orb
# dependency-file: requirements_dev.txt
# key: depsv3-{{ .Branch }}.{{ arch }}-PY<< parameters.python_ver >>
- run:
command: |
python setup.py build_ext --inplace
Expand Down Expand Up @@ -93,9 +93,9 @@ jobs:
image: ubuntu-2004:202201-02
steps: &manylinux-steps
- checkout
- python/load-cache:
key: manylinuxdepsv6-{{ .Branch }}.{{ arch }}
dependency-file: requirements_dev.txt
# - python/load-cache: # This command is unavailable in the orb
# key: manylinuxdepsv6-{{ .Branch }}.{{ arch }}
# dependency-file: requirements_dev.txt
- run:
name: Git LFS
command: |
Expand All @@ -112,9 +112,9 @@ jobs:
which twine
which python
which python3
- python/save-cache:
key: manylinuxdepsv6-{{ .Branch }}.{{ arch }}
dependency-file: requirements_dev.txt
# - python/save-cache: # This command is unavailable in the orb
# key: manylinuxdepsv6-{{ .Branch }}.{{ arch }}
# dependency-file: requirements_dev.txt
- run:
name: Build Wheels
command: |
Expand All @@ -139,17 +139,17 @@ jobs:
steps: *manylinux-steps

workflows:
version: 2.1
# version: 2.1 - default?
Copy link
Member

Choose a reason for hiding this comment

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

2 should work

main:
jobs:
- python_test:
matrix:
parameters:
python_ver:
- "3.6"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
filters:
tags:
ignore: /.*/
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
try:
from Cython.Distutils.extension import Extension
from Cython.Distutils import build_ext
from Cython.Build import cythonize
Copy link
Member

Choose a reason for hiding this comment

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

cythonize should not be used here. Need to commit pre-built cython sources (the .c files) directly or the source files will get re-generated on each build which may not work depending on the system doing the building.

except ImportError:
from setuptools import Extension
USING_CYTHON = False
Expand Down Expand Up @@ -71,7 +72,6 @@
library_dirs=[_lib_dir],
runtime_library_dirs=runtime_library_dirs,
extra_compile_args=_comp_args,
**cython_args,
)
for i in range(len(sources))]

Expand Down Expand Up @@ -131,6 +131,6 @@
'Operating System :: Microsoft :: Windows',
'Operating System :: MacOS :: MacOS X',
],
ext_modules=extensions,
ext_modules=cythonize(extensions, **cython_args) if USING_CYTHON else extensions,
package_data=package_data,
)
10 changes: 7 additions & 3 deletions ssh2/agent.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions ssh2/channel.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions ssh2/error_codes.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions ssh2/exceptions.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions ssh2/fileinfo.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions ssh2/knownhost.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions ssh2/listener.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions ssh2/pkey.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading