зеркало из https://github.com/microsoft/genalog.git
Add CI templates
This commit is contained in:
Родитель
cc31cf5866
Коммит
7ae1d6c244
|
@ -0,0 +1,58 @@
|
|||
name: $(Date:yyyyMMdd).$(Rev:r)
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
linux_x64_py3.6:
|
||||
imageName: 'ubuntu-18.04'
|
||||
pyVersion: '3.6'
|
||||
|
||||
# windows_x64_py3.6:
|
||||
# imageName: 'windows-2019'
|
||||
# pyVersion: '3.6'
|
||||
|
||||
# macos_x64_py3.6:
|
||||
# imageName: 'macOS-10.14'
|
||||
# pyVersion: '3.6'
|
||||
|
||||
# To build using more python versions follow the syntax below:
|
||||
# linux_x64_py3.5:
|
||||
# imageName: 'ubuntu-16.04'
|
||||
# pyVersion: '3.5'
|
||||
|
||||
pool:
|
||||
vmImage: '$(imageName)'
|
||||
|
||||
steps:
|
||||
- template: templates/run-linter.yml
|
||||
parameters:
|
||||
pyVersion: $(python.version)
|
||||
|
||||
- template: templates/run-tests.yml
|
||||
parameters:
|
||||
testType: 'unit'
|
||||
imageName: $(imageName)
|
||||
pyVersion: $(python.version)
|
||||
|
||||
# - template: templates/run-tests.yml
|
||||
# parameters:
|
||||
# testType: 'azure'
|
||||
# imageName: $(imageName)
|
||||
# pyVersion: $(python.version)
|
||||
|
||||
# - bash: |
|
||||
# python setup.py bdist_wheel --build-number $(Build.BuildNumber) --dist-dir dist
|
||||
# workingDirectory: $(Build.SourcesDirectory)
|
||||
# displayName: 'Building wheel package'
|
||||
|
||||
# - bash: |
|
||||
# mkdir $BUILD_ARTIFACTSTAGINGDIRECTORY/py$(python.version)/
|
||||
# cp -r dist/* $BUILD_ARTIFACTSTAGINGDIRECTORY/py$(python.version)/
|
||||
# workingDirectory: $(Build.SourcesDirectory)
|
||||
# displayName: 'Copying builds to artifact staging dir'
|
||||
|
||||
# - task: PublishBuildArtifacts@1
|
||||
# inputs:
|
||||
# PathtoPublish: $(Build.ArtifactStagingDirectory)
|
||||
# ArtifactName: genalog
|
||||
# publishLocation: 'Container'
|
||||
# displayName: 'Publish build as artifacts'
|
|
@ -0,0 +1,24 @@
|
|||
# Template for running linter and other static analysis tools on the code
|
||||
parameters:
|
||||
- name: pyVersion
|
||||
type: string
|
||||
default: 3.6
|
||||
|
||||
steps:
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '$(pyVersion)'
|
||||
addToPath: true
|
||||
architecture: 'x64'
|
||||
displayName: 'Use Python $(pyVersion)'
|
||||
|
||||
- bash: |
|
||||
python -m pip install --upgrade pip setuptools wheel
|
||||
python -m pip install -r requirements-dev.txt
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
displayName: 'Install flake8 and other dev dependencies'
|
||||
|
||||
- bash: |
|
||||
tox -e flake8
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
displayName: 'Run Linter (flake8)'
|
|
@ -0,0 +1,63 @@
|
|||
# Template for running tests on multiple Python versions and platforms
|
||||
|
||||
parameters:
|
||||
- name: imageName
|
||||
type: string
|
||||
- name: testType
|
||||
type: string
|
||||
default: all
|
||||
values:
|
||||
- slow
|
||||
- azure
|
||||
- unit
|
||||
- all
|
||||
- name: pyVersion
|
||||
type: string
|
||||
default: 3.6
|
||||
|
||||
steps:
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '$(pyVersion)'
|
||||
addToPath: true
|
||||
architecture: 'x64'
|
||||
displayName: 'Use Python $(pyVersion)'
|
||||
|
||||
- bash: |
|
||||
python -m pip install --upgrade pip setuptools wheel
|
||||
python -m pip install -r requirements.txt
|
||||
python -m pip install -r requirements-dev.txt
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
displayName: 'Install dependencies'
|
||||
|
||||
- bash: |
|
||||
if [[ '${{parameters.testType}}' == 'all' ]]
|
||||
then
|
||||
tox -e py
|
||||
elif [[ '${{parameters.testType}}' == 'unit' ]]
|
||||
then
|
||||
tox -e py -- -m "not slow and not azure"
|
||||
else
|
||||
tox -e py -- -m "${{parameters.testType}}"
|
||||
fi
|
||||
env:
|
||||
BLOB_KEY : $(BLOB_KEY)
|
||||
SEARCH_SERVICE_KEY: $(SEARCH_SERVICE_KEY)
|
||||
COGNITIVE_SERVICE_KEY: $(COGNITIVE_SERVICE_KEY)
|
||||
COMPUTER_VISION_SUBSCRIPTION_KEY: $(COMPUTER_VISION_SUBSCRIPTION_KEY)
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
displayName: 'Test via tox'
|
||||
|
||||
- task: PublishTestResults@2
|
||||
inputs:
|
||||
testResultsFormat: 'JUnit'
|
||||
testResultsFiles: 'junit/*.xml'
|
||||
searchFolder: $(Build.SourcesDirectory)
|
||||
testRunTitle: $(imageName)_$(pyVersion) Build
|
||||
buildPlatform: $(imageName)
|
||||
displayName: 'Publish unit test report'
|
||||
|
||||
- task: PublishCodeCoverageResults@1
|
||||
inputs:
|
||||
codeCoverageTool: Cobertura
|
||||
summaryFileLocation: '$(Build.SourcesDirectory)/**/coverage.xml'
|
Загрузка…
Ссылка в новой задаче