trigger: branches: include: - '*' # Build for all branches if they have a azure-pipelines.yml file. tags: include: - 'v*' # Ensure that we are building for tags starting with 'v' (Official Versions) # Build only for PRs for master branch pr: autoCancel: true branches: include: - master - develop variables: OFFICIAL_REPO: 'pyqtgraph/pyqtgraph' DEFAULT_MERGE_BRANCH: 'develop' stages: - stage: "pre_test" jobs: - job: check_diff_size pool: vmImage: 'Ubuntu 16.04' steps: - bash: | git config --global advice.detachedHead false mkdir ~/repo-clone && cd ~/repo-clone git init git remote add -t $(Build.SourceBranchName) origin $(Build.Repository.Uri) git remote add -t ${DEFAULT_MERGE_BRANCH} upstream https://github.com/${OFFICIAL_REPO}.git git fetch origin $(Build.SourceBranchName) git fetch upstream ${DEFAULT_MERGE_BRANCH} git checkout $(Build.SourceBranchName) MERGE_SIZE=`du -s . | sed -e "s/\t.*//"` echo -e "Merge Size ${MERGE_SIZE}" git checkout ${DEFAULT_MERGE_BRANCH} TARGET_SIZE=`du -s . | sed -e "s/\t.*//"` echo -e "Target Size ${TARGET_SIZE}" if [ "${MERGE_SIZE}" != "${TARGET_SIZE}" ]; then SIZE_DIFF=`expr \( ${MERGE_SIZE} - ${TARGET_SIZE} \)`; else SIZE_DIFF=0; fi; echo -e "Estimated content size difference = ${SIZE_DIFF} kB" && test ${SIZE_DIFF} -lt 100; displayName: 'Diff Size Check' continueOnError: true - job: "style_check" pool: vmImage: "Ubuntu 16.04" steps: - task: UsePythonVersion@0 inputs: versionSpec: 3.7 - bash: | pip install flake8 python setup.py style displayName: 'flake8 check' continueOnError: true - job: "build_wheel" pool: vmImage: 'Ubuntu 16.04' steps: - task: UsePythonVersion@0 inputs: versionSpec: 3.7 - script: | python -m pip install setuptools wheel python setup.py bdist_wheel --universal displayName: "Build Python Wheel" continueOnError: false - publish: dist artifact: wheel - stage: "test" jobs: - template: azure-test-template.yml parameters: name: linux vmImage: 'Ubuntu 16.04' - template: azure-test-template.yml parameters: name: windows vmImage: 'vs2017-win2016' - template: azure-test-template.yml parameters: name: macOS vmImage: 'macOS-10.13'