You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

87 lines
3.2 KiB

steps:
- checkout: self
submodules: true
- template: azure-install-rust.yml
- bash: mkdir misc/wasmtime-py/wheelhouse
displayName: Pre-create wheelhouse directory
# Note that we skip this on Linux because Python 3.6 is pre-installed in the
# CentOS container.
- task: UsePythonVersion@0
inputs:
versionSpec: '3.6'
addToPath: true
condition: and(succeeded(), ne(variables['Agent.OS'], 'Linux'))
# Install Python dependencies needed for our `setup.py` scripts
- bash: sudo pip3 install setuptools wheel==0.31.1 setuptools-rust auditwheel
displayName: Install Python dependencies (Linux)
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
- bash: pip3 install setuptools wheel==0.31.1 setuptools-rust
displayName: Install Python dependencies (not Linux)
condition: and(succeeded(), ne(variables['Agent.OS'], 'Linux'))
- bash: python setup.py bdist_wheel
workingDirectory: misc/wasmtime-py
displayName: Build wheels py36
# Clear the build directory between building different wheels for different
# Python versions to ensure that we don't package dynamic libraries twice by
# accident.
- bash: rm -rf build
workingDirectory: misc/wasmtime-py
displayName: Clear build directory
# Note that 3.7 isn't installed on Linux so we don't do this a second time
# around.
- task: UsePythonVersion@0
inputs:
versionSpec: '3.7'
addToPath: true
condition: and(succeeded(), ne(variables['Agent.OS'], 'Linux'))
- bash: sudo bash ci/setup_centos6_python37.sh
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
- bash: sudo pip3 install setuptools wheel==0.31.1 setuptools-rust auditwheel
displayName: Install Python dependencies (Linux)
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
- bash: pip3 install setuptools wheel==0.31.1 setuptools-rust
displayName: Install Python dependencies (not Linux)
condition: and(succeeded(), ne(variables['Agent.OS'], 'Linux'))
- bash: |
set -e
export PYTHON_SYS_EXECUTABLE=`which python3.7`
$PYTHON_SYS_EXECUTABLE setup.py bdist_wheel
workingDirectory: misc/wasmtime-py
displayName: Build wheels py37
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
- bash: python setup.py bdist_wheel
workingDirectory: misc/wasmtime-py
displayName: Build wheels py37
condition: and(succeeded(), ne(variables['Agent.OS'], 'Linux'))
# Move `dist/*.whl` into `wheelhouse/` so we can deploy them, but on Linux we
# need to run an `auditwheel` command as well to turn these into "manylinux"
# wheels to run across a number of distributions.
- bash: mv dist/*.whl wheelhouse/
workingDirectory: misc/wasmtime-py
displayName: Move wheels to wheelhouse (not Linux)
condition: and(succeeded(), ne(variables['Agent.OS'], 'Linux'))
- bash: |
set -e
for whl in dist/*.whl; do
auditwheel repair "$whl" -w wheelhouse/
done
workingDirectory: misc/wasmtime-py
displayName: Move wheels to wheelhouse (Linux)
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
# Publish our wheelhouse to azure pipelines which will later get published to
# github releases
- task: PublishPipelineArtifact@1
inputs:
path: misc/wasmtime-py/wheelhouse
artifactName: 'wheels-$(Agent.OS)'