Skip to content

Commit 0009e7c

Browse files
authored
Manylinux 2010 rm (#214)
* Removed manylinux 2010. Updated build script to use embedded libssh2 for docker builds. Removed libssh2 lfs archives. * Updated build script, dockerfiles, appveyor cfg * Updated dockerfiles * Updated CI cfgs * Updated docs configuration * Added zlib * Updated changelog
1 parent e58f3ad commit 0009e7c

File tree

263 files changed

+73708
-79
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

263 files changed

+73708
-79
lines changed

.appveyor.yml

+15-5
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ build:
1919
verbosity: minimal
2020
skip_branch_with_pr: true
2121
image: Visual Studio 2019
22+
clone_script: echo Skip AppVeyor Clone
2223

2324
environment:
2425
global:
@@ -32,7 +33,7 @@ environment:
3233
PYTHON_DEF: "C:\\Python38-x64"
3334
PYTHON_VERSION: "3.8"
3435
# Python versions to build wheels for
35-
PYTHONVERS: C:\Python38-x64 C:\Python39-x64 C:\Python310-x64 C:\Python311-x64 C:\Python312-x64
36+
PYTHONVERS: C:\Python37-x64 C:\Python38-x64 C:\Python39-x64 C:\Python310-x64 C:\Python311-x64 C:\Python312-x64 C:\Python313-x64
3637
PYTHON_ARCH: "64"
3738
MSVC: "Visual Studio 16 2019"
3839

@@ -46,11 +47,21 @@ install:
4647
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
4748
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
4849
throw "There are newer queued builds for this pull request, failing early." }
50+
51+
# Git checkout
52+
- git config --global filter.lfs.smudge "git-lfs smudge --skip -- %f"
53+
- git config --global filter.lfs.process "git-lfs filter-process --skip"
54+
- git init %APPVEYOR_BUILD_FOLDER%
55+
- cd %APPVEYOR_BUILD_FOLDER%
56+
- git remote add origin https://github.com/%APPVEYOR_REPO_NAME%.git
57+
- git fetch -q origin %APPVEYOR_REPO_COMMIT%
58+
- git fetch --tags
59+
- git checkout -qf %APPVEYOR_REPO_COMMIT%
60+
4961
- set OPENSSL_DIR="C:\OpenSSL-v34-Win64"
5062
- set VCLIBDIR=%WINDIR%\System32
51-
- cp %VCLIBDIR%/vcruntime*.dll ssh2/
52-
- cp %VCLIBDIR%/msvcp*.dll ssh2/
53-
- cp %VCLIBDIR%/msvcr*.dll ssh2/
63+
- cp %VCLIBDIR%/vcruntime140.dll ssh2/
64+
- cp %VCLIBDIR%/msvcr120.dll ssh2/
5465
- cp %OPENSSL_DIR%/bin/*.dll ssh2/
5566
- ps: ls ssh2/*.dll
5667

@@ -63,7 +74,6 @@ install:
6374
# do not cause a version change.
6475
- "%PYTHON_DEF%\\python.exe ci/appveyor/fix_version.py ."
6576
- mv -f .git .git.bak
66-
- 7z x ci\appveyor\zlib1211.zip
6777

6878
build_script:
6979
- dir %OPENSSL_DIR%\lib\VC\x64\MD\

.circleci/config.yml

+13-11
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
set -x
4444
ls -lhtr ssh2/
4545
pwd
46-
python -m pytest tests
46+
python -m pytest --junit-xml=results.xml tests
4747
name: Test
4848
- run:
4949
command: |
@@ -64,6 +64,8 @@ jobs:
6464
make html
6565
cd ..
6666
name: Docs
67+
- store_test_results:
68+
path: results.xml
6769

6870
osx:
6971
parameters:
@@ -79,7 +81,9 @@ jobs:
7981
- run:
8082
name: deps
8183
command: |
82-
brew install cmake git-lfs python libssh2
84+
set -x
85+
export HOMEBREW_NO_INSTALL_CLEANUP=1
86+
brew install cmake python libssh2
8387
brew link --force openssl
8488
brew link --force libssh2
8589
pip3 install twine
@@ -93,20 +97,15 @@ jobs:
9397
- run:
9498
name: Upload Wheel
9599
command: |
96-
twine upload --skip-existing -u $PYPI_USER -p $PYPI_PASSWORD wheels/*
100+
if [[ ! -z "$CIRCLE_TAG" ]]; then
101+
twine upload --skip-existing -u $PYPI_USER -p $PYPI_PASSWORD wheels/*
102+
fi
97103
98104
manylinux-x86_64:
99105
machine:
100106
image: ubuntu-2004:current
101107
steps: &manylinux-steps
102108
- checkout
103-
- run:
104-
name: Git LFS
105-
command: |
106-
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
107-
sudo apt-get install git-lfs
108-
git lfs install
109-
git lfs pull
110109
- run:
111110
name: Deps
112111
command: |
@@ -118,6 +117,7 @@ jobs:
118117
- run:
119118
name: Build Wheels
120119
command: |
120+
export LIBSSH2_VERSION=1.11.1
121121
if [[ -z "${CIRCLE_PULL_REQUEST}" ]]; then
122122
echo "$DOCKER_PASSWORD" | docker login -u="$DOCKER_USERNAME" --password-stdin;
123123
fi
@@ -130,7 +130,9 @@ jobs:
130130
- run:
131131
name: Upload Wheels
132132
command: |
133-
twine upload --skip-existing -u $PYPI_USER -p $PYPI_PASSWORD dist/* wheelhouse/*
133+
if [[ ! -z "$CIRCLE_TAG" ]]; then
134+
twine upload --skip-existing -u $PYPI_USER -p $PYPI_PASSWORD dist/* wheelhouse/*
135+
fi
134136
135137
manylinux2014-aarch64:
136138
machine:

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ zlib1211.zip filter=lfs diff=lfs merge=lfs -text
77
ci/docker/manylinux/libssh2.tar.gz filter=lfs diff=lfs merge=lfs -text
88
ci/docker/manylinux/cmake-2.8.11.1-5.4.x86_64.rpm filter=lfs diff=lfs merge=lfs -text
99
ssh2/_version.py export-subst
10+
*.xz filter=lfs diff=lfs merge=lfs -text

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@ wheelhouse
1010
ssh2/libssh2.so*
1111
doc/_build
1212
venv
13+
ci/docker/manylinux/*.gz
14+
results.xml

.readthedocs.yml

+6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
version: 2
22
build:
3+
os: ubuntu-24.04
4+
tools:
5+
python: "3"
36
apt_packages:
47
- cmake
58
- openssl
9+
sphinx:
10+
configuration: doc/conf.py
611
python:
712
install:
13+
- requirements: doc/requirements.txt
814
- method: pip
915
path: .

Changelog.rst

+18-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,24 @@
11
Change Log
22
=============
33

4-
1.1.0
4+
1.1.2
5+
++++++
6+
7+
Changes
8+
--------
9+
10+
No code changes.
11+
12+
13+
Packaging
14+
----------
15+
16+
* Added Windows Python 3.7 and 3.13 wheel builds.
17+
* Removed manylinux 2010 wheels.
18+
* Wheel builds now use embedded libssh and zlib.
19+
* Dockerfiles and scripts updates.
20+
21+
1.1.1
522
+++++
623

724
Changes

_setup_libssh2.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ def build_ssh2():
3636
os.chdir('build_dir')
3737
check_call('cmake ../libssh2 -DBUILD_SHARED_LIBS=ON \
3838
-DENABLE_ZLIB_COMPRESSION=ON -DENABLE_CRYPT_NONE=ON \
39-
-DENABLE_MAC_NONE=ON -DCRYPTO_BACKEND=OpenSSL',
39+
-DENABLE_MAC_NONE=ON -DCRYPTO_BACKEND=OpenSSL \
40+
-DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF',
4041
shell=True, env=os.environ)
4142
check_call('cmake --build . --config Release', shell=True, env=os.environ)
4243
os.chdir('..')

ci/appveyor/zlib1211.zip

-3
This file was deleted.

ci/build-manylinux.sh

+5-1
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,12 @@
1515
# License along with this library; if not, write to the Free Software
1616
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1717

18+
tar -czf ci/docker/manylinux/libssh2-${LIBSSH2_VERSION}.tar.gz libssh2
19+
1820
docker_tag="parallelssh/ssh2-manylinux"
19-
docker_files=("ci/docker/manylinux/Dockerfile" "ci/docker/manylinux/Dockerfile.2014_x86_64")
21+
docker_files=(
22+
"ci/docker/manylinux/Dockerfile.2014_x86_64"
23+
)
2024

2125
rm -rf build ssh2/libssh2.* ssh2/*.so
2226
python ci/appveyor/fix_version.py .

ci/docker/manylinux/Dockerfile

-42
This file was deleted.

ci/docker/manylinux/Dockerfile.2014_x86_64

+6-5
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1616
FROM quay.io/pypa/manylinux2014_x86_64
1717

18-
ENV OPENSSL openssl-3.4.0
19-
ENV SYSTEM_LIBSSH2 1
20-
ENV LIBSSH2_VERSION 1.11.1
18+
ENV OPENSSL=openssl-3.4.0
19+
ENV SYSTEM_LIBSSH2=1
20+
ENV LIBSSH2_VERSION=1.11.1
2121

2222
RUN yum install zlib-devel perl-IPC-Cmd -y
2323

@@ -32,9 +32,10 @@ RUN cd ${OPENSSL} && \
3232

3333
# Libssh2
3434
RUN mkdir -p build_libssh2 && cd build_libssh2 && \
35-
cmake ../libssh2-${LIBSSH2_VERSION}.tar.gz/libssh2-${LIBSSH2_VERSION} \
35+
cmake ../libssh2-${LIBSSH2_VERSION}.tar.gz/libssh2 \
3636
-DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON \
37-
-DENABLE_CRYPT_NONE=ON -DENABLE_MAC_NONE=ON -DCMAKE_INSTALL_PREFIX=/usr && \
37+
-DENABLE_CRYPT_NONE=ON -DENABLE_MAC_NONE=ON -DCMAKE_INSTALL_PREFIX=/usr \
38+
-DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF && \
3839
cmake --build . --config Release --target install
3940

4041
RUN rm -rf ${OPENSSL}* build_libssh2 libssh2.tar.gz

ci/docker/manylinux/Dockerfile.aarch64

+6-5
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1616
FROM quay.io/pypa/manylinux2014_aarch64
1717

18-
ENV OPENSSL openssl-3.4.0
19-
ENV SYSTEM_LIBSSH2 1
20-
ENV LIBSSH2_VERSION 1.11.1
18+
ENV OPENSSL=openssl-3.4.0
19+
ENV SYSTEM_LIBSSH2=1
20+
ENV LIBSSH2_VERSION=1.11.1
2121

2222
RUN yum install zlib-devel perl-IPC-Cmd -y
2323

@@ -32,9 +32,10 @@ RUN cd ${OPENSSL} && \
3232

3333
# Libssh2
3434
RUN mkdir -p build_libssh2 && cd build_libssh2 && \
35-
cmake ../libssh2-${LIBSSH2_VERSION}.tar.gz/libssh2-${LIBSSH2_VERSION} \
35+
cmake ../libssh2-${LIBSSH2_VERSION}.tar.gz/libssh2 \
3636
-DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON \
37-
-DENABLE_CRYPT_NONE=ON -DENABLE_MAC_NONE=ON -DCMAKE_INSTALL_PREFIX=/usr && \
37+
-DENABLE_CRYPT_NONE=ON -DENABLE_MAC_NONE=ON -DCMAKE_INSTALL_PREFIX=/usr \
38+
-DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF && \
3839
cmake --build . --config Release --target install
3940

4041
RUN rm -rf ${OPENSSL}* build_libssh2 libssh2.tar.gz

ci/docker/manylinux/libssh2-1.11.1.tar.gz

-3
This file was deleted.

doc/requirements.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
sphinx
2+
sphinx_rtd_theme

requirements_dev.txt

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
cython
22
flake8
33
jinja2
4-
sphinx
5-
sphinx_rtd_theme
64
pytest
75
pytest-rerunfailures
6+
-r doc/requirements.txt

0 commit comments

Comments
 (0)