1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
# Python package
# Create and test a Python package on multiple Python versions.
# Add steps that analyze code, save the dist with the build record, publish to a PyPI-compatible index, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/python
jobs:
- job: 'Test'
pool:
vmImage: 'windows-2022'
strategy:
matrix:
Python310:
python.version: '3.10'
maxParallel: 4
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
architecture: 'x64'
- script: |
python -m pip install --upgrade pip
python -m pip install wheel
pip install numpy scipy orsopy cython traitlets ipython ipywidgets pandas h5py xlrd pytest tqdm corner uncertainties matplotlib pyqt6 pytest-qt periodictable attrs
# - script: pip install git+https://github.com/pymc-devs/pymc3
displayName: 'Install dependencies'
- script: |
python setup.py bdist_wheel
displayName: 'make wheel'
- script: |
cd dist
pip install --only-binary=refnx --no-index --find-links=. refnx
pip install pytest
pytest --pyargs refnx
cd ..
displayName: 'pytest'
- script: |
pip uninstall -y pandas h5py xlrd pytest pytest-qt
# more recent versions of setuptools don't work with PyInstaller
pip install setuptools==44 pyinstaller
pyinstaller tools/app/motofit.spec
displayName: 'Frozen refnx GUI'
condition: in(variables['python.version'], '3.10')
- task: CopyFiles@2
inputs:
contents: dist/**
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: $(Build.ArtifactStagingDirectory)
artifactName: refnx_wheels
|