From 1b63e9d46192eb5b1f5f59f96240c525b4bc5c36 Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Fri, 31 May 2024 14:39:51 -0700 Subject: [PATCH 01/25] this should work now --- .azure-pipelines/client.yml | 35 ++++++++++++++++++- .../steps/download-targeted-artifacts.yml | 8 +++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .azure-pipelines/templates/steps/download-targeted-artifacts.yml diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index bd182399..9c242bd1 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -14,7 +14,7 @@ extends: template: /.azure-pipelines/templates/stages/1es-redirect.yml parameters: stages: - - stage: + - stage: Build_and_Test displayName: 'Build and Test' variables: - template: /.azure-pipelines/templates/variables/image.yml @@ -460,3 +460,36 @@ extends: testResultsFiles: '**/test-results-*.xml' testResultsFormat: 'JUnit' testRunTitle: 'ManyLinux2014 Python $(PythonVersion)' + + - stage: Release + dependsOn: Build_and_Test + + jobs: + - deployment: Publish + environment: 'package-publish' + pool: + name: azsdk-pool-mms-ubuntu-2004-general + image: azsdk-pool-mms-ubuntu-2004-1espt + os: linux + + strategy: + runOnce: + deploy: + steps: + - checkout: self + + - template: /.azure-pipelines/templates/steps/download-targeted-artifacts.yml + parameters: + ArtifactList: + - 'uamqp-sdist' + # - 'uamqp-manylinux2014_x86_64-3.9-x64-whl' + # - 'uamqp-winx86-3.9-whl' + + - pwsh: | + Write-Host "Will deploy with tag of $(Tag)" + Get-ChildItem "$(Pipeline.Workspace)/drop" -Recurse -Force ` + | Where-Object { $_.Name -like "*.tgz" } ` + | Copy-Item -Destination "$(Build.ArtifactStagingDirectory)" + + Get-ChildItem "$(Build.ArtifactStagingDirectory)" -Recurse -Force | % { Write-Host $_.FullName } + displayName: Move artifact to $(Build.ArtifactStagingDirectory) diff --git a/.azure-pipelines/templates/steps/download-targeted-artifacts.yml b/.azure-pipelines/templates/steps/download-targeted-artifacts.yml new file mode 100644 index 00000000..0e780742 --- /dev/null +++ b/.azure-pipelines/templates/steps/download-targeted-artifacts.yml @@ -0,0 +1,8 @@ +parameters: + ArtifactList: [] + +steps: + ${{ for artifact in parameters.ArtifactList }}: + - download: current + artifact: ${{ artifact }} + timeoutInMinutes: 5 \ No newline at end of file From 403ccb60edd7b9a1cf73b3fdc6e13786050feb3f Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Fri, 31 May 2024 14:40:36 -0700 Subject: [PATCH 02/25] disable everything other than the sdist so we can check the artifact download workings --- .azure-pipelines/client.yml | 814 ++++++++++++++++++------------------ 1 file changed, 407 insertions(+), 407 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 9c242bd1..d1504d2a 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -54,412 +54,412 @@ extends: ArtifactName: uamqp-sdist ArtifactPath: 'dist' - - job: 'MacOS' - - pool: - name: $(MACPOOL) - vmImage: $(MACVMIMAGE) - os: macOS - - strategy: - matrix: - Python 3.8: - PythonBin: 'python3' - PythonVersion: '$(PythonVersion38)' - BWFilter: 'cp38-*' - Python 3.9: - PythonBin: 'python3' - PythonVersion: '$(PythonVersion39)' - BWFilter: 'cp39-*' - Python 3.10: - PythonBin: 'python3' - PythonVersion: '$(PythonVersion310)' - BWFilter: 'cp310-*' - Python 3.11: - PythonBin: 'python3' - PythonVersion: '$(PythonVersion311)' - BWFilter: 'cp311-*' - Python 3.12: - PythonBin: 'python3' - PythonVersion: '$(PythonVersion312)' - BWFilter: 'cp312-*' - - variables: - MacOSXDeploymentTarget: '10.9' - OpenSSLDir: $(Agent.BuildDirectory)/openssl-macosx$(MacOSXDeploymentTarget) - PythonVersion38: '3.8' - PythonVersion39: '3.9' - PythonVersion310: '3.10' - PythonVersion311: '3.11' - PythonVersion312: '3.12' - - steps: - - task: DownloadPipelineArtifact@1 - displayName: 'Download OpenSSL artifact' - inputs: - artifactName: openssl-macosx$(MacOSXDeploymentTarget) - buildType: specific - buildVersionToDownload: latest - downloadPath: $(Agent.BuildDirectory) - pipeline: 119 # azure-uamqp-python - openssl - project: '29ec6040-b234-4e31-b139-33dc4287b756' # public - - - script: sudo ls /Applications/ - displayName: 'List All apps' - - - script: sudo xcode-select --switch /Applications/Xcode_13.1.app - displayName: 'Select Xcode 13.1' - - - template: /.azure-pipelines/use-python-version.yml - parameters: - versionSpec: '$(PythonVersion)' - - - script: | - 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 - - - pwsh: | - cibuildwheel --output-dir dist . - displayName: 'Build uAMQP Wheel' - env: - CIBW_PRERELEASE_PYTHONS: True - CIBW_ARCHS_MACOS: x86_64 - CIBW_BUILD: $(BWFilter) - - - script: ls ./dist - displayName: 'Check output' - - - script: | - python -m pip install --ignore-installed ./dist/*.whl - python -m pip install pytest==6.2.4 --force - python -m pip install pytest-asyncio==0.12.0 --force - pytest tests --doctest-modules --junitxml=junit/test-results-c.xml - pytest samples --doctest-modules --junitxml=junit/test-results-live.xml - displayName: 'Run tests' - - - task: PublishTestResults@2 - displayName: 'Publish test results' - condition: succeededOrFailed() - inputs: - testResultsFiles: '**/test-results-*.xml' - testResultsFormat: 'JUnit' - testRunTitle: 'MacOS Python $(PythonVersion)' - - - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml - parameters: - ArtifactName: uamqp-macosx$(MacOSXDeploymentTarget)-$(PythonVersion)-whl - ArtifactPath: 'dist' - - - job: 'Windows' - - pool: - name: $(WINDOWSPOOL) - image: $(WINDOWSVMIMAGE) - os: windows - variables: - VS_INSTALLER_URL: "https://aka.ms/vs/17/release/vs_enterprise.exe" - VS_INSTALLER_PATH: "$(Build.BinariesDirectory)/vs_enterprise.exe" - VS_ENTERPRISE_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise" - - strategy: - matrix: - x64 Python 3.8: - PythonArchitecture: 'x64' - PythonVersion: '$(PythonVersion38)' - BWFilter: 'cp38-win_amd64' - x64 Python 3.9: - PythonArchitecture: 'x64' - PythonVersion: '$(PythonVersion39)' - BWFilter: 'cp39-win_amd64' - x64 Python 3.10: - PythonArchitecture: 'x64' - PythonVersion: '$(PythonVersion310)' - BWFilter: 'cp310-win_amd64' - x64 Python 3.11: - PythonArchitecture: 'x64' - PythonVersion: '$(PythonVersion311)' - BWFilter: 'cp311-win_amd64' - x64 Python 3.12: - 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' - - steps: - - pwsh: | - Get-ChildItem -Path C:/1ESPT/Python -Recurse | % { Write-Host $_.FullName } - displayName: Dump 1ES Folder Before Build Work - - - template: /.azure-pipelines/use-python-version.yml - parameters: - architecture: '$(PythonArchitecture)' - versionSpec: '$(PythonVersion)' - - - powershell: | - python --version - Invoke-WebRequest -UseBasicParsing -Uri $(GetPip) | Select-Object -ExpandProperty Content | python - python -m pip --version - python -m pip install -r dev_requirements.txt - 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 - # as they in the VS Installer UI. (What you would do locally.) - # C# and Visual Basic Roslyn Compilers (components pane) - # C++ 2022 Redistributable Update (components pane) - # C++ CMake tools for Windows (components pane) - # MSBuild (components pane) - # MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest) (components pane) - # Native Desktop Workload (workloads pane) - $(VS_INSTALLER_PATH) --installPath $(VS_ENTERPRISE_PATH) ` - --add Microsoft.VisualStudio.Component.Roslyn.Compiler ` - --add Microsoft.VisualStudio.Component.VC.Redist.14.Latest ` - --add Microsoft.VisualStudio.Component.VC.CMake.Project ` - --add Microsoft.Component.MSBuild ` - --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 ` - --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 - - - pwsh: | - cibuildwheel --output-dir dist . - displayName: 'Build uAMQP Wheel' - env: - CIBW_PRERELEASE_PYTHONS: True - CIBW_BUILD: $(BWFilter) - - - script: dir dist - displayName: 'Check output' - - - powershell: | - $whlfile = Get-ChildItem -Filter *.whl dist | Select-Object -First 1 -ExpandProperty Name - python -m pip install --ignore-installed ./dist/$whlfile - pytest tests --doctest-modules --junitxml=junit/test-results-c.xml - pytest samples --doctest-modules --junitxml=junit/test-results-live.xml - displayName: 'Run tests' - - - task: PublishTestResults@2 - displayName: 'Publish test results' - condition: succeededOrFailed() - inputs: - testResultsFiles: '**/test-results-*.xml' - testResultsFormat: 'JUnit' - testRunTitle: 'Windows $(PythonArchitecture) Python $(PythonVersion)' - - - pwsh: | - Remove-Item -Path build/ -Recurse -Force - displayName: Cleanup Compiler Artifacts - - - pwsh: | - Get-ChildItem -Path C:/1ESPT/Python -Recurse | % { Write-Host $_.FullName } - displayName: Dump 1ES Folder After Build Work - - - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml - parameters: - ArtifactName: uamqp-win$(PythonArchitecture)-$(PythonVersion)-whl - ArtifactPath: 'dist' - - - job: 'Linux' - - pool: - name: $(LINUXPOOL) - image: $(LINUXVMIMAGE) - os: linux - - strategy: - matrix: - Python 3.8: - PythonVersion: '$(PythonVersion38)' - BWFilter: 'cp38-*' - Python 3.9: - PythonVersion: '$(PythonVersion39)' - BWFilter: 'cp39-*' - Python 3.10: - PythonVersion: '$(PythonVersion310)' - BWFilter: 'cp310-*' - Python 3.11: - PythonVersion: '$(PythonVersion311)' - BWFilter: 'cp311-*' - Python 3.12: - PythonVersion: '$(PythonVersion312)' - BWFilter: 'cp312-*' - - steps: - - template: /.azure-pipelines/use-python-version.yml - parameters: - versionSpec: '$(PythonVersion)' - - - script: | - echo "Prepending PATH environment variable with directory: $HOME/.local/bin" - echo "##vso[task.prependpath]$HOME/.local/bin" - displayName: 'Prepare PATH' - - - script: | - python --version - curl -sS $(GetPip) | python - --user - python -m pip --version - python -m pip install setuptools --force - curl -LO http://archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb && sudo dpkg -i libffi6_3.2.1-8_amd64.deb - python -m pip install --user -r dev_requirements.txt - displayName: 'Install dependencies' - - - bash: | - set -o errexit - python -m pip install cibuildwheel==2.16.2 - displayName: Install cibuildwheel 2.16.2 - - - 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" - - - script: ls ./dist - displayName: 'Check output' - - - script: | - python -m pip install --user --ignore-installed ./dist/*.whl - pytest tests --doctest-modules --junitxml=junit/test-results-c.xml - pytest samples --doctest-modules --junitxml=junit/test-results-live.xml - displayName: 'Run tests' - - - task: PublishTestResults@2 - displayName: 'Publish test results' - condition: succeededOrFailed() - inputs: - testResultsFiles: '**/test-results-*.xml' - testResultsFormat: 'JUnit' - testRunTitle: 'Linux Python $(PythonVersion)' - - - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml - parameters: - ArtifactName: uamqp-linux-$(PythonVersion)-whl - ArtifactPath: 'dist' - - - job: 'ManyLinux' - - condition: ne(variables['System.TeamProject'], 'public') - - pool: - name: $(LINUXPOOL) - image: $(LINUXVMIMAGE) - os: 'linux' - - - strategy: - matrix: - Python38-manylinux2014: - PythonVersion: '$(PythonVersion38)' - Platform: 'manylinux2014_x86_64' - BWFilter: 'cp38-*' - Python39-manylinux2014: - PythonVersion: '$(PythonVersion39)' - Platform: 'manylinux2014_x86_64' - BWFilter: 'cp39-*' - Python310-manylinux2014: - PythonVersion: '$(PythonVersion310)' - Platform: 'manylinux2014_x86_64' - BWFilter: 'cp310-*' - Python311-manylinux2014: - PythonVersion: '$(PythonVersion311)' - Platform: 'manylinux2014_x86_64' - BWFilter: 'cp311-*' - Python312-manylinux2014: - PythonVersion: '$(PythonVersion312)' - Platform: 'manylinux2014_x86_64' - BWFilter: 'cp312-*' - - steps: - - template: /.azure-pipelines/use-python-version.yml - parameters: - versionSpec: '$(PythonVersion)' - - - script: | - echo "Prepending PATH environment variable with directory: $HOME/.local/bin" - echo "##vso[task.prependpath]$HOME/.local/bin" - displayName: 'Prepare PATH' - - - script: | - python --version - curl -sS $(GetPip) | python - --user - python -m pip --version - python -m pip install setuptools --force - curl -LO http://archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb && sudo dpkg -i libffi6_3.2.1-8_amd64.deb - python -m pip install --user -r dev_requirements.txt - displayName: 'Install dependencies' - - - bash: | - set -o errexit - python -m pip install cibuildwheel==2.16.2 - displayName: Install cibuildwheel 2.16.2 - - - 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_MANYLINUX_*_IMAGE: manylinux2014 - - - script: ls ./dist - displayName: 'Check output' - - - script: | - python -m pip install --user --ignore-installed ./dist/*.whl - pytest tests --doctest-modules --junitxml=junit/test-results-c.xml - pytest samples --doctest-modules --junitxml=junit/test-results-live.xml - displayName: 'Run tests' - - - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml - parameters: - ArtifactName: 'uamqp-$(Platform)-$(PythonVersion)-x64-whl' - ArtifactPath: 'dist' - - - task: PublishTestResults@2 - displayName: 'Publish test results' - condition: succeededOrFailed() - inputs: - testResultsFiles: '**/test-results-*.xml' - testResultsFormat: 'JUnit' - testRunTitle: 'ManyLinux2014 Python $(PythonVersion)' + # - job: 'MacOS' + + # pool: + # name: $(MACPOOL) + # vmImage: $(MACVMIMAGE) + # os: macOS + + # strategy: + # matrix: + # Python 3.8: + # PythonBin: 'python3' + # PythonVersion: '$(PythonVersion38)' + # BWFilter: 'cp38-*' + # Python 3.9: + # PythonBin: 'python3' + # PythonVersion: '$(PythonVersion39)' + # BWFilter: 'cp39-*' + # Python 3.10: + # PythonBin: 'python3' + # PythonVersion: '$(PythonVersion310)' + # BWFilter: 'cp310-*' + # Python 3.11: + # PythonBin: 'python3' + # PythonVersion: '$(PythonVersion311)' + # BWFilter: 'cp311-*' + # Python 3.12: + # PythonBin: 'python3' + # PythonVersion: '$(PythonVersion312)' + # BWFilter: 'cp312-*' + + # variables: + # MacOSXDeploymentTarget: '10.9' + # OpenSSLDir: $(Agent.BuildDirectory)/openssl-macosx$(MacOSXDeploymentTarget) + # PythonVersion38: '3.8' + # PythonVersion39: '3.9' + # PythonVersion310: '3.10' + # PythonVersion311: '3.11' + # PythonVersion312: '3.12' + + # steps: + # - task: DownloadPipelineArtifact@1 + # displayName: 'Download OpenSSL artifact' + # inputs: + # artifactName: openssl-macosx$(MacOSXDeploymentTarget) + # buildType: specific + # buildVersionToDownload: latest + # downloadPath: $(Agent.BuildDirectory) + # pipeline: 119 # azure-uamqp-python - openssl + # project: '29ec6040-b234-4e31-b139-33dc4287b756' # public + + # - script: sudo ls /Applications/ + # displayName: 'List All apps' + + # - script: sudo xcode-select --switch /Applications/Xcode_13.1.app + # displayName: 'Select Xcode 13.1' + + # - template: /.azure-pipelines/use-python-version.yml + # parameters: + # versionSpec: '$(PythonVersion)' + + # - script: | + # 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 + + # - pwsh: | + # cibuildwheel --output-dir dist . + # displayName: 'Build uAMQP Wheel' + # env: + # CIBW_PRERELEASE_PYTHONS: True + # CIBW_ARCHS_MACOS: x86_64 + # CIBW_BUILD: $(BWFilter) + + # - script: ls ./dist + # displayName: 'Check output' + + # - script: | + # python -m pip install --ignore-installed ./dist/*.whl + # python -m pip install pytest==6.2.4 --force + # python -m pip install pytest-asyncio==0.12.0 --force + # pytest tests --doctest-modules --junitxml=junit/test-results-c.xml + # pytest samples --doctest-modules --junitxml=junit/test-results-live.xml + # displayName: 'Run tests' + + # - task: PublishTestResults@2 + # displayName: 'Publish test results' + # condition: succeededOrFailed() + # inputs: + # testResultsFiles: '**/test-results-*.xml' + # testResultsFormat: 'JUnit' + # testRunTitle: 'MacOS Python $(PythonVersion)' + + # - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml + # parameters: + # ArtifactName: uamqp-macosx$(MacOSXDeploymentTarget)-$(PythonVersion)-whl + # ArtifactPath: 'dist' + + # - job: 'Windows' + + # pool: + # name: $(WINDOWSPOOL) + # image: $(WINDOWSVMIMAGE) + # os: windows + # variables: + # VS_INSTALLER_URL: "https://aka.ms/vs/17/release/vs_enterprise.exe" + # VS_INSTALLER_PATH: "$(Build.BinariesDirectory)/vs_enterprise.exe" + # VS_ENTERPRISE_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise" + + # strategy: + # matrix: + # x64 Python 3.8: + # PythonArchitecture: 'x64' + # PythonVersion: '$(PythonVersion38)' + # BWFilter: 'cp38-win_amd64' + # x64 Python 3.9: + # PythonArchitecture: 'x64' + # PythonVersion: '$(PythonVersion39)' + # BWFilter: 'cp39-win_amd64' + # x64 Python 3.10: + # PythonArchitecture: 'x64' + # PythonVersion: '$(PythonVersion310)' + # BWFilter: 'cp310-win_amd64' + # x64 Python 3.11: + # PythonArchitecture: 'x64' + # PythonVersion: '$(PythonVersion311)' + # BWFilter: 'cp311-win_amd64' + # x64 Python 3.12: + # 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' + + # steps: + # - pwsh: | + # Get-ChildItem -Path C:/1ESPT/Python -Recurse | % { Write-Host $_.FullName } + # displayName: Dump 1ES Folder Before Build Work + + # - template: /.azure-pipelines/use-python-version.yml + # parameters: + # architecture: '$(PythonArchitecture)' + # versionSpec: '$(PythonVersion)' + + # - powershell: | + # python --version + # Invoke-WebRequest -UseBasicParsing -Uri $(GetPip) | Select-Object -ExpandProperty Content | python + # python -m pip --version + # python -m pip install -r dev_requirements.txt + # 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 + # # as they in the VS Installer UI. (What you would do locally.) + # # C# and Visual Basic Roslyn Compilers (components pane) + # # C++ 2022 Redistributable Update (components pane) + # # C++ CMake tools for Windows (components pane) + # # MSBuild (components pane) + # # MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest) (components pane) + # # Native Desktop Workload (workloads pane) + # $(VS_INSTALLER_PATH) --installPath $(VS_ENTERPRISE_PATH) ` + # --add Microsoft.VisualStudio.Component.Roslyn.Compiler ` + # --add Microsoft.VisualStudio.Component.VC.Redist.14.Latest ` + # --add Microsoft.VisualStudio.Component.VC.CMake.Project ` + # --add Microsoft.Component.MSBuild ` + # --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 ` + # --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 + + # - pwsh: | + # cibuildwheel --output-dir dist . + # displayName: 'Build uAMQP Wheel' + # env: + # CIBW_PRERELEASE_PYTHONS: True + # CIBW_BUILD: $(BWFilter) + + # - script: dir dist + # displayName: 'Check output' + + # - powershell: | + # $whlfile = Get-ChildItem -Filter *.whl dist | Select-Object -First 1 -ExpandProperty Name + # python -m pip install --ignore-installed ./dist/$whlfile + # pytest tests --doctest-modules --junitxml=junit/test-results-c.xml + # pytest samples --doctest-modules --junitxml=junit/test-results-live.xml + # displayName: 'Run tests' + + # - task: PublishTestResults@2 + # displayName: 'Publish test results' + # condition: succeededOrFailed() + # inputs: + # testResultsFiles: '**/test-results-*.xml' + # testResultsFormat: 'JUnit' + # testRunTitle: 'Windows $(PythonArchitecture) Python $(PythonVersion)' + + # - pwsh: | + # Remove-Item -Path build/ -Recurse -Force + # displayName: Cleanup Compiler Artifacts + + # - pwsh: | + # Get-ChildItem -Path C:/1ESPT/Python -Recurse | % { Write-Host $_.FullName } + # displayName: Dump 1ES Folder After Build Work + + # - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml + # parameters: + # ArtifactName: uamqp-win$(PythonArchitecture)-$(PythonVersion)-whl + # ArtifactPath: 'dist' + + # - job: 'Linux' + + # pool: + # name: $(LINUXPOOL) + # image: $(LINUXVMIMAGE) + # os: linux + + # strategy: + # matrix: + # Python 3.8: + # PythonVersion: '$(PythonVersion38)' + # BWFilter: 'cp38-*' + # Python 3.9: + # PythonVersion: '$(PythonVersion39)' + # BWFilter: 'cp39-*' + # Python 3.10: + # PythonVersion: '$(PythonVersion310)' + # BWFilter: 'cp310-*' + # Python 3.11: + # PythonVersion: '$(PythonVersion311)' + # BWFilter: 'cp311-*' + # Python 3.12: + # PythonVersion: '$(PythonVersion312)' + # BWFilter: 'cp312-*' + + # steps: + # - template: /.azure-pipelines/use-python-version.yml + # parameters: + # versionSpec: '$(PythonVersion)' + + # - script: | + # echo "Prepending PATH environment variable with directory: $HOME/.local/bin" + # echo "##vso[task.prependpath]$HOME/.local/bin" + # displayName: 'Prepare PATH' + + # - script: | + # python --version + # curl -sS $(GetPip) | python - --user + # python -m pip --version + # python -m pip install setuptools --force + # curl -LO http://archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb && sudo dpkg -i libffi6_3.2.1-8_amd64.deb + # python -m pip install --user -r dev_requirements.txt + # displayName: 'Install dependencies' + + # - bash: | + # set -o errexit + # python -m pip install cibuildwheel==2.16.2 + # displayName: Install cibuildwheel 2.16.2 + + # - 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" + + # - script: ls ./dist + # displayName: 'Check output' + + # - script: | + # python -m pip install --user --ignore-installed ./dist/*.whl + # pytest tests --doctest-modules --junitxml=junit/test-results-c.xml + # pytest samples --doctest-modules --junitxml=junit/test-results-live.xml + # displayName: 'Run tests' + + # - task: PublishTestResults@2 + # displayName: 'Publish test results' + # condition: succeededOrFailed() + # inputs: + # testResultsFiles: '**/test-results-*.xml' + # testResultsFormat: 'JUnit' + # testRunTitle: 'Linux Python $(PythonVersion)' + + # - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml + # parameters: + # ArtifactName: uamqp-linux-$(PythonVersion)-whl + # ArtifactPath: 'dist' + + # - job: 'ManyLinux' + + # condition: ne(variables['System.TeamProject'], 'public') + + # pool: + # name: $(LINUXPOOL) + # image: $(LINUXVMIMAGE) + # os: 'linux' + + + # strategy: + # matrix: + # Python38-manylinux2014: + # PythonVersion: '$(PythonVersion38)' + # Platform: 'manylinux2014_x86_64' + # BWFilter: 'cp38-*' + # Python39-manylinux2014: + # PythonVersion: '$(PythonVersion39)' + # Platform: 'manylinux2014_x86_64' + # BWFilter: 'cp39-*' + # Python310-manylinux2014: + # PythonVersion: '$(PythonVersion310)' + # Platform: 'manylinux2014_x86_64' + # BWFilter: 'cp310-*' + # Python311-manylinux2014: + # PythonVersion: '$(PythonVersion311)' + # Platform: 'manylinux2014_x86_64' + # BWFilter: 'cp311-*' + # Python312-manylinux2014: + # PythonVersion: '$(PythonVersion312)' + # Platform: 'manylinux2014_x86_64' + # BWFilter: 'cp312-*' + + # steps: + # - template: /.azure-pipelines/use-python-version.yml + # parameters: + # versionSpec: '$(PythonVersion)' + + # - script: | + # echo "Prepending PATH environment variable with directory: $HOME/.local/bin" + # echo "##vso[task.prependpath]$HOME/.local/bin" + # displayName: 'Prepare PATH' + + # - script: | + # python --version + # curl -sS $(GetPip) | python - --user + # python -m pip --version + # python -m pip install setuptools --force + # curl -LO http://archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb && sudo dpkg -i libffi6_3.2.1-8_amd64.deb + # python -m pip install --user -r dev_requirements.txt + # displayName: 'Install dependencies' + + # - bash: | + # set -o errexit + # python -m pip install cibuildwheel==2.16.2 + # displayName: Install cibuildwheel 2.16.2 + + # - 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_MANYLINUX_*_IMAGE: manylinux2014 + + # - script: ls ./dist + # displayName: 'Check output' + + # - script: | + # python -m pip install --user --ignore-installed ./dist/*.whl + # pytest tests --doctest-modules --junitxml=junit/test-results-c.xml + # pytest samples --doctest-modules --junitxml=junit/test-results-live.xml + # displayName: 'Run tests' + + # - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml + # parameters: + # ArtifactName: 'uamqp-$(Platform)-$(PythonVersion)-x64-whl' + # ArtifactPath: 'dist' + + # - task: PublishTestResults@2 + # displayName: 'Publish test results' + # condition: succeededOrFailed() + # inputs: + # testResultsFiles: '**/test-results-*.xml' + # testResultsFormat: 'JUnit' + # testRunTitle: 'ManyLinux2014 Python $(PythonVersion)' - stage: Release dependsOn: Build_and_Test @@ -487,7 +487,7 @@ extends: - pwsh: | Write-Host "Will deploy with tag of $(Tag)" - Get-ChildItem "$(Pipeline.Workspace)/drop" -Recurse -Force ` + Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force ` | Where-Object { $_.Name -like "*.tgz" } ` | Copy-Item -Destination "$(Build.ArtifactStagingDirectory)" From 326f062e88b2b1919d398b0cc1327b5d518e315c Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Fri, 31 May 2024 14:41:55 -0700 Subject: [PATCH 03/25] gotta lineitem the foreach --- .../templates/steps/download-targeted-artifacts.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/templates/steps/download-targeted-artifacts.yml b/.azure-pipelines/templates/steps/download-targeted-artifacts.yml index 0e780742..53403561 100644 --- a/.azure-pipelines/templates/steps/download-targeted-artifacts.yml +++ b/.azure-pipelines/templates/steps/download-targeted-artifacts.yml @@ -2,7 +2,7 @@ parameters: ArtifactList: [] steps: - ${{ for artifact in parameters.ArtifactList }}: + - ${{ for artifact in parameters.ArtifactList }}: - download: current artifact: ${{ artifact }} timeoutInMinutes: 5 \ No newline at end of file From dea61e08ce717913b5e45674a8995dd679f57b3d Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Fri, 31 May 2024 14:43:49 -0700 Subject: [PATCH 04/25] for -> each --- .../templates/steps/download-targeted-artifacts.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/templates/steps/download-targeted-artifacts.yml b/.azure-pipelines/templates/steps/download-targeted-artifacts.yml index 53403561..01799339 100644 --- a/.azure-pipelines/templates/steps/download-targeted-artifacts.yml +++ b/.azure-pipelines/templates/steps/download-targeted-artifacts.yml @@ -2,7 +2,7 @@ parameters: ArtifactList: [] steps: - - ${{ for artifact in parameters.ArtifactList }}: + - ${{ each artifact in parameters.ArtifactList }}: - download: current artifact: ${{ artifact }} timeoutInMinutes: 5 \ No newline at end of file From 81125b76677dd2b5ddef5d48d1144f614094ad2b Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Fri, 31 May 2024 14:49:39 -0700 Subject: [PATCH 05/25] Remove reference to an unbound variable --- .azure-pipelines/client.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index d1504d2a..ad8a4667 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -486,7 +486,6 @@ extends: # - 'uamqp-winx86-3.9-whl' - pwsh: | - Write-Host "Will deploy with tag of $(Tag)" Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force ` | Where-Object { $_.Name -like "*.tgz" } ` | Copy-Item -Destination "$(Build.ArtifactStagingDirectory)" From 45bcf542875462f99fdfb718dd452b995580c2bf Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Fri, 31 May 2024 15:02:56 -0700 Subject: [PATCH 06/25] dump the visible artifacts. what is going on? --- .azure-pipelines/client.yml | 4 ++++ .../templates/steps/download-targeted-artifacts.yml | 1 + 2 files changed, 5 insertions(+) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index ad8a4667..4a9af8d5 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -485,6 +485,10 @@ extends: # - 'uamqp-manylinux2014_x86_64-3.9-x64-whl' # - 'uamqp-winx86-3.9-whl' + - pwsh: | + Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force | % { Write-Host $_.FullName } + displayName: Dump visible artifacts + - pwsh: | Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force ` | Where-Object { $_.Name -like "*.tgz" } ` diff --git a/.azure-pipelines/templates/steps/download-targeted-artifacts.yml b/.azure-pipelines/templates/steps/download-targeted-artifacts.yml index 01799339..148bae3a 100644 --- a/.azure-pipelines/templates/steps/download-targeted-artifacts.yml +++ b/.azure-pipelines/templates/steps/download-targeted-artifacts.yml @@ -4,5 +4,6 @@ parameters: steps: - ${{ each artifact in parameters.ArtifactList }}: - download: current + displayName: "Download ${{ artifact }}" artifact: ${{ artifact }} timeoutInMinutes: 5 \ No newline at end of file From ed1d6ef27664cd06c5a18353184e7f5e19d2424f Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Fri, 31 May 2024 15:19:29 -0700 Subject: [PATCH 07/25] fix issue with the filter in the extraction method --- .azure-pipelines/client.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 4a9af8d5..139ea297 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -491,7 +491,7 @@ extends: - pwsh: | Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force ` - | Where-Object { $_.Name -like "*.tgz" } ` + | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } ` | Copy-Item -Destination "$(Build.ArtifactStagingDirectory)" Get-ChildItem "$(Build.ArtifactStagingDirectory)" -Recurse -Force | % { Write-Host $_.FullName } From d859c7d328269019e922a844e367b3170fbc511c Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Fri, 31 May 2024 15:20:29 -0700 Subject: [PATCH 08/25] and remove the additional artifact dump --- .azure-pipelines/client.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 139ea297..13185975 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -485,10 +485,6 @@ extends: # - 'uamqp-manylinux2014_x86_64-3.9-x64-whl' # - 'uamqp-winx86-3.9-whl' - - pwsh: | - Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force | % { Write-Host $_.FullName } - displayName: Dump visible artifacts - - pwsh: | Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force ` | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } ` From b9811065ba50e4ba9cd52ede7d1c2577b169bb27 Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Fri, 31 May 2024 15:33:28 -0700 Subject: [PATCH 09/25] re-enable the full build. do we get all the artifacts? --- .azure-pipelines/client.yml | 839 ++++++++++++++++++------------------ 1 file changed, 431 insertions(+), 408 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 13185975..e713e207 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -54,412 +54,412 @@ extends: ArtifactName: uamqp-sdist ArtifactPath: 'dist' - # - job: 'MacOS' - - # pool: - # name: $(MACPOOL) - # vmImage: $(MACVMIMAGE) - # os: macOS - - # strategy: - # matrix: - # Python 3.8: - # PythonBin: 'python3' - # PythonVersion: '$(PythonVersion38)' - # BWFilter: 'cp38-*' - # Python 3.9: - # PythonBin: 'python3' - # PythonVersion: '$(PythonVersion39)' - # BWFilter: 'cp39-*' - # Python 3.10: - # PythonBin: 'python3' - # PythonVersion: '$(PythonVersion310)' - # BWFilter: 'cp310-*' - # Python 3.11: - # PythonBin: 'python3' - # PythonVersion: '$(PythonVersion311)' - # BWFilter: 'cp311-*' - # Python 3.12: - # PythonBin: 'python3' - # PythonVersion: '$(PythonVersion312)' - # BWFilter: 'cp312-*' - - # variables: - # MacOSXDeploymentTarget: '10.9' - # OpenSSLDir: $(Agent.BuildDirectory)/openssl-macosx$(MacOSXDeploymentTarget) - # PythonVersion38: '3.8' - # PythonVersion39: '3.9' - # PythonVersion310: '3.10' - # PythonVersion311: '3.11' - # PythonVersion312: '3.12' - - # steps: - # - task: DownloadPipelineArtifact@1 - # displayName: 'Download OpenSSL artifact' - # inputs: - # artifactName: openssl-macosx$(MacOSXDeploymentTarget) - # buildType: specific - # buildVersionToDownload: latest - # downloadPath: $(Agent.BuildDirectory) - # pipeline: 119 # azure-uamqp-python - openssl - # project: '29ec6040-b234-4e31-b139-33dc4287b756' # public - - # - script: sudo ls /Applications/ - # displayName: 'List All apps' - - # - script: sudo xcode-select --switch /Applications/Xcode_13.1.app - # displayName: 'Select Xcode 13.1' - - # - template: /.azure-pipelines/use-python-version.yml - # parameters: - # versionSpec: '$(PythonVersion)' - - # - script: | - # 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 - - # - pwsh: | - # cibuildwheel --output-dir dist . - # displayName: 'Build uAMQP Wheel' - # env: - # CIBW_PRERELEASE_PYTHONS: True - # CIBW_ARCHS_MACOS: x86_64 - # CIBW_BUILD: $(BWFilter) - - # - script: ls ./dist - # displayName: 'Check output' - - # - script: | - # python -m pip install --ignore-installed ./dist/*.whl - # python -m pip install pytest==6.2.4 --force - # python -m pip install pytest-asyncio==0.12.0 --force - # pytest tests --doctest-modules --junitxml=junit/test-results-c.xml - # pytest samples --doctest-modules --junitxml=junit/test-results-live.xml - # displayName: 'Run tests' - - # - task: PublishTestResults@2 - # displayName: 'Publish test results' - # condition: succeededOrFailed() - # inputs: - # testResultsFiles: '**/test-results-*.xml' - # testResultsFormat: 'JUnit' - # testRunTitle: 'MacOS Python $(PythonVersion)' - - # - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml - # parameters: - # ArtifactName: uamqp-macosx$(MacOSXDeploymentTarget)-$(PythonVersion)-whl - # ArtifactPath: 'dist' - - # - job: 'Windows' - - # pool: - # name: $(WINDOWSPOOL) - # image: $(WINDOWSVMIMAGE) - # os: windows - # variables: - # VS_INSTALLER_URL: "https://aka.ms/vs/17/release/vs_enterprise.exe" - # VS_INSTALLER_PATH: "$(Build.BinariesDirectory)/vs_enterprise.exe" - # VS_ENTERPRISE_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise" - - # strategy: - # matrix: - # x64 Python 3.8: - # PythonArchitecture: 'x64' - # PythonVersion: '$(PythonVersion38)' - # BWFilter: 'cp38-win_amd64' - # x64 Python 3.9: - # PythonArchitecture: 'x64' - # PythonVersion: '$(PythonVersion39)' - # BWFilter: 'cp39-win_amd64' - # x64 Python 3.10: - # PythonArchitecture: 'x64' - # PythonVersion: '$(PythonVersion310)' - # BWFilter: 'cp310-win_amd64' - # x64 Python 3.11: - # PythonArchitecture: 'x64' - # PythonVersion: '$(PythonVersion311)' - # BWFilter: 'cp311-win_amd64' - # x64 Python 3.12: - # 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' - - # steps: - # - pwsh: | - # Get-ChildItem -Path C:/1ESPT/Python -Recurse | % { Write-Host $_.FullName } - # displayName: Dump 1ES Folder Before Build Work - - # - template: /.azure-pipelines/use-python-version.yml - # parameters: - # architecture: '$(PythonArchitecture)' - # versionSpec: '$(PythonVersion)' - - # - powershell: | - # python --version - # Invoke-WebRequest -UseBasicParsing -Uri $(GetPip) | Select-Object -ExpandProperty Content | python - # python -m pip --version - # python -m pip install -r dev_requirements.txt - # 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 - # # as they in the VS Installer UI. (What you would do locally.) - # # C# and Visual Basic Roslyn Compilers (components pane) - # # C++ 2022 Redistributable Update (components pane) - # # C++ CMake tools for Windows (components pane) - # # MSBuild (components pane) - # # MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest) (components pane) - # # Native Desktop Workload (workloads pane) - # $(VS_INSTALLER_PATH) --installPath $(VS_ENTERPRISE_PATH) ` - # --add Microsoft.VisualStudio.Component.Roslyn.Compiler ` - # --add Microsoft.VisualStudio.Component.VC.Redist.14.Latest ` - # --add Microsoft.VisualStudio.Component.VC.CMake.Project ` - # --add Microsoft.Component.MSBuild ` - # --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 ` - # --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 - - # - pwsh: | - # cibuildwheel --output-dir dist . - # displayName: 'Build uAMQP Wheel' - # env: - # CIBW_PRERELEASE_PYTHONS: True - # CIBW_BUILD: $(BWFilter) - - # - script: dir dist - # displayName: 'Check output' - - # - powershell: | - # $whlfile = Get-ChildItem -Filter *.whl dist | Select-Object -First 1 -ExpandProperty Name - # python -m pip install --ignore-installed ./dist/$whlfile - # pytest tests --doctest-modules --junitxml=junit/test-results-c.xml - # pytest samples --doctest-modules --junitxml=junit/test-results-live.xml - # displayName: 'Run tests' - - # - task: PublishTestResults@2 - # displayName: 'Publish test results' - # condition: succeededOrFailed() - # inputs: - # testResultsFiles: '**/test-results-*.xml' - # testResultsFormat: 'JUnit' - # testRunTitle: 'Windows $(PythonArchitecture) Python $(PythonVersion)' - - # - pwsh: | - # Remove-Item -Path build/ -Recurse -Force - # displayName: Cleanup Compiler Artifacts - - # - pwsh: | - # Get-ChildItem -Path C:/1ESPT/Python -Recurse | % { Write-Host $_.FullName } - # displayName: Dump 1ES Folder After Build Work - - # - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml - # parameters: - # ArtifactName: uamqp-win$(PythonArchitecture)-$(PythonVersion)-whl - # ArtifactPath: 'dist' - - # - job: 'Linux' - - # pool: - # name: $(LINUXPOOL) - # image: $(LINUXVMIMAGE) - # os: linux - - # strategy: - # matrix: - # Python 3.8: - # PythonVersion: '$(PythonVersion38)' - # BWFilter: 'cp38-*' - # Python 3.9: - # PythonVersion: '$(PythonVersion39)' - # BWFilter: 'cp39-*' - # Python 3.10: - # PythonVersion: '$(PythonVersion310)' - # BWFilter: 'cp310-*' - # Python 3.11: - # PythonVersion: '$(PythonVersion311)' - # BWFilter: 'cp311-*' - # Python 3.12: - # PythonVersion: '$(PythonVersion312)' - # BWFilter: 'cp312-*' - - # steps: - # - template: /.azure-pipelines/use-python-version.yml - # parameters: - # versionSpec: '$(PythonVersion)' - - # - script: | - # echo "Prepending PATH environment variable with directory: $HOME/.local/bin" - # echo "##vso[task.prependpath]$HOME/.local/bin" - # displayName: 'Prepare PATH' - - # - script: | - # python --version - # curl -sS $(GetPip) | python - --user - # python -m pip --version - # python -m pip install setuptools --force - # curl -LO http://archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb && sudo dpkg -i libffi6_3.2.1-8_amd64.deb - # python -m pip install --user -r dev_requirements.txt - # displayName: 'Install dependencies' - - # - bash: | - # set -o errexit - # python -m pip install cibuildwheel==2.16.2 - # displayName: Install cibuildwheel 2.16.2 - - # - 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" - - # - script: ls ./dist - # displayName: 'Check output' - - # - script: | - # python -m pip install --user --ignore-installed ./dist/*.whl - # pytest tests --doctest-modules --junitxml=junit/test-results-c.xml - # pytest samples --doctest-modules --junitxml=junit/test-results-live.xml - # displayName: 'Run tests' - - # - task: PublishTestResults@2 - # displayName: 'Publish test results' - # condition: succeededOrFailed() - # inputs: - # testResultsFiles: '**/test-results-*.xml' - # testResultsFormat: 'JUnit' - # testRunTitle: 'Linux Python $(PythonVersion)' - - # - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml - # parameters: - # ArtifactName: uamqp-linux-$(PythonVersion)-whl - # ArtifactPath: 'dist' - - # - job: 'ManyLinux' - - # condition: ne(variables['System.TeamProject'], 'public') - - # pool: - # name: $(LINUXPOOL) - # image: $(LINUXVMIMAGE) - # os: 'linux' - - - # strategy: - # matrix: - # Python38-manylinux2014: - # PythonVersion: '$(PythonVersion38)' - # Platform: 'manylinux2014_x86_64' - # BWFilter: 'cp38-*' - # Python39-manylinux2014: - # PythonVersion: '$(PythonVersion39)' - # Platform: 'manylinux2014_x86_64' - # BWFilter: 'cp39-*' - # Python310-manylinux2014: - # PythonVersion: '$(PythonVersion310)' - # Platform: 'manylinux2014_x86_64' - # BWFilter: 'cp310-*' - # Python311-manylinux2014: - # PythonVersion: '$(PythonVersion311)' - # Platform: 'manylinux2014_x86_64' - # BWFilter: 'cp311-*' - # Python312-manylinux2014: - # PythonVersion: '$(PythonVersion312)' - # Platform: 'manylinux2014_x86_64' - # BWFilter: 'cp312-*' - - # steps: - # - template: /.azure-pipelines/use-python-version.yml - # parameters: - # versionSpec: '$(PythonVersion)' - - # - script: | - # echo "Prepending PATH environment variable with directory: $HOME/.local/bin" - # echo "##vso[task.prependpath]$HOME/.local/bin" - # displayName: 'Prepare PATH' - - # - script: | - # python --version - # curl -sS $(GetPip) | python - --user - # python -m pip --version - # python -m pip install setuptools --force - # curl -LO http://archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb && sudo dpkg -i libffi6_3.2.1-8_amd64.deb - # python -m pip install --user -r dev_requirements.txt - # displayName: 'Install dependencies' - - # - bash: | - # set -o errexit - # python -m pip install cibuildwheel==2.16.2 - # displayName: Install cibuildwheel 2.16.2 - - # - 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_MANYLINUX_*_IMAGE: manylinux2014 - - # - script: ls ./dist - # displayName: 'Check output' - - # - script: | - # python -m pip install --user --ignore-installed ./dist/*.whl - # pytest tests --doctest-modules --junitxml=junit/test-results-c.xml - # pytest samples --doctest-modules --junitxml=junit/test-results-live.xml - # displayName: 'Run tests' - - # - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml - # parameters: - # ArtifactName: 'uamqp-$(Platform)-$(PythonVersion)-x64-whl' - # ArtifactPath: 'dist' - - # - task: PublishTestResults@2 - # displayName: 'Publish test results' - # condition: succeededOrFailed() - # inputs: - # testResultsFiles: '**/test-results-*.xml' - # testResultsFormat: 'JUnit' - # testRunTitle: 'ManyLinux2014 Python $(PythonVersion)' + - job: 'MacOS' + + pool: + name: $(MACPOOL) + vmImage: $(MACVMIMAGE) + os: macOS + + strategy: + matrix: + Python 3.8: + PythonBin: 'python3' + PythonVersion: '$(PythonVersion38)' + BWFilter: 'cp38-*' + Python 3.9: + PythonBin: 'python3' + PythonVersion: '$(PythonVersion39)' + BWFilter: 'cp39-*' + Python 3.10: + PythonBin: 'python3' + PythonVersion: '$(PythonVersion310)' + BWFilter: 'cp310-*' + Python 3.11: + PythonBin: 'python3' + PythonVersion: '$(PythonVersion311)' + BWFilter: 'cp311-*' + Python 3.12: + PythonBin: 'python3' + PythonVersion: '$(PythonVersion312)' + BWFilter: 'cp312-*' + + variables: + MacOSXDeploymentTarget: '10.9' + OpenSSLDir: $(Agent.BuildDirectory)/openssl-macosx$(MacOSXDeploymentTarget) + PythonVersion38: '3.8' + PythonVersion39: '3.9' + PythonVersion310: '3.10' + PythonVersion311: '3.11' + PythonVersion312: '3.12' + + steps: + - task: DownloadPipelineArtifact@1 + displayName: 'Download OpenSSL artifact' + inputs: + artifactName: openssl-macosx$(MacOSXDeploymentTarget) + buildType: specific + buildVersionToDownload: latest + downloadPath: $(Agent.BuildDirectory) + pipeline: 119 # azure-uamqp-python - openssl + project: '29ec6040-b234-4e31-b139-33dc4287b756' # public + + - script: sudo ls /Applications/ + displayName: 'List All apps' + + - script: sudo xcode-select --switch /Applications/Xcode_13.1.app + displayName: 'Select Xcode 13.1' + + - template: /.azure-pipelines/use-python-version.yml + parameters: + versionSpec: '$(PythonVersion)' + + - script: | + 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 + + - pwsh: | + cibuildwheel --output-dir dist . + displayName: 'Build uAMQP Wheel' + env: + CIBW_PRERELEASE_PYTHONS: True + CIBW_ARCHS_MACOS: x86_64 + CIBW_BUILD: $(BWFilter) + + - script: ls ./dist + displayName: 'Check output' + + - script: | + python -m pip install --ignore-installed ./dist/*.whl + python -m pip install pytest==6.2.4 --force + python -m pip install pytest-asyncio==0.12.0 --force + pytest tests --doctest-modules --junitxml=junit/test-results-c.xml + pytest samples --doctest-modules --junitxml=junit/test-results-live.xml + displayName: 'Run tests' + + - task: PublishTestResults@2 + displayName: 'Publish test results' + condition: succeededOrFailed() + inputs: + testResultsFiles: '**/test-results-*.xml' + testResultsFormat: 'JUnit' + testRunTitle: 'MacOS Python $(PythonVersion)' + + - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml + parameters: + ArtifactName: uamqp-macosx$(MacOSXDeploymentTarget)-$(PythonVersion)-whl + ArtifactPath: 'dist' + + - job: 'Windows' + + pool: + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) + os: windows + variables: + VS_INSTALLER_URL: "https://aka.ms/vs/17/release/vs_enterprise.exe" + VS_INSTALLER_PATH: "$(Build.BinariesDirectory)/vs_enterprise.exe" + VS_ENTERPRISE_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise" + + strategy: + matrix: + x64 Python 3.8: + PythonArchitecture: 'x64' + PythonVersion: '$(PythonVersion38)' + BWFilter: 'cp38-win_amd64' + x64 Python 3.9: + PythonArchitecture: 'x64' + PythonVersion: '$(PythonVersion39)' + BWFilter: 'cp39-win_amd64' + x64 Python 3.10: + PythonArchitecture: 'x64' + PythonVersion: '$(PythonVersion310)' + BWFilter: 'cp310-win_amd64' + x64 Python 3.11: + PythonArchitecture: 'x64' + PythonVersion: '$(PythonVersion311)' + BWFilter: 'cp311-win_amd64' + x64 Python 3.12: + 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' + + steps: + - pwsh: | + Get-ChildItem -Path C:/1ESPT/Python -Recurse | % { Write-Host $_.FullName } + displayName: Dump 1ES Folder Before Build Work + + - template: /.azure-pipelines/use-python-version.yml + parameters: + architecture: '$(PythonArchitecture)' + versionSpec: '$(PythonVersion)' + + - powershell: | + python --version + Invoke-WebRequest -UseBasicParsing -Uri $(GetPip) | Select-Object -ExpandProperty Content | python + python -m pip --version + python -m pip install -r dev_requirements.txt + 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 + # as they in the VS Installer UI. (What you would do locally.) + # C# and Visual Basic Roslyn Compilers (components pane) + # C++ 2022 Redistributable Update (components pane) + # C++ CMake tools for Windows (components pane) + # MSBuild (components pane) + # MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest) (components pane) + # Native Desktop Workload (workloads pane) + $(VS_INSTALLER_PATH) --installPath $(VS_ENTERPRISE_PATH) ` + --add Microsoft.VisualStudio.Component.Roslyn.Compiler ` + --add Microsoft.VisualStudio.Component.VC.Redist.14.Latest ` + --add Microsoft.VisualStudio.Component.VC.CMake.Project ` + --add Microsoft.Component.MSBuild ` + --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 ` + --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 + + - pwsh: | + cibuildwheel --output-dir dist . + displayName: 'Build uAMQP Wheel' + env: + CIBW_PRERELEASE_PYTHONS: True + CIBW_BUILD: $(BWFilter) + + - script: dir dist + displayName: 'Check output' + + - powershell: | + $whlfile = Get-ChildItem -Filter *.whl dist | Select-Object -First 1 -ExpandProperty Name + python -m pip install --ignore-installed ./dist/$whlfile + pytest tests --doctest-modules --junitxml=junit/test-results-c.xml + pytest samples --doctest-modules --junitxml=junit/test-results-live.xml + displayName: 'Run tests' + + - task: PublishTestResults@2 + displayName: 'Publish test results' + condition: succeededOrFailed() + inputs: + testResultsFiles: '**/test-results-*.xml' + testResultsFormat: 'JUnit' + testRunTitle: 'Windows $(PythonArchitecture) Python $(PythonVersion)' + + - pwsh: | + Remove-Item -Path build/ -Recurse -Force + displayName: Cleanup Compiler Artifacts + + - pwsh: | + Get-ChildItem -Path C:/1ESPT/Python -Recurse | % { Write-Host $_.FullName } + displayName: Dump 1ES Folder After Build Work + + - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml + parameters: + ArtifactName: uamqp-win$(PythonArchitecture)-$(PythonVersion)-whl + ArtifactPath: 'dist' + + - job: 'Linux' + + pool: + name: $(LINUXPOOL) + image: $(LINUXVMIMAGE) + os: linux + + strategy: + matrix: + Python 3.8: + PythonVersion: '$(PythonVersion38)' + BWFilter: 'cp38-*' + Python 3.9: + PythonVersion: '$(PythonVersion39)' + BWFilter: 'cp39-*' + Python 3.10: + PythonVersion: '$(PythonVersion310)' + BWFilter: 'cp310-*' + Python 3.11: + PythonVersion: '$(PythonVersion311)' + BWFilter: 'cp311-*' + Python 3.12: + PythonVersion: '$(PythonVersion312)' + BWFilter: 'cp312-*' + + steps: + - template: /.azure-pipelines/use-python-version.yml + parameters: + versionSpec: '$(PythonVersion)' + + - script: | + echo "Prepending PATH environment variable with directory: $HOME/.local/bin" + echo "##vso[task.prependpath]$HOME/.local/bin" + displayName: 'Prepare PATH' + + - script: | + python --version + curl -sS $(GetPip) | python - --user + python -m pip --version + python -m pip install setuptools --force + curl -LO http://archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb && sudo dpkg -i libffi6_3.2.1-8_amd64.deb + python -m pip install --user -r dev_requirements.txt + displayName: 'Install dependencies' + + - bash: | + set -o errexit + python -m pip install cibuildwheel==2.16.2 + displayName: Install cibuildwheel 2.16.2 + + - 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" + + - script: ls ./dist + displayName: 'Check output' + + - script: | + python -m pip install --user --ignore-installed ./dist/*.whl + pytest tests --doctest-modules --junitxml=junit/test-results-c.xml + pytest samples --doctest-modules --junitxml=junit/test-results-live.xml + displayName: 'Run tests' + + - task: PublishTestResults@2 + displayName: 'Publish test results' + condition: succeededOrFailed() + inputs: + testResultsFiles: '**/test-results-*.xml' + testResultsFormat: 'JUnit' + testRunTitle: 'Linux Python $(PythonVersion)' + + - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml + parameters: + ArtifactName: uamqp-linux-$(PythonVersion)-whl + ArtifactPath: 'dist' + + - job: 'ManyLinux' + + condition: ne(variables['System.TeamProject'], 'public') + + pool: + name: $(LINUXPOOL) + image: $(LINUXVMIMAGE) + os: 'linux' + + + strategy: + matrix: + Python38-manylinux2014: + PythonVersion: '$(PythonVersion38)' + Platform: 'manylinux2014_x86_64' + BWFilter: 'cp38-*' + Python39-manylinux2014: + PythonVersion: '$(PythonVersion39)' + Platform: 'manylinux2014_x86_64' + BWFilter: 'cp39-*' + Python310-manylinux2014: + PythonVersion: '$(PythonVersion310)' + Platform: 'manylinux2014_x86_64' + BWFilter: 'cp310-*' + Python311-manylinux2014: + PythonVersion: '$(PythonVersion311)' + Platform: 'manylinux2014_x86_64' + BWFilter: 'cp311-*' + Python312-manylinux2014: + PythonVersion: '$(PythonVersion312)' + Platform: 'manylinux2014_x86_64' + BWFilter: 'cp312-*' + + steps: + - template: /.azure-pipelines/use-python-version.yml + parameters: + versionSpec: '$(PythonVersion)' + + - script: | + echo "Prepending PATH environment variable with directory: $HOME/.local/bin" + echo "##vso[task.prependpath]$HOME/.local/bin" + displayName: 'Prepare PATH' + + - script: | + python --version + curl -sS $(GetPip) | python - --user + python -m pip --version + python -m pip install setuptools --force + curl -LO http://archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb && sudo dpkg -i libffi6_3.2.1-8_amd64.deb + python -m pip install --user -r dev_requirements.txt + displayName: 'Install dependencies' + + - bash: | + set -o errexit + python -m pip install cibuildwheel==2.16.2 + displayName: Install cibuildwheel 2.16.2 + + - 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_MANYLINUX_*_IMAGE: manylinux2014 + + - script: ls ./dist + displayName: 'Check output' + + - script: | + python -m pip install --user --ignore-installed ./dist/*.whl + pytest tests --doctest-modules --junitxml=junit/test-results-c.xml + pytest samples --doctest-modules --junitxml=junit/test-results-live.xml + displayName: 'Run tests' + + - template: /.azure-pipelines/templates/steps/publish-1es-artifact.yml + parameters: + ArtifactName: 'uamqp-$(Platform)-$(PythonVersion)-x64-whl' + ArtifactPath: 'dist' + + - task: PublishTestResults@2 + displayName: 'Publish test results' + condition: succeededOrFailed() + inputs: + testResultsFiles: '**/test-results-*.xml' + testResultsFormat: 'JUnit' + testRunTitle: 'ManyLinux2014 Python $(PythonVersion)' - stage: Release dependsOn: Build_and_Test @@ -482,8 +482,31 @@ extends: parameters: ArtifactList: - 'uamqp-sdist' - # - 'uamqp-manylinux2014_x86_64-3.9-x64-whl' - # - 'uamqp-winx86-3.9-whl' + - '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-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-manylinux2014_x86_x64-3.8-x64-whl' + - 'uamqp-manylinux2014_x86_x64-3.9-x64-whl' + - 'uamqp-manylinux2014_x86_x64-3.10-x64-whl' + - 'uamqp-manylinux2014_x86_x64-3.11-x64-whl' + - 'uamqp-manylinux2014_x86_x64-3.12-x64-whl' + - 'uamqp-win64-3.8-whl' + - 'uamqp-win64-3.9-whl' + - 'uamqp-win64-3.10-whl' + - 'uamqp-win64-3.11-whl' + - 'uamqp-win64-3.12-whl' + - 'uamqp-win86-3.8-whl' + - 'uamqp-win86-3.9-whl' + - 'uamqp-win86-3.10-whl' + - 'uamqp-win86-3.11-whl' + - 'uamqp-win86-3.12-whl' - pwsh: | Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force ` From ab554584460523f1d01f66cc8f2ce485cdecd7fc Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Fri, 31 May 2024 15:52:03 -0700 Subject: [PATCH 10/25] fix the artifact list --- .azure-pipelines/client.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index e713e207..35176f8c 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -492,11 +492,11 @@ extends: - 'uamqp-macosx10.9-3.10-whl' - 'uamqp-macosx10.9-3.11-whl' - 'uamqp-macosx10.9-3.12-whl' - - 'uamqp-manylinux2014_x86_x64-3.8-x64-whl' - - 'uamqp-manylinux2014_x86_x64-3.9-x64-whl' - - 'uamqp-manylinux2014_x86_x64-3.10-x64-whl' - - 'uamqp-manylinux2014_x86_x64-3.11-x64-whl' - - 'uamqp-manylinux2014_x86_x64-3.12-x64-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-win64-3.8-whl' - 'uamqp-win64-3.9-whl' - 'uamqp-win64-3.10-whl' From 7f6fb0f225cae770ef3ce04ad357ba9a55b20c5c Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Fri, 31 May 2024 16:23:57 -0700 Subject: [PATCH 11/25] fix the name of the windows whls --- .azure-pipelines/client.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 35176f8c..45ebbe33 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -497,16 +497,16 @@ extends: - '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-win64-3.8-whl' - - 'uamqp-win64-3.9-whl' - - 'uamqp-win64-3.10-whl' - - 'uamqp-win64-3.11-whl' - - 'uamqp-win64-3.12-whl' - - 'uamqp-win86-3.8-whl' - - 'uamqp-win86-3.9-whl' - - 'uamqp-win86-3.10-whl' - - 'uamqp-win86-3.11-whl' - - 'uamqp-win86-3.12-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-winx86-3.8-whl' + - 'uamqp-winx86-3.9-whl' + - 'uamqp-winx86-3.10-whl' + - 'uamqp-winx86-3.11-whl' + - 'uamqp-winx86-3.12-whl' - pwsh: | Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force ` From d3f7befa789fb3fca37b480b5ab6ab9164990bb5 Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Fri, 31 May 2024 17:07:29 -0700 Subject: [PATCH 12/25] what is going on --- .azure-pipelines/client.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 45ebbe33..c5965c0f 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -509,6 +509,8 @@ extends: - 'uamqp-winx86-3.12-whl' - pwsh: | + Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force + | % { Write-Host $_.FullName } Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force ` | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } ` | Copy-Item -Destination "$(Build.ArtifactStagingDirectory)" From bdcd876f8e229744a8fb94479c55438e085ac884 Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Mon, 3 Jun 2024 10:45:34 -0700 Subject: [PATCH 13/25] additional output to the release phase --- .azure-pipelines/client.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index c5965c0f..670b31be 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -510,7 +510,10 @@ extends: - pwsh: | Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force + | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } ` | % { Write-Host $_.FullName } + + Write-Host "Copying artifacts into staging directory" Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force ` | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } ` | Copy-Item -Destination "$(Build.ArtifactStagingDirectory)" From c605c83b0fc16c41257d24226ee0bec632dea956 Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Mon, 3 Jun 2024 14:49:49 -0700 Subject: [PATCH 14/25] manual copy of the files --- .azure-pipelines/client.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 670b31be..8be94716 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -509,14 +509,13 @@ extends: - 'uamqp-winx86-3.12-whl' - pwsh: | - Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force - | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } ` - | % { Write-Host $_.FullName } + Write-Host "This is the artifact staging directory" + Get-ChildItem "$(Build.ArtifactStagingDirectory)" -Recurse -Force - Write-Host "Copying artifacts into staging directory" - Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force ` + Write-Host "Trying a manual copy of artifacts into staging directory" + Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } ` - | Copy-Item -Destination "$(Build.ArtifactStagingDirectory)" + | % { Copy-Item -Path $_.FullName -Destination (Join-Path $(Build.ArtifactStagingDirectory) $_.Name) -Force } Get-ChildItem "$(Build.ArtifactStagingDirectory)" -Recurse -Force | % { Write-Host $_.FullName } displayName: Move artifact to $(Build.ArtifactStagingDirectory) From 789caa940098e4a7f65c6f6fb460715f5efcf4e7 Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Mon, 3 Jun 2024 15:46:38 -0700 Subject: [PATCH 15/25] I don't know why powershell is doing this --- .azure-pipelines/client.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 8be94716..2082128f 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -509,13 +509,21 @@ extends: - 'uamqp-winx86-3.12-whl' - pwsh: | - Write-Host "This is the artifact staging directory" + Write-Host "This is the artifact staging directory folder" Get-ChildItem "$(Build.ArtifactStagingDirectory)" -Recurse -Force - - Write-Host "Trying a manual copy of artifacts into staging directory" + + Write-Host "This is the contents of the pipeline workspace folder" Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force - | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } ` - | % { Copy-Item -Path $_.FullName -Destination (Join-Path $(Build.ArtifactStagingDirectory) $_.Name) -Force } + Write-Host "Trying a manual copy of artifacts into staging directory" + $itemsForCopy = Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force + | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } + + foreach ($item in $itemsForCopy) { + Write-Host "Copying $($item.FullName) to $(Build.ArtifactStagingDirectory)" + Copy-Item -Path $item.FullName -Destination $(Build.ArtifactStagingDirectory) -Force + } + + Write-Host "Now I'm dumping the artifact staging directory again" Get-ChildItem "$(Build.ArtifactStagingDirectory)" -Recurse -Force | % { Write-Host $_.FullName } displayName: Move artifact to $(Build.ArtifactStagingDirectory) From bd83d05c2ba82803c3845d28b05e9e2c366bc0bc Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Mon, 3 Jun 2024 16:07:32 -0700 Subject: [PATCH 16/25] remove extraneous outputs to the artifact selection. add the ESRP release step --- .azure-pipelines/client.yml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 2082128f..e8597cb3 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -509,13 +509,6 @@ extends: - 'uamqp-winx86-3.12-whl' - pwsh: | - Write-Host "This is the artifact staging directory folder" - Get-ChildItem "$(Build.ArtifactStagingDirectory)" -Recurse -Force - - Write-Host "This is the contents of the pipeline workspace folder" - Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force - - Write-Host "Trying a manual copy of artifacts into staging directory" $itemsForCopy = Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } @@ -524,6 +517,23 @@ extends: Copy-Item -Path $item.FullName -Destination $(Build.ArtifactStagingDirectory) -Force } - Write-Host "Now I'm dumping the artifact staging directory again" + Write-Host "Artifacts for Publish" Get-ChildItem "$(Build.ArtifactStagingDirectory)" -Recurse -Force | % { Write-Host $_.FullName } displayName: Move artifact to $(Build.ArtifactStagingDirectory) + + - task: EsrpRelease@7 + displayName: 'Publish to ESRP' + inputs: + ConnectedServiceName: 'Azure SDK Engineering System' + ClientId: '5f81938c-2544-4f1f-9251-dd9de5b8a81b' + KeyVaultName: 'AzureSDKEngKeyVault' + AuthCertName: 'azure-sdk-esrp-release-auth-certificate' + SignCertName: 'azure-sdk-esrp-release-sign-certificate' + Intent: 'PackageDistribution' + ContentType: 'PyPI' + FolderLocation: $(Build.ArtifactStagingDirectory) + Owners: $(Build.RequestedForEmail) + Approvers: $(Build.RequestedForEmail) + ServiceEndpointUrl: 'https://api.esrp.microsoft.com' + MainPublisher: 'ESRPRELPACMANTEST' + DomainTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47' From 76676985995fa87be2dd963a9d525b1cdd862f30 Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Mon, 3 Jun 2024 16:08:57 -0700 Subject: [PATCH 17/25] disable the release step, we aren't dumping all the available artifacts --- .azure-pipelines/client.yml | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index e8597cb3..2b1a0a82 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -521,19 +521,21 @@ extends: Get-ChildItem "$(Build.ArtifactStagingDirectory)" -Recurse -Force | % { Write-Host $_.FullName } displayName: Move artifact to $(Build.ArtifactStagingDirectory) - - task: EsrpRelease@7 - displayName: 'Publish to ESRP' - inputs: - ConnectedServiceName: 'Azure SDK Engineering System' - ClientId: '5f81938c-2544-4f1f-9251-dd9de5b8a81b' - KeyVaultName: 'AzureSDKEngKeyVault' - AuthCertName: 'azure-sdk-esrp-release-auth-certificate' - SignCertName: 'azure-sdk-esrp-release-sign-certificate' - Intent: 'PackageDistribution' - ContentType: 'PyPI' - FolderLocation: $(Build.ArtifactStagingDirectory) - Owners: $(Build.RequestedForEmail) - Approvers: $(Build.RequestedForEmail) - ServiceEndpointUrl: 'https://api.esrp.microsoft.com' - MainPublisher: 'ESRPRELPACMANTEST' - DomainTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47' + # todo, investigate why uamqp linux isn't showing up in the wheel list + + # - task: EsrpRelease@7 + # displayName: 'Publish to ESRP' + # inputs: + # ConnectedServiceName: 'Azure SDK Engineering System' + # ClientId: '5f81938c-2544-4f1f-9251-dd9de5b8a81b' + # KeyVaultName: 'AzureSDKEngKeyVault' + # AuthCertName: 'azure-sdk-esrp-release-auth-certificate' + # SignCertName: 'azure-sdk-esrp-release-sign-certificate' + # Intent: 'PackageDistribution' + # ContentType: 'PyPI' + # FolderLocation: $(Build.ArtifactStagingDirectory) + # Owners: $(Build.RequestedForEmail) + # Approvers: $(Build.RequestedForEmail) + # ServiceEndpointUrl: 'https://api.esrp.microsoft.com' + # MainPublisher: 'ESRPRELPACMANTEST' + # DomainTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47' From 7a7fb0d2cfa9d2680376b03d3f6d55ce3898d384 Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Tue, 4 Jun 2024 12:33:56 -0700 Subject: [PATCH 18/25] maintain folder structure for deduping --- .azure-pipelines/client.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 2b1a0a82..7147fa05 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -509,12 +509,17 @@ extends: - 'uamqp-winx86-3.12-whl' - pwsh: | - $itemsForCopy = Get-ChildItem "$(Pipeline.Workspace)" -Recurse -Force + $root = "$(Pipeline.Workspace)" + $itemsForCopy = Get-ChildItem $root -Recurse -Force | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } foreach ($item in $itemsForCopy) { - Write-Host "Copying $($item.FullName) to $(Build.ArtifactStagingDirectory)" - Copy-Item -Path $item.FullName -Destination $(Build.ArtifactStagingDirectory) -Force + $source = $item.FullName + $relPath = Get-RelativePath - Path $source -RelativeTo $root + $dest = Join-Path $(Build.ArtifactStagingDirectory) $relPath $item.Name + + Write-Host "Copying $source to $dest" + Copy-Item -Path $source -Destination $dest -Force } Write-Host "Artifacts for Publish" From dc0411567424ef00e88143efe45a5ea6aaed17cf Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Tue, 4 Jun 2024 13:20:29 -0700 Subject: [PATCH 19/25] Get-RelativePath isn't a real thing in pshell. use Resolve-Path --- .azure-pipelines/client.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 7147fa05..ddb9e9b7 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -509,13 +509,16 @@ extends: - 'uamqp-winx86-3.12-whl' - pwsh: | - $root = "$(Pipeline.Workspace)" + $root = "$(Pipeline.Workspace) $itemsForCopy = Get-ChildItem $root -Recurse -Force | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } + Push-Location $root + foreach ($item in $itemsForCopy) { $source = $item.FullName - $relPath = Get-RelativePath - Path $source -RelativeTo $root + + $relPath = Resolve-Path -relative $source $dest = Join-Path $(Build.ArtifactStagingDirectory) $relPath $item.Name Write-Host "Copying $source to $dest" From 04afc2afd23fd8e06cccedc3cd9e55532e7e5dc2 Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Tue, 4 Jun 2024 13:21:28 -0700 Subject: [PATCH 20/25] we need to be certain that relative path doesn't accidentally include the file name twice --- .azure-pipelines/client.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index ddb9e9b7..9d7924b2 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -519,7 +519,7 @@ extends: $source = $item.FullName $relPath = Resolve-Path -relative $source - $dest = Join-Path $(Build.ArtifactStagingDirectory) $relPath $item.Name + $dest = Join-Path $(Build.ArtifactStagingDirectory) $relPath Write-Host "Copying $source to $dest" Copy-Item -Path $source -Destination $dest -Force From d3d2afa5bf5f1a95e11897ac5115e6893b4d4b61 Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Tue, 4 Jun 2024 13:47:16 -0700 Subject: [PATCH 21/25] typo in release script --- .azure-pipelines/client.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 9d7924b2..89d9d19e 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -509,7 +509,7 @@ extends: - 'uamqp-winx86-3.12-whl' - pwsh: | - $root = "$(Pipeline.Workspace) + $root = "$(Pipeline.Workspace)" $itemsForCopy = Get-ChildItem $root -Recurse -Force | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } From cec12561a6410e05f30b0fe5f9898fdc115079f5 Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Tue, 4 Jun 2024 15:00:24 -0700 Subject: [PATCH 22/25] this is the most ridiculous thing I have ever seen --- .azure-pipelines/client.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 89d9d19e..472533e8 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -517,12 +517,19 @@ extends: foreach ($item in $itemsForCopy) { $source = $item.FullName + $sourceFolder = $item.DirectoryName - $relPath = Resolve-Path -relative $source - $dest = Join-Path $(Build.ArtifactStagingDirectory) $relPath + $fileRelPath = (Resolve-Path -relative $source).Substring(2) + $destinationFile = Join-Path $(Build.ArtifactStagingDirectory) $relPath - Write-Host "Copying $source to $dest" - Copy-Item -Path $source -Destination $dest -Force + $folderRelPath = (Resolve-Path -relative $sourceFolder).Substring(2) + $destinationFolder = Join-Path $(Build.ArtifactStagingDirectory) $folderRelPath + + if (!(Test-Path $destinationFolder)){ + Create-Item -Path $destinationFolder -ItemType Directory -Force + } + Write-Host "Copying $source to $destinationFile" + Copy-Item -Path $source -Destination $destinationFile -Force } Write-Host "Artifacts for Publish" From 72653c8097da11f13d92f475a1eac3c2a8eb1feb Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Tue, 4 Jun 2024 16:31:02 -0700 Subject: [PATCH 23/25] Create-Item -> New-Item --- .azure-pipelines/client.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 472533e8..c023aab1 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -526,7 +526,7 @@ extends: $destinationFolder = Join-Path $(Build.ArtifactStagingDirectory) $folderRelPath if (!(Test-Path $destinationFolder)){ - Create-Item -Path $destinationFolder -ItemType Directory -Force + New-Item -Path $destinationFolder -ItemType Directory -Force } Write-Host "Copying $source to $destinationFile" Copy-Item -Path $source -Destination $destinationFile -Force From 89b60f4c15c4068b73e1b73ce3f4a6b01cc2e9aa Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Tue, 4 Jun 2024 17:12:44 -0700 Subject: [PATCH 24/25] we weren't joining the correct paths --- .azure-pipelines/client.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index c023aab1..5d8c2e19 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -520,7 +520,7 @@ extends: $sourceFolder = $item.DirectoryName $fileRelPath = (Resolve-Path -relative $source).Substring(2) - $destinationFile = Join-Path $(Build.ArtifactStagingDirectory) $relPath + $destinationFile = Join-Path $(Build.ArtifactStagingDirectory) $fileRelPath $folderRelPath = (Resolve-Path -relative $sourceFolder).Substring(2) $destinationFolder = Join-Path $(Build.ArtifactStagingDirectory) $folderRelPath From 38397a937a04f1c7c3d083ae8914b7b9d596ebcb Mon Sep 17 00:00:00 2001 From: "Scott Beddall (from Dev Box)" Date: Tue, 4 Jun 2024 18:08:15 -0700 Subject: [PATCH 25/25] enable the esrp release stage --- .azure-pipelines/client.yml | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml index 5d8c2e19..cc02aca7 100644 --- a/.azure-pipelines/client.yml +++ b/.azure-pipelines/client.yml @@ -528,7 +528,6 @@ extends: if (!(Test-Path $destinationFolder)){ New-Item -Path $destinationFolder -ItemType Directory -Force } - Write-Host "Copying $source to $destinationFile" Copy-Item -Path $source -Destination $destinationFile -Force } @@ -536,21 +535,19 @@ extends: Get-ChildItem "$(Build.ArtifactStagingDirectory)" -Recurse -Force | % { Write-Host $_.FullName } displayName: Move artifact to $(Build.ArtifactStagingDirectory) - # todo, investigate why uamqp linux isn't showing up in the wheel list - - # - task: EsrpRelease@7 - # displayName: 'Publish to ESRP' - # inputs: - # ConnectedServiceName: 'Azure SDK Engineering System' - # ClientId: '5f81938c-2544-4f1f-9251-dd9de5b8a81b' - # KeyVaultName: 'AzureSDKEngKeyVault' - # AuthCertName: 'azure-sdk-esrp-release-auth-certificate' - # SignCertName: 'azure-sdk-esrp-release-sign-certificate' - # Intent: 'PackageDistribution' - # ContentType: 'PyPI' - # FolderLocation: $(Build.ArtifactStagingDirectory) - # Owners: $(Build.RequestedForEmail) - # Approvers: $(Build.RequestedForEmail) - # ServiceEndpointUrl: 'https://api.esrp.microsoft.com' - # MainPublisher: 'ESRPRELPACMANTEST' - # DomainTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47' + - task: EsrpRelease@7 + displayName: 'Publish to ESRP' + inputs: + ConnectedServiceName: 'Azure SDK Engineering System' + ClientId: '5f81938c-2544-4f1f-9251-dd9de5b8a81b' + KeyVaultName: 'AzureSDKEngKeyVault' + AuthCertName: 'azure-sdk-esrp-release-auth-certificate' + SignCertName: 'azure-sdk-esrp-release-sign-certificate' + Intent: 'PackageDistribution' + ContentType: 'PyPI' + FolderLocation: $(Build.ArtifactStagingDirectory) + Owners: $(Build.RequestedForEmail) + Approvers: $(Build.RequestedForEmail) + ServiceEndpointUrl: 'https://api.esrp.microsoft.com' + MainPublisher: 'ESRPRELPACMANTEST' + DomainTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47'