https://github.com/web-platform-tests/wpt
Revision 259d0612af038d14f2cd889a14a3adb6c9e96d96 authored by Josh Matthews on 23 December 2018, 05:25:51 UTC, committed by Josh Matthews on 26 December 2018, 14:25:28 UTC
1 parent cd31531
Raw File
Tip revision: 259d0612af038d14f2cd889a14a3adb6c9e96d96 authored by Josh Matthews on 23 December 2018, 05:25:51 UTC
Claim to support testdriver in servodriver
Tip revision: 259d061
.azure-pipelines.yml
# This is the configuration file for Azure Pipelines, used to run tests on
# macOS. Documentation to help understand this setup:
# https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema
# https://docs.microsoft.com/en-us/azure/devops/pipelines/process/multiple-phases
# https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates
# https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables
# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/index
#
# In addition to this configuration file, the "Build pull requests from forks
# of this repository" setting must also be enabled in the Azure DevOps project:
# https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/github#validate-contributions-from-forks

trigger: none # disable builds for branches

jobs:
# The affected tests jobs are unconditional for speed, as most PRs have one or
# more affected tests: https://github.com/web-platform-tests/wpt/issues/13936.
- job: affected_macOS
  displayName: 'affected tests (Safari Technology Preview)'
  pool:
    vmImage: 'macOS-10.13'
  steps:
  - template: tools/ci/azure/affected_tests.yml
    parameters:
      artifactName: 'results'

- job: affected_without_changes_macOS
  displayName: 'affected tests without changes (Safari Technology Preview)'
  pool:
    vmImage: 'macOS-10.13'
  steps:
  - template: tools/ci/azure/affected_tests.yml
    parameters:
      checkoutCommit: 'HEAD^1'
      affectedRange: 'HEAD@{1}'
      artifactName: 'results-without-changes'

# The decision jobs runs `./wpt test-jobs` to determine which jobs to run,
# and all following jobs wait for it to finish and depend on its output.
- job: decision
  displayName: './wpt test-jobs'
  pool:
    vmImage: 'ubuntu-16.04'
  steps:
  - template: tools/ci/azure/checkout.yml
  - script: |
      ./wpt test-jobs | while read job; do
        echo "$job"
        echo "##vso[task.setvariable variable=$job;isOutput=true]true";
      done
    name: test_jobs
    displayName: 'Run ./wpt test-jobs'

- job: infrastructure_macOS
  displayName: 'infrastructure/ tests (macOS)'
  dependsOn: decision
  condition: dependencies.decision.outputs['test_jobs.wptrunner_infrastructure']
  pool:
    vmImage: 'macOS-10.13'
  steps:
  - template: tools/ci/azure/checkout.yml
  - template: tools/ci/azure/pip_install.yml
    parameters:
      packages: virtualenv
  - template: tools/ci/azure/install_fonts.yml
  - template: tools/ci/azure/install_certs.yml
  - template: tools/ci/azure/install_chrome.yml
  - template: tools/ci/azure/install_firefox.yml
  - template: tools/ci/azure/install_safari.yml
  - template: tools/ci/azure/update_hosts.yml
  - template: tools/ci/azure/update_manifest.yml
  - script: no_proxy='*' ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-tbpl $(Build.ArtifactStagingDirectory)/chrome.tbpl.log --log-tbpl-level info --channel dev chrome infrastructure/
    displayName: 'Run tests (Chrome Dev)'
  - script: no_proxy='*' ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-tbpl $(Build.ArtifactStagingDirectory)/firefox.tbpl.log --log-tbpl-level info --channel nightly firefox infrastructure/
    displayName: 'Run tests (Firefox Nightly)'
  - script: no_proxy='*' ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-tbpl $(Build.ArtifactStagingDirectory)/safari.tbpl.log --log-tbpl-level info --channel preview safari infrastructure/
    displayName: 'Run tests (Safari Technology Preview)'
  - task: PublishBuildArtifacts@1
    displayName: 'Publish results'
    inputs:
      artifactName: 'infrastructure'
    condition: succeededOrFailed()

- job: tools_unittest_macOS
  displayName: 'tools/ unittests (macOS)'
  dependsOn: decision
  condition: dependencies.decision.outputs['test_jobs.tools_unittest']
  pool:
    vmImage: 'macOS-10.13'
  steps:
  - template: tools/ci/azure/checkout.yml
  - template: tools/ci/azure/tox_pytest.yml
    parameters:
      directory: tools/
      toxenv: py27

- job: wptrunner_unittest_macOS
  displayName: 'tools/wptrunner/ unittests (macOS)'
  dependsOn: decision
  condition: dependencies.decision.outputs['test_jobs.wptrunner_unittest']
  pool:
    vmImage: 'macOS-10.13'
  steps:
  - template: tools/ci/azure/checkout.yml
  - template: tools/ci/azure/tox_pytest.yml
    parameters:
      directory: tools/wptrunner/

- job: wpt_integration_macOS
  displayName: 'tools/wpt/ tests (macOS)'
  dependsOn: decision
  condition: dependencies.decision.outputs['test_jobs.wpt_integration']
  pool:
    vmImage: 'macOS-10.13'
  steps:
  # full checkout required
  - template: tools/ci/azure/install_chrome.yml
  - template: tools/ci/azure/install_firefox.yml
  - template: tools/ci/azure/update_hosts.yml
  - template: tools/ci/azure/update_manifest.yml
  - template: tools/ci/azure/tox_pytest.yml
    parameters:
      directory: tools/wpt/
back to top