author | Kartikaya Gupta <kgupta@mozilla.com> |
Tue, 08 Jan 2019 14:15:30 +0000 | |
changeset 452914 | 507fae6b3eb45429cbd3ea034d1d0477b63b39ca |
parent 452913 | 2cd349b2685c6a570742af2af578971dbe5bc044 |
child 452915 | e1faf5fa77a67493a392649b3e4158570331f652 |
push id | 35334 |
push user | rmaries@mozilla.com |
push date | Tue, 08 Jan 2019 21:58:40 +0000 |
treeherder | mozilla-central@e08a0bb35c03 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | glandium, jrmuizel |
bugs | 1508828 |
milestone | 66.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
|
new file mode 100644 --- /dev/null +++ b/browser/config/tooltool-manifests/win64/webrender.manifest @@ -0,0 +1,26 @@ +[ + { + "version": "Visual Studio 2017 15.8.4 / SDK 10.0.17134.0", + "digest": "ecf1e03f6f98f86775059a43f9e7dc7e326f6643d7c08962d9f614e4f5a65b1ca63fa1cfeb0f1a3c2474bf0d4318dda960b378beb2a44ecf8a91111207f4ece5", + "size": 349626009, + "algorithm": "sha512", + "filename": "vs2017_15.8.4.zip", + "unpack": true + }, + { + "version": "CMake 3.6.2 repack", + "size": 19832889, + "digest": "39b0508b60f655969d1b54c76753b14b5b2e92dab58613c835aed798a6aeb9077a7df78aebc011c2c753661fdc15007d3353c0c8773a53148380e2ec02afb629", + "algorithm": "sha512", + "filename": "cmake362.zip", + "unpack": true + }, + { + "version": "Ninja 1.7.1", + "size": 184821, + "digest": "e4f9a1ae624a2630e75264ba37d396d9c7407d6e6aea3763056210ba6e1387908bd31cf4037a6a3661a418e86c4d2761e0c333e6a3bd0d66549d2b0d72d3f43b", + "algorithm": "sha512", + "filename": "ninja171.zip", + "unpack": true + } +]
--- a/taskcluster/ci/webrender/kind.yml +++ b/taskcluster/ci/webrender/kind.yml @@ -14,40 +14,43 @@ transforms: job-defaults: run-on-projects: ['mozilla-beta', 'trunk', 'try'] treeherder: tier: 2 kind: other worker: max-run-time: 1800 - docker-image: {in-tree: webrender} env: RUST_BACKTRACE: 'full' RUSTFLAGS: '--deny warnings' jobs: lint-tidy: description: Runs linting checks on WebRender code worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + docker-image: {in-tree: webrender} run: using: run-task command: >- cd $HOME/checkouts/gecko/gfx/wr && servo-tidy treeherder: platform: linux64-qr/opt symbol: WR(tidy) when: files-changed: - 'gfx/wr/**' linux-release: description: Runs release-mode WebRender CI tests on a Linux worker worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + docker-image: {in-tree: webrender} toolchains: - linux64-rust - wrench-deps run: using: run-task command: >- cd $HOME/workspace && $HOME/checkouts/gecko/mach artifact toolchain -v $MOZ_TOOLCHAINS && @@ -61,16 +64,18 @@ jobs: kind: other when: files-changed: - 'gfx/wr/**' linux-debug: description: Runs debug-mode WebRender CI tests on a Linux worker worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + docker-image: {in-tree: webrender} toolchains: - linux64-rust - wrench-deps run: using: run-task command: >- cd $HOME/workspace && $HOME/checkouts/gecko/mach artifact toolchain -v $MOZ_TOOLCHAINS && @@ -80,8 +85,32 @@ jobs: CARGOFLAGS="--verbose --frozen" ci-scripts/linux-debug-tests.sh treeherder: platform: linux64-qr/debug symbol: WR(wrench) kind: other when: files-changed: - 'gfx/wr/**' + + windows: + description: Runs WebRender CI tests on a Windows worker + worker-type: aws-provisioner-v1/gecko-t-win10-64 + worker: + max-run-time: 5400 + env: + TOOLTOOL_MANIFEST: 'browser/config/tooltool-manifests/win64/webrender.manifest' + toolchains: + - win64-rust + - wrench-deps + run: + using: run-task + command: '$GECKO_PATH/taskcluster/scripts/misc/wrench-windows-tests.sh' + treeherder: + platform: windows10-64-qr/release + symbol: WR(wrench) + when: + files-changed: + - 'build/win64/mozconfig.vs2017' + - 'browser/config/tooltool-manifests/win64/webrender.manifest' + - 'gfx/wr/**' + - 'taskcluster/scripts/misc/tooltool-download.sh' + - 'taskcluster/scripts/misc/wrench-windows-tests.sh'
new file mode 100644 --- /dev/null +++ b/taskcluster/scripts/misc/wrench-windows-tests.sh @@ -0,0 +1,58 @@ +#!/bin/bash +set -x -e -v + +# This script runs the windows CI scripts for standalone WebRender. The CI +# scripts build WebRender in various "standalone" (without Gecko) +# configurations and also run WebRender's reftest suite using the `wrench` +# tool in the WebRender repository. +# The builds involved require a number of dependencies to be available, +# which is all handled below. + +cd $GECKO_PATH + +# This will download the rustc, cmake, ninja, MSVC, and wrench-deps artifacts. +WORKSPACE="$PWD/../../" taskcluster/scripts/misc/tooltool-download.sh +export PATH=$PATH:$PWD/rustc/bin:$PWD/cmake/bin:$PWD/ninja/bin + +# We will be sourcing mozconfig files, which end up calling mk_add_options with +# various settings. We only need the variable settings they create along the +# way. Define mk_add_options as empty so the variables are defined but nothing +# else happens. +# This is adapted from the start of js/src/devtools/automation/winbuildenv.sh +# which does a similar thing. +mk_add_options() { + : +} + +export topsrcdir=$PWD +. $topsrcdir/build/win64/mozconfig.vs2017 + +# In the msys bash that we're running in, environment variables containing paths +# will *sometimes* get converted to windows format on their own, but it doesn't +# happen consistently. See bug 1508828 around comment 9 onwards for some details. +# To ensure we consistently convert the INCLUDE and LIB variables that MSVC +# needs for building stuff, we do it here explicitly. + +convert_path_to_win() { + echo $1 | + sed -e 's#:#\n#g' | # split path components into separate lines + sed -e 's#^/\(.\)/#\1:/#' | # replace first path component (if one letter) with equivalent drive letter + sed -e 's#/#\\#g' | # convert all forward slashes to backslashes + paste -s -d ';' # glue the lines back together +} + +export INCLUDE=$(convert_path_to_win "$INCLUDE") +export LIB=$(convert_path_to_win "$LIB") + +# Move the wrench-deps vendored crates into place +mv wrench-deps/{vendor,.cargo} gfx/wr +cd gfx/wr + +# This is needed for the WebRender standalone reftests +powershell.exe 'iex (Get-Content -Raw ci-scripts\set-screenresolution.ps1); Set-ScreenResolution 1920 1080' + +# Run the CI scripts +export CARGOFLAGS='--verbose --frozen' +export FREETYPE_CMAKE_GENERATOR=Ninja +cmd.exe /c 'ci-scripts\windows-tests.cmd' +cmd.exe /c 'ci-scripts\windows-pathfinder.cmd'