Spaces:
Build error
Build error
| variables: | |
| # Container registry service connection established during pipeline creation | |
| CI_PULL_REQUEST: $(System.PullRequest.PullRequestId) | |
| COVERALLS_FLAG_NAME: Build \# $(Build.BuildNumber) | |
| COVERALLS_GIT_BRANCH: $(Build.SourceBranchName) | |
| COVERALLS_GIT_COMMIT: $(Build.SourceVersion) | |
| COVERALLS_SERVICE_JOB_ID: $(Build.BuildId) | |
| COVERALLS_SERVICE_NAME: python-ci | |
| python.38: 3.8 | |
| python.39: 3.9 | |
| python.310: 3.10 | |
| python.311: 3.11 | |
| # PythonCoverallsToken: get this from Azure | |
| jobs: | |
| # Build and publish container | |
| - job: Build | |
| #Multi-configuration and multi-agent job options are not exported to YAML. Configure these options using documentation guidance: https://docs.microsoft.com/vsts/pipelines/process/phases | |
| pool: | |
| vmImage: 'ubuntu-latest' | |
| strategy: | |
| matrix: | |
| Python38: | |
| PYTHON_VERSION: '$(python.38)' | |
| Python39: | |
| PYTHON_VERSION: '$(python.39)' | |
| Python310: | |
| PYTHON_VERSION: '$(python.310)' | |
| Python311: | |
| PYTHON_VERSION: '$(python.311)' | |
| maxParallel: 3 | |
| steps: | |
| - powershell: | | |
| Get-ChildItem env:* | sort-object name | Format-Table -Autosize -Wrap | Out-String -Width 120 | |
| displayName: 'Get environment vars' | |
| - task: UsePythonVersion@0 | |
| displayName: 'Use Python $(PYTHON_VERSION)' | |
| inputs: | |
| versionSpec: '$(PYTHON_VERSION)' | |
| - script: | | |
| python -m pip install --upgrade pip | |
| pip install -e ./libraries/botbuilder-schema | |
| pip install -e ./libraries/botframework-connector | |
| pip install -e ./libraries/botframework-streaming | |
| pip install -e ./libraries/botbuilder-core | |
| pip install -e ./libraries/botbuilder-ai | |
| pip install -e ./libraries/botbuilder-applicationinsights | |
| pip install -e ./libraries/botbuilder-dialogs | |
| pip install -e ./libraries/botbuilder-azure | |
| pip install -e ./libraries/botbuilder-testing | |
| pip install -e ./libraries/botbuilder-integration-applicationinsights-aiohttp | |
| pip install -e ./libraries/botbuilder-adapters-slack | |
| pip install -e ./libraries/botbuilder-integration-aiohttp | |
| pip install -r ./libraries/botframework-connector/tests/requirements.txt | |
| pip install -r ./libraries/botbuilder-core/tests/requirements.txt | |
| pip install -r ./libraries/botbuilder-ai/tests/requirements.txt | |
| pip install coveralls | |
| pip install pylint==2.17 | |
| pip install black==24.4.2 | |
| displayName: 'Install dependencies' | |
| - script: 'black --check libraries' | |
| displayName: 'Check Black compliant' | |
| - script: 'pylint --rcfile=.pylintrc libraries' | |
| displayName: Pylint | |
| - script: | | |
| pip install pytest | |
| pip install pytest-cov | |
| pip install coveralls | |
| pytest --junitxml=junit/test-results.$(PYTHON_VERSION).xml --cov-config=.coveragerc --cov --cov-report=xml --cov-report=html --ignore=libraries/functional-tests/tests/test_slack_client.py | |
| displayName: Pytest | |
| - task: PublishCodeCoverageResults@1 | |
| displayName: 'Publish Test Coverage' | |
| inputs: | |
| codeCoverageTool: Cobertura | |
| summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml' | |
| reportDirectory: '$(System.DefaultWorkingDirectory)/**/htmlcov' | |
| - task: PublishTestResults@2 | |
| displayName: 'Publish Test Results **/test-results.$(PYTHON_VERSION).xml' | |
| inputs: | |
| testResultsFiles: '**/test-results.$(PYTHON_VERSION).xml' | |
| testRunTitle: 'Python $(PYTHON_VERSION)' | |
| - script: 'COVERALLS_REPO_TOKEN=$(PythonCoverallsToken) coveralls' | |
| displayName: 'Push test results to coveralls https://coveralls.io/github/microsoft/botbuilder-python' | |
| continueOnError: true | |
| condition: and(succeeded(), eq(variables['System.PullRequest.IsFork'], 'false')) | |
| - powershell: | | |
| Set-Location .. | |
| Get-ChildItem -Recurse -Force | |
| displayName: 'Dir workspace' | |
| condition: succeededOrFailed() | |
| - powershell: | | |
| # This task copies the code coverage file created by dotnet test into a well known location. In all | |
| # checks I've done, dotnet test ALWAYS outputs the coverage file to the temp directory. | |
| # My attempts to override this and have it go directly to the CodeCoverage directory have | |
| # all failed, so I'm just doing the copy here. (cmullins) | |
| Get-ChildItem -Path "$(Build.SourcesDirectory)" -Include "*coverage*" | Copy-Item -Destination "$(Build.ArtifactStagingDirectory)/CodeCoverage" | |
| displayName: 'Copy .coverage Files to CodeCoverage folder' | |
| continueOnError: true | |
| - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 | |
| displayName: 'Component Detection' | |