-
Notifications
You must be signed in to change notification settings - Fork 0
/
azure-pipelines.yml
70 lines (59 loc) · 1.9 KB
/
azure-pipelines.yml
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
62
63
64
65
66
67
68
69
70
# 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
trigger:
branches:
include:
- '*'
variables:
sonarcloudServiceConnection: 'SonarCloudConnection'
sonarcloudOrganization: 'damonstamper'
sonarcloudProjectName: 'putting-dnd-in-tdd-python'
sonarcloudProjectKey: 'putting-dnd-in-tdd-python'
pool:
vmImage: 'ubuntu-latest'
strategy:
matrix:
# Python36:
# python.version: '3.6'
Python37:
python.version: '3.7'
steps:
- task: UsePythonVersion@0
displayName: 'Prep -Use Python $(python.version)'
inputs:
versionSpec: '$(python.version)'
- task: SonarCloudPrepare@1
displayName: Prep - Configure SonarCloud
inputs:
SonarCloud: $(sonarcloudServiceConnection)
organization: $(sonarcloudOrganization)
projectKey: $(sonarcloudProjectKey)
projectName: $(sonarcloudProjectName)
scannerMode: 'CLI'
configMode: 'file'
configFile: sonar-project.properties
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Build - Install dependencies'
- script: |
pip install pytest-azurepipelines
pytest --junitxml=junit.xml --cov-config=setup.cfg --cov-report=xml --cov=DnDinTDD
displayName: 'Build - test via pytest'
- script: |
ls -lha
cat junit.xml
displayName: 'DEBUG - LS root dir and cat coverage'
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: 'coverage.xml'
testRunTitle: 'Publish test results for Python $(python.version)'
- task: SonarCloudAnalyze@1
displayName: Build - Analyze code coverage for SonarCloud
- task: SonarCloudPublish@1
displayName: Build - Publish code coverage to SonarCloud
inputs:
pollingTimeoutSec: '300'