mirror of
https://github.com/aimingmed/aimingmed-ai.git
synced 2026-01-19 21:37:31 +08:00
57 lines
2.1 KiB
YAML
57 lines
2.1 KiB
YAML
parameters:
|
|
- name: projectName
|
|
type: string
|
|
- name: packageName
|
|
type: string
|
|
- name: workingDirectory
|
|
type: string
|
|
|
|
jobs:
|
|
- job: Build
|
|
timeoutInMinutes: 120
|
|
pool:
|
|
vmImage: "ubuntu-latest"
|
|
variables:
|
|
PYTHON_VERSION: 3.9
|
|
POETRY_VERSION: 1.4.2
|
|
|
|
|
|
steps:
|
|
- task: UsePythonVersion@0
|
|
inputs:
|
|
versionSpec: ${{ variables.PYTHON_VERSION }}
|
|
- checkout: self
|
|
fetchDepth: 1
|
|
displayName: "Checkout repo"
|
|
- script: pip install poetry==${{ variables.POETRY_VERSION }} pytest-azurepipelines
|
|
displayName: "Install pipeline dependencies"
|
|
- script: poetry install
|
|
displayName: "Setup environment using Poetry"
|
|
workingDirectory: ${{ parameters.workingDirectory }}
|
|
- script: make lint-check
|
|
displayName: "Lint check using Ruff"
|
|
workingDirectory: ${{ parameters.workingDirectory }}
|
|
- script: make format-check
|
|
displayName: "Format check using Black"
|
|
workingDirectory: ${{ parameters.workingDirectory }}
|
|
- script: make statictypes-check
|
|
displayName: "Static types check using Pyright"
|
|
workingDirectory: ${{ parameters.workingDirectory }}
|
|
- script: |
|
|
poetry run pytest --junitxml=results.xml --cov=${{ parameters.packageName }} --cov-report xml
|
|
displayName: "Execute unit tests using Pytest"
|
|
workingDirectory: ${{ parameters.workingDirectory }}
|
|
- task: PublishTestResults@2
|
|
displayName: "upload Test Results"
|
|
condition: succeededOrFailed()
|
|
inputs:
|
|
testResultsFormat: "JUnit"
|
|
testResultsFiles: "$(System.DefaultWorkingDirectory)/${{ parameters.workingDirectory }}/results.xml"
|
|
testRunTitle: "${{ parameters.projectName }} | $(Build.SourceVersionMessage)/$(Build.BuildId)"
|
|
- task: PublishCodeCoverageResults@1
|
|
displayName: "Upload code coverage Results"
|
|
inputs:
|
|
codeCoverageTool: 'Cobertura'
|
|
summaryFileLocation: "$(System.DefaultWorkingDirectory)/${{ parameters.workingDirectory }}/coverage.xml"
|
|
pathToSources: $(System.DefaultWorkingDirectory)/${{ parameters.workingDirectory }}/src/
|