| steps: |
| - checkout: self |
| clean: true |
| fetchDepth: 5 |
| |
| - ${{ if ne(parameters.targetBranch, '') }}: |
| - script: | |
| git fetch -q origin ${{ parameters.targetbranch }} |
| if ! git diff --name-only HEAD $(git merge-base HEAD FETCH_HEAD) | grep -qvE '(\.rst$|^Doc|^Misc)' |
| then |
| echo "Only docs were updated, stopping build process." |
| echo "##vso[task.setvariable variable=DocOnly]true" |
| exit |
| fi |
| displayName: Detect doc-only changes |
| |
| - task: docker@0 |
| displayName: 'Configure CPython (debug)' |
| inputs: |
| action: 'Run an image' |
| imageName: $(imageName) |
| volumes: | |
| $(build.sourcesDirectory):/src |
| $(build.binariesDirectory):/build |
| workDir: '/src' |
| containerCommand: './configure --with-pydebug' |
| detached: false |
| condition: and(succeeded(), ne(variables['DocOnly'], 'true')) |
| |
| - task: docker@0 |
| displayName: 'Build CPython' |
| inputs: |
| action: 'Run an image' |
| imageName: $(imageName) |
| volumes: | |
| $(build.sourcesDirectory):/src |
| $(build.binariesDirectory):/build |
| workDir: '/src' |
| containerCommand: 'make -s -j4' |
| detached: false |
| condition: and(succeeded(), ne(variables['DocOnly'], 'true')) |
| |
| - task: docker@0 |
| displayName: 'Display build info' |
| inputs: |
| action: 'Run an image' |
| imageName: $(imageName) |
| volumes: | |
| $(build.sourcesDirectory):/src |
| $(build.binariesDirectory):/build |
| workDir: '/src' |
| containerCommand: 'make pythoninfo' |
| detached: false |
| condition: and(succeeded(), ne(variables['DocOnly'], 'true')) |
| |
| - task: docker@0 |
| displayName: 'Tests' |
| inputs: |
| action: 'Run an image' |
| imageName: $(imageName) |
| volumes: | |
| $(build.sourcesDirectory):/src |
| $(build.binariesDirectory):/build |
| workDir: '/src' |
| containerCommand: 'make buildbottest TESTOPTS="-j4 -uall,-cpu --junit-xml=/build/test-results.xml"' |
| detached: false |
| condition: and(succeeded(), ne(variables['DocOnly'], 'true')) |
| |
| - task: PublishTestResults@2 |
| displayName: 'Publish Test Results' |
| inputs: |
| testResultsFiles: '$(build.binariesDirectory)/test-results.xml' |
| mergeTestResults: true |
| testRunTitle: $(testRunTitle) |
| platform: $(testRunPlatform) |
| condition: and(succeededOrFailed(), ne(variables['DocOnly'], 'true')) |