diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 00000000..f48a54bb --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,67 @@ +# Test the SeleniumBase Python package with Azure Pipelines. +# https://docs.microsoft.com/azure/devops/pipelines/languages/python + +trigger: +- master + +jobs: + +- job: 'Test' + pool: + vmImage: 'Ubuntu-16.04' + strategy: + matrix: + Python27: + python.version: '2.7' + Python36: + python.version: '3.6' + Python37: + python.version: '3.7' + maxParallel: 4 + + steps: + - task: UsePythonVersion@0 + inputs: + versionSpec: '$(python.version)' + architecture: 'x64' + + - script: python -m pip install --upgrade pip && pip install -r requirements.txt + displayName: 'Install dependencies' + + - script: sudo apt install google-chrome-stable + displayName: 'Install Chrome' + + - script: sudo apt-get install firefox + displayName: 'Install Firefox' + + - script: seleniumbase install chromedriver + displayName: 'Install Chromedriver' + + - script: seleniumbase install geckodriver + displayName: 'Install Geckodriver (Firefox driver)' + + - script: | + pip install pytest + pytest examples/my_first_test.py --browser=chrome --headless --junitxml=junit/test-results.xml + pytest examples/my_first_test.py --browser=firefox --headless --junitxml=junit/test-results.xml + displayName: 'pytest' + + - task: PublishTestResults@2 + inputs: + testResultsFiles: '**/test-results.xml' + testRunTitle: 'Python $(python.version)' + condition: succeededOrFailed() + +- job: 'Publish' + dependsOn: 'Test' + pool: + vmImage: 'Ubuntu-16.04' + + steps: + - task: UsePythonVersion@0 + inputs: + versionSpec: '3.x' + architecture: 'x64' + + - script: python setup.py sdist + displayName: 'Build sdist'