trigger: - main - dev - feature/* - hotfix/* - bugfix/* - release/* strategy: matrix: UbuntuPython38: python.version: '3.8' imageName: 'ubuntu-latest' UbuntuPython310: python.version: '3.10' imageName: 'ubuntu-latest' WindowsPython38: python.version: '3.8' imageName: 'windows-latest' WindowsPython310: python.version: '3.10' imageName: 'windows-latest' MacOSPython38: python.version: '3.8' imageName: 'macOS-latest' MacOSPython310: python.version: '3.10' imageName: 'macOS-latest' pool: vmImage: $(imageName) steps: - task: UsePythonVersion@0 inputs: versionSpec: '$(python.version)' displayName: 'Use Python $(python.version)' - script: | python -m pip install pre-commit pre-commit install pre-commit run --all-files displayName: 'Run pre-commits' - script: | python -m pip install --upgrade pip==23.0.1 pip install wheel==0.38.4 --upgrade pip install setuptools==66 --upgrade pip install build==0.10.0 pip install pytest-azurepipelines displayName: 'Install build dependencies' - script: | python -m build displayName: 'Build PrimAITE' - script: | PRIMAITE_WHEEL=$(ls ./dist/primaite*.whl) python -m pip install $PRIMAITE_WHEEL[dev] displayName: 'Install PrimAITE' condition: or(eq( variables['Agent.OS'], 'Linux' ), eq( variables['Agent.OS'], 'Darwin' )) - script: | forfiles /p dist\ /m *.whl /c "cmd /c python -m pip install @file" displayName: 'Install PrimAITE' condition: eq( variables['Agent.OS'], 'Windows_NT' ) - script: | primaite setup displayName: 'Perform PrimAITE Setup' - script: | pytest tests/ displayName: 'Run tests'