Bug 1610034 [wpt PR 21245] - Added support for Edge Stable channel, a=testonly
authorMustapha Jaber <mustjab@users.noreply.github.com>
Tue, 21 Jan 2020 10:54:45 +0000
changeset 573936 258bdcf841b2c78ec2b6223862f30935fb7dc53c
parent 573935 2564b6455d12d78f208cec3bc6a3549ac5d18164
child 573937 5e0f11050f45f57ae383e2d76c29de4a750c443e
push id12662
push userffxbld-merge
push dateMon, 10 Feb 2020 10:43:10 +0000
treeherdermozilla-beta@ace4081e8200 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1610034, 21245
milestone74.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1610034 [wpt PR 21245] - Added support for Edge Stable channel, a=testonly Automatic update from web-platform-tests Added support for Edge Stable channel (#21245) -- wpt-commits: ab8f451eb39eb198584d547f5d965ef54df2a86a wpt-pr: 21245
testing/web-platform/tests/.azure-pipelines.yml
testing/web-platform/tests/tools/ci/azure/install_edge.yml
testing/web-platform/tests/tools/wpt/browser.py
--- a/testing/web-platform/tests/.azure-pipelines.yml
+++ b/testing/web-platform/tests/.azure-pipelines.yml
@@ -14,16 +14,17 @@
 #  - A self-hosted Windows 10 agent pool named 'Hosted Windows Client'.
 #    Documention for the setup of these agents:
 #    https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/v2-windows
 
 trigger:
 # These are all the branches referenced in the jobs that follow.
 - epochs/daily
 - epochs/three_hourly
+- triggers/edge_stable
 - triggers/edge_dev
 - triggers/edge_canary
 - triggers/safari_stable
 - triggers/safari_preview
 
 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.
@@ -234,16 +235,52 @@ jobs:
     displayName: 'Run tests (Edge Dev)'
   - task: PublishBuildArtifacts@1
     displayName: 'Publish results'
     inputs:
       artifactName: 'infrastructure'
     condition: always()
   - template: tools/ci/azure/cleanup_win10.yml
 
+- job: results_edge_stable
+  displayName: 'all tests: Edge Stable'
+  condition: |
+    or(eq(variables['Build.SourceBranch'], 'refs/heads/epochs/daily'),
+       eq(variables['Build.SourceBranch'], 'refs/heads/triggers/edge_stable'),
+       and(eq(variables['Build.Reason'], 'Manual'), variables['run_all_edge_stable']))
+  strategy:
+    parallel: 10 # chosen to make runtime ~2h
+  timeoutInMinutes: 180
+  pool:
+    name: 'Hosted Windows Client'
+  steps:
+  - template: tools/ci/azure/system_info.yml
+  - template: tools/ci/azure/checkout.yml
+  - template: tools/ci/azure/install_python.yml
+  - template: tools/ci/azure/pip_install.yml
+    parameters:
+      packages: virtualenv
+  - template: tools/ci/azure/install_certs.yml
+  - template: tools/ci/azure/install_edge.yml
+    parameters:
+      channel: stable
+  - template: tools/ci/azure/update_hosts.yml
+  - template: tools/ci/azure/update_manifest.yml
+  - script: python ./wpt run --yes --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --install-fonts --this-chunk $(System.JobPositionInPhase) --total-chunks $(System.TotalJobsInPhase) --chunk-type hash --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot_$(System.JobPositionInPhase).txt --log-mach - --log-mach-level info --channel stable edgechromium
+    displayName: 'Run tests (Edge Stable)'
+  - task: PublishBuildArtifacts@1
+    displayName: 'Publish results'
+    inputs:
+      artifactName: 'edge-stable-results'
+  - template: tools/ci/azure/cleanup_win10.yml
+- template: tools/ci/azure/fyi_hook.yml
+  parameters:
+    dependsOn: results_edge_stable
+    artifactName: edge-stable-results
+
 - job: results_edge_dev
   displayName: 'all tests: Edge Dev'
   condition: |
     or(eq(variables['Build.SourceBranch'], 'refs/heads/epochs/three_hourly'),
        eq(variables['Build.SourceBranch'], 'refs/heads/triggers/edge_dev'),
        and(eq(variables['Build.Reason'], 'Manual'), variables['run_all_edge_dev']))
   strategy:
     parallel: 10 # chosen to make runtime ~2h
--- a/testing/web-platform/tests/tools/ci/azure/install_edge.yml
+++ b/testing/web-platform/tests/tools/ci/azure/install_edge.yml
@@ -1,14 +1,34 @@
 parameters:
   channel: dev
 
 # Should match https://web-platform-tests.org/running-tests/chrome.html
 # Just replace chrome with edgechromium
 steps:
+- ${{ if eq(parameters.channel, 'stable') }}:
+  - powershell: |
+      $edgeInstallerName = 'MicrosoftEdgeSetup.exe'
+      # Link to Stable channel installer
+      Start-BitsTransfer -Source 'https://go.microsoft.com/fwlink/?linkid=2108834&Channel=Stable&language=en' -Destination MicrosoftEdgeSetup.exe
+      if (-not (Test-Path $edgeInstallerName)) {
+        Throw "Failed to download Edge installer to $edgeInstallerName."
+      }
+      cmd /c START /WAIT $edgeInstallerName /silent /install
+      $edgePath = "$env:systemdrive\Program Files (x86)\Microsoft\Edge\Application"
+      if (Test-Path $edgePath) {
+        Write-Host "##vso[task.prependpath]$edgePath"
+        Write-Host "Edge Stable installed at $edgePath."
+        (Get-Item -Path "$edgePath\msedge.exe").VersionInfo | Format-List
+      } else {
+        Copy-Item -Path "$env:temp\*edge*.log" -Destination $(Build.ArtifactStagingDirectory)  -Force
+        Throw "Failed to install Edge at $edgePath"
+      }
+    displayName: 'Install Edge Stable'
+
 - ${{ if eq(parameters.channel, 'canary') }}:
   - powershell: |
       $edgeInstallerName = 'MicrosoftEdgeSetup.exe'
       # Link to Canary channel installer
       Start-BitsTransfer -Source 'https://go.microsoft.com/fwlink/?linkid=2084649&Channel=Canary&language=en-us' -Destination MicrosoftEdgeSetup.exe
       if (-not (Test-Path $edgeInstallerName)) {
         Throw "Failed to download Edge installer to $edgeInstallerName."
       }
--- a/testing/web-platform/tests/tools/wpt/browser.py
+++ b/testing/web-platform/tests/tools/wpt/browser.py
@@ -883,18 +883,20 @@ class EdgeChromium(Browser):
     def find_binary(self, venv_path=None, channel=None):
         binary = None
         if self.platform == "win":
             binaryname = "msedge"
             binary = find_executable(binaryname)
             if not binary:
                 # Use paths from different Edge channels starting with Release\Beta\Dev\Canary
                 winpaths = [os.path.expanduser("~\\AppData\\Local\\Microsoft\\Edge\\Application"),
+                            os.path.expandvars("$SYSTEMDRIVE\\Program Files\\Microsoft\\Edge\\Application"),
                             os.path.expandvars("$SYSTEMDRIVE\\Program Files\\Microsoft\\Edge Beta\\Application"),
                             os.path.expandvars("$SYSTEMDRIVE\\Program Files\\Microsoft\\Edge Dev\\Application"),
+                            os.path.expandvars("$SYSTEMDRIVE\\Program Files (x86)\\Microsoft\\Edge\\Application"),
                             os.path.expandvars("$SYSTEMDRIVE\\Program Files (x86)\\Microsoft\\Edge Beta\\Application"),
                             os.path.expandvars("$SYSTEMDRIVE\\Program Files (x86)\\Microsoft\\Edge Dev\\Application"),
                             os.path.expanduser("~\\AppData\Local\\Microsoft\\Edge SxS\\Application")]
                 return find_executable(binaryname, os.pathsep.join(winpaths))
         if self.platform == "macos":
             binaryname = "Microsoft Edge Canary"
             binary = find_executable(binaryname)
             if not binary: