Skip to content

Commit

Permalink
Try new cibuildwheel (#402)
Browse files Browse the repository at this point in the history
* use new cibuildwheel & install perl-ipc-cmd

* update openssl

* update requirements

* updates for cython

* add noexcepts

* support openssl3 linking

* adding additional configuration for python313 in the build yml

* now enable py313 in livetests

* remove maxParallel and comment out everything other than py312/313

* rest maxParallel back to 1

* run only linux tests

* run only macos tests

* pin macos-13

* pin macos-12

* comment original mac job, just livetests

* uncomment macos, comment tests

* target non SSL proxy url to get passed these wonky issues

* update to use latest cibuildwheel and pyver

* update pyver key

* remove the call to install_python_version. unpin the patch version of python 3.13

---------

Co-authored-by: Scott Beddall <[email protected]>
  • Loading branch information
kashifkhan and scbedd authored Oct 22, 2024
1 parent b726a52 commit 5346212
Show file tree
Hide file tree
Showing 13 changed files with 93 additions and 271 deletions.
74 changes: 37 additions & 37 deletions .azure-pipelines/client.test.live.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ variables:
PythonVersion310: '3.10'
PythonVersion311: '3.11'
PythonVersion312: '3.12'
PythonVersion313: '3.13'
GetPip: 'https://bootstrap.pypa.io/get-pip.py'

jobs:
Expand Down Expand Up @@ -45,7 +46,11 @@ jobs:
PythonArchitecture: 'x64'
PythonVersion: '$(PythonVersion312)'
BWFilter: 'cp312-win_amd64'

x64 Python 3.13:
PythonArchitecture: 'x64'
PythonVersion: '$(PythonVersion313)'
BWFilter: 'cp313-win_amd64'

steps:
- template: /.azure-pipelines/use-python-version.yml
parameters:
Expand All @@ -60,7 +65,7 @@ jobs:
displayName: 'Install dependencies'
env:
PYTHONWARNINGS: ignore:DEPRECATION
- pwsh: |
Invoke-WebRequest "$(VS_INSTALLER_URL)" -OutFile "$(VS_INSTALLER_PATH)"
# In order of component appearance in the install command below, these are the names of the components
Expand All @@ -80,11 +85,11 @@ jobs:
--add Microsoft.VisualStudio.Workload.NativeDesktop `
--quiet --wait --norestart
displayName: Install build script requirements
- script: |
call "$(VS_ENTERPRISE_PATH)\VC\Auxiliary\Build\vcvars64.bat"
python -m pip install cibuildwheel==2.16.2
displayName: Install cibuildwheel 2.16.2
python -m pip install cibuildwheel==2.21.3
displayName: Install cibuildwheel 2.21.3
- pwsh: |
cibuildwheel --output-dir dist .
Expand Down Expand Up @@ -135,7 +140,7 @@ jobs:
dependsOn: 'Windows'

pool:
vmImage: 'macos-latest'
vmImage: 'macos-12'

strategy:
maxParallel: 1
Expand All @@ -160,7 +165,10 @@ jobs:
PythonBin: 'python3'
PythonVersion: '$(PythonVersion312)'
BWFilter: 'cp312-macosx_x86_64'

Python 3.13:
PythonBin: 'python3'
PythonVersion: '$(PythonVersion313)'
BWFilter: 'cp313-macosx_x86_64'
variables:
MacOSXDeploymentTarget: '10.9'
OpenSSLDir: $(Agent.BuildDirectory)/openssl-macosx$(MacOSXDeploymentTarget)
Expand All @@ -169,6 +177,7 @@ jobs:
PythonVersion310: '3.10'
PythonVersion311: '3.11'
PythonVersion312: '3.12'
PythonVersion313: '3.13'

steps:
- task: DownloadPipelineArtifact@1
Expand All @@ -192,11 +201,11 @@ jobs:
python -m pip --version
python -m pip install --user -r dev_requirements.txt
displayName: 'Install dependencies'
- bash: |
set -o errexit
python -m pip install cibuildwheel==2.16.2 --force
displayName: Install cibuildwheel 2.16.2
python -m pip install cibuildwheel==2.21.3 --force
displayName: Install cibuildwheel 2.21.3
- pwsh: |
cibuildwheel --output-dir dist .
Expand Down Expand Up @@ -276,6 +285,9 @@ jobs:
Python 3.12:
PythonVersion: '$(PythonVersion312)'
BWFilter: 'cp312-manylinux_x86_64'
Python 3.13:
PythonVersion: '$(PythonVersion313)'
BWFilter: 'cp313-manylinux_x86_64'

steps:
- template: /.azure-pipelines/use-python-version.yml
Expand All @@ -298,17 +310,17 @@ jobs:
- bash: |
set -o errexit
python -m pip install cibuildwheel==2.16.2
displayName: Install cibuildwheel 2.16.2
python -m pip install cibuildwheel==2.21.3
displayName: Install cibuildwheel 2.21.3
- pwsh: |
cibuildwheel --output-dir dist .
displayName: 'Build uAMQP Wheel'
env:
CIBW_BUILD: $(BWFilter)
CIBW_PRERELEASE_PYTHONS: True
CIBW_BEFORE_BUILD_LINUX: bash utils/install_openssl.sh
CIBW_ENVIRONMENT_LINUX: OPENSSL_ROOT_DIR="/opt/pyca/cryptography/openssl" LIBRARY_PATH="/opt/pyca/cryptography/openssl/lib" CPATH="/opt/pyca/cryptography/openssl/include" CIBW_ARCHS_LINUX="x86_64"
CIBW_BEFORE_BUILD_LINUX: yum -y install perl-IPC-Cmd && bash utils/install_openssl.sh
CIBW_ENVIRONMENT_LINUX: OPENSSL_ROOT_DIR="/opt/pyca/cryptography/openssl" LIBRARY_PATH="/opt/pyca/cryptography/openssl/lib64" CPATH="/opt/pyca/cryptography/openssl/include" UAMQP_REBUILD_PYX="True"
- script: ls ./dist
displayName: 'Check output'
Expand Down Expand Up @@ -353,18 +365,12 @@ jobs:
vmImage: windows-2022
strategy:
matrix:
EventHub x64 Python 3.8:
PythonVersion: '$(PythonVersion38)'
SDK: 'EventHub'
EventHub x64 Python 3.12:
PythonVersion: '$(PythonVersion312)'
SDK: 'EventHub'
ServiceBus x64 Python 3.8:
PythonVersion: '$(PythonVersion38)'
SDK: 'ServiceBus'
ServiceBus x64 Python 3.12:
PythonVersion: '$(PythonVersion312)'
SDK: 'ServiceBus'
ServiceBus x64 Python 3.13:
PythonVersion: '$(PythonVersion313)'
SDK: 'ServiceBus'
variables:
PythonArchitecture: 'x64'
OSArch: 'Windows'
Expand All @@ -381,16 +387,16 @@ jobs:
dependsOn: 'MacOS'
pool:
name: 'Azure Pipelines'
vmImage: 'macos-latest'
vmImage: 'macos-12'
strategy:
matrix:
EventHub Python 3.12:
SDK: 'EventHub'
ServiceBus Python 3.12:
Eventhub Python 3.13:
SDK: 'Eventhub'
ServiceBus Python 3.13:
SDK: 'ServiceBus'
variables:
PythonBin: 'python3'
PythonVersion: '3.12'
PythonVersion: '3.13'
MacOSXDeploymentTarget: '10.9'
OSArch: 'MacOS'
DownloadArtifactFolder: 'uamqp-macosx$(MacOSXDeploymentTarget)-$(PythonVersion)-whl'
Expand All @@ -408,18 +414,12 @@ jobs:
vmImage: 'ubuntu-20.04'
strategy:
matrix:
EventHub Python 3.9:
PythonVersion: '$(PythonVersion39)'
SDK: 'EventHub'
EventHub Python 3.12:
PythonVersion: '$(PythonVersion312)'
SDK: 'EventHub'
ServiceBus Python 3.9:
PythonVersion: '$(PythonVersion39)'
SDK: 'ServiceBus'
ServiceBus Python 3.12:
PythonVersion: '$(PythonVersion312)'
SDK: 'ServiceBus'
ServiceBus Python 3.13:
PythonVersion: '$(PythonVersion313)'
SDK: 'ServiceBus'
variables:
OSArch: 'Linux'
DownloadArtifactFolder: 'uamqp-linux-$(PythonVersion)-whl'
Expand Down
71 changes: 36 additions & 35 deletions .azure-pipelines/client.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
trigger:
- main

variables:
PythonVersion38: '3.8'
PythonVersion39: '3.9'
PythonVersion310: '3.10'
PythonVersion311: '3.11'
PythonVersion312: '3.12'
PythonVersion313: '3.13'
GetPip: 'https://bootstrap.pypa.io/get-pip.py'


Expand Down Expand Up @@ -83,6 +84,10 @@ extends:
PythonBin: 'python3'
PythonVersion: '$(PythonVersion312)'
BWFilter: 'cp312-*'
Python 3.13:
PythonBin: 'python3'
PythonVersion: '$(PythonVersion313)'
BWFilter: 'cp313-*'

variables:
MacOSXDeploymentTarget: '10.9'
Expand All @@ -92,6 +97,7 @@ extends:
PythonVersion310: '3.10'
PythonVersion311: '3.11'
PythonVersion312: '3.12'
PythonVersion313: '3.13'

steps:
- task: DownloadPipelineArtifact@1
Expand Down Expand Up @@ -121,8 +127,8 @@ extends:
- bash: |
set -o errexit
python -m pip install cibuildwheel==2.16.2 --force
displayName: Install cibuildwheel 2.16.2
python -m pip install cibuildwheel==2.21.3 --force
displayName: Install cibuildwheel 2.21.3
- pwsh: |
cibuildwheel --output-dir dist .
Expand Down Expand Up @@ -189,26 +195,10 @@ extends:
PythonArchitecture: 'x64'
PythonVersion: '$(PythonVersion312)'
BWFilter: 'cp312-win_amd64'
x86 Python 3.8:
PythonArchitecture: 'x86'
PythonVersion: '$(PythonVersion38)'
BWFilter: 'cp38-win32'
x86 Python 3.9:
PythonArchitecture: 'x86'
PythonVersion: '$(PythonVersion39)'
BWFilter: 'cp39-win32'
x86 Python 3.10:
PythonArchitecture: 'x86'
PythonVersion: '$(PythonVersion310)'
BWFilter: 'cp310-win32'
x86 Python 3.11:
PythonArchitecture: 'x86'
PythonVersion: '$(PythonVersion311)'
BWFilter: 'cp311-win32'
x86 Python 3.12:
PythonArchitecture: 'x86'
PythonVersion: '$(PythonVersion312)'
BWFilter: 'cp312-win32'
x64 Python 3.13:
PythonArchitecture: 'x64'
PythonVersion: '$(PythonVersion313)'
BWFilter: 'cp313-win_amd64'

steps:
- pwsh: |
Expand Down Expand Up @@ -251,8 +241,8 @@ extends:
- script: |
call "$(VS_ENTERPRISE_PATH)\VC\Auxiliary\Build\vcvars64.bat"
python -m pip install cibuildwheel==2.16.2
displayName: Install cibuildwheel 2.16.2
python -m pip install cibuildwheel==2.21.3
displayName: Install cibuildwheel 2.21.3
- pwsh: |
cibuildwheel --output-dir dist .
Expand Down Expand Up @@ -316,6 +306,9 @@ extends:
Python 3.12:
PythonVersion: '$(PythonVersion312)'
BWFilter: 'cp312-*'
Python 3.13:
PythonVersion: '$(PythonVersion313)'
BWFilter: 'cp313-*'

steps:
- template: /.azure-pipelines/use-python-version.yml
Expand All @@ -338,17 +331,17 @@ extends:
- bash: |
set -o errexit
python -m pip install cibuildwheel==2.16.2
displayName: Install cibuildwheel 2.16.2
python -m pip install cibuildwheel==2.21.3
displayName: Install cibuildwheel 2.21.3
- pwsh: |
cibuildwheel --output-dir dist .
displayName: 'Build uAMQP Wheel'
env:
CIBW_BUILD: $(BWFilter)
CIBW_PRERELEASE_PYTHONS: True
CIBW_BEFORE_BUILD_LINUX: bash utils/install_openssl.sh
CIBW_ENVIRONMENT_LINUX: OPENSSL_ROOT_DIR="/opt/pyca/cryptography/openssl" LIBRARY_PATH="/opt/pyca/cryptography/openssl/lib" CPATH="/opt/pyca/cryptography/openssl/include" CIBW_ARCHS_LINUX="x86_64"
CIBW_BEFORE_BUILD_LINUX: yum -y install perl-IPC-Cmd && bash utils/install_openssl.sh
CIBW_ENVIRONMENT_LINUX: OPENSSL_ROOT_DIR="/opt/pyca/cryptography/openssl" LIBRARY_PATH="/opt/pyca/cryptography/openssl/lib64" CPATH="/opt/pyca/cryptography/openssl/include" UAMQP_REBUILD_PYX="True"
- script: ls ./dist
displayName: 'Check output'
Expand Down Expand Up @@ -404,6 +397,10 @@ extends:
PythonVersion: '$(PythonVersion312)'
Platform: 'manylinux2014_x86_64'
BWFilter: 'cp312-*'
Python313-manylinux2014:
PythonVersion: '$(PythonVersion313)'
Platform: 'manylinux2014_x86_64'
BWFilter: 'cp313-*'

steps:
- template: /.azure-pipelines/use-python-version.yml
Expand All @@ -426,17 +423,17 @@ extends:
- bash: |
set -o errexit
python -m pip install cibuildwheel==2.16.2
displayName: Install cibuildwheel 2.16.2
python -m pip install cibuildwheel==2.21.3
displayName: Install cibuildwheel 2.21.3
- pwsh: |
cibuildwheel --output-dir dist .
displayName: 'Build uAMQP Wheel'
env:
CIBW_BUILD: $(BWFilter)
CIBW_PRERELEASE_PYTHONS: True
CIBW_BEFORE_BUILD_LINUX: bash utils/install_openssl.sh
CIBW_ENVIRONMENT_LINUX: OPENSSL_ROOT_DIR="/opt/pyca/cryptography/openssl" LIBRARY_PATH="/opt/pyca/cryptography/openssl/lib" CPATH="/opt/pyca/cryptography/openssl/include" CIBW_ARCHS_LINUX="x86_64"
CIBW_BEFORE_BUILD_LINUX: yum -y install perl-IPC-Cmd && bash utils/install_openssl.sh
CIBW_ENVIRONMENT_LINUX: OPENSSL_ROOT_DIR="/opt/pyca/cryptography/openssl" LIBRARY_PATH="/opt/pyca/cryptography/openssl/lib64" CPATH="/opt/pyca/cryptography/openssl/include" UAMQP_REBUILD_PYX="True"
CIBW_MANYLINUX_*_IMAGE: manylinux2014
- script: ls ./dist
Expand Down Expand Up @@ -480,33 +477,37 @@ extends:

- template: /.azure-pipelines/templates/steps/download-targeted-artifacts.yml
parameters:
ArtifactList:
ArtifactList:
- 'uamqp-sdist'
- 'uamqp-linux-3.8-whl'
- 'uamqp-linux-3.9-whl'
- 'uamqp-linux-3.10-whl'
- 'uamqp-linux-3.11-whl'
- 'uamqp-linux-3.12-whl'
- 'uamqp-linux-3.13-whl'
- 'uamqp-macosx10.9-3.8-whl'
- 'uamqp-macosx10.9-3.9-whl'
- 'uamqp-macosx10.9-3.10-whl'
- 'uamqp-macosx10.9-3.11-whl'
- 'uamqp-macosx10.9-3.12-whl'
- 'uamqp-macosx10.9-3.13.-whl'
- 'uamqp-manylinux2014_x86_64-3.8-x64-whl'
- 'uamqp-manylinux2014_x86_64-3.9-x64-whl'
- 'uamqp-manylinux2014_x86_64-3.10-x64-whl'
- 'uamqp-manylinux2014_x86_64-3.11-x64-whl'
- 'uamqp-manylinux2014_x86_64-3.12-x64-whl'
- 'uamqp-manylinux2014_x86_64-3.13-x64-whl'
- 'uamqp-winx64-3.8-whl'
- 'uamqp-winx64-3.9-whl'
- 'uamqp-winx64-3.10-whl'
- 'uamqp-winx64-3.11-whl'
- 'uamqp-winx64-3.12-whl'
- 'uamqp-winx64-3.13-whl'
- 'uamqp-winx86-3.8-whl'
- 'uamqp-winx86-3.9-whl'
- 'uamqp-winx86-3.10-whl'
- 'uamqp-winx86-3.11-whl'
- 'uamqp-winx86-3.12-whl'
- 'uamqp-winx86-3.13-whl'

- pwsh: |
$root = "$(Pipeline.Workspace)"
Expand Down
Loading

0 comments on commit 5346212

Please sign in to comment.