forked from DynamoRIO/dynamorio
-
Notifications
You must be signed in to change notification settings - Fork 2
/
.appveyor.yml
129 lines (114 loc) · 5.27 KB
/
.appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# **********************************************************
# Copyright (c) 2017-2018 Google, Inc. All rights reserved.
# **********************************************************
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# * Neither the name of Google, Inc. nor the names of its contributors may be
# used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL VMWARE, INC. OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
# DAMAGE.
# AppVeyor CI configuration:
notifications:
- provider: Email
to:
on_build_success: false
on_build_failure: true
# Unfortunately there's no way to disable emails on pull requests,
# like Travis does, so we try to cut down on the noise by only
# sending out failures.
on_build_status_changed: false
# We don't do a shallow clone of just the source archive as we want to get
# the diff for source file checks.
# We do limit to the last few commits to speed things up:
clone_depth: 10
# Don't run on pushes to feature branches: pull requests cover those.
branches:
only:
- master
platform: x64
image: Visual Studio 2013
build:
verbosity: detailed
# i#2406: Appveyor's global serialization makes it painful to use more than
# one configuration. We no longer build packages with VS2010 and are
# dropping official support for it, meaning we only need to test VS2013 here.
configuration:
- 2013
install:
##################################################
# Install ninja so we have readable output.
- mkdir c:\projects\install
- cd c:\projects\install
- appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip
- 7z x ninja-win.zip -oc:\projects\install\ninja > nul
- set PATH=c:\projects\install\ninja;%PATH%
##################################################
# Install packages for docs.
# i#2616: internet outages have caused builds to spin for tens of minutes, only to fail
# due to chocolatey and fig2dev download errors. We instead ignore errors here and
# continue to build and test anyway.
- choco install --timeout 600 -y doxygen.portable imagemagick.tool ghostscript || true
# The ghostscript package is an install that doesn't add to PATH.
# FIXME i#2145: fig2dev is failing to launch ghostscript, so for now
# we're disabling to get the initial AppVeyor to be green.
#- set PATH=C:\Program Files\gs\gs9.20\bin;%PATH%
# Install fig2dev.
- appveyor DownloadFile http://www.winfig.com/WinFIG-Dateien/WinFIG75.zip || true
- 7z x WinFIG75.zip > nul || true
- set PATH=c:\projects\install\WinFig;%PATH%
##################################################
# XXX i#2145: point at Qt5 for testing drgui build.
before_build:
- if "%configuration%"=="2013" call "c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86
- cd c:\projects\dynamorio
build_script:
- mkdir build
- cd build
- echo %PATH%
# The perl in c:\perl can't open a pipe so we use cygwin perl.
# XXX i#1967: can we pass "package" only when deploying to save time?
- c:\cygwin\bin\perl ../suite/runsuite_wrapper.pl travis use_ninja package %EXTRA_ARGS%
# Automated deployment of builds to GitHub Releases.
# We rely on a Travis cron job to push a tag to the repo which then
# triggers this deployment.
# We disable test running for these package builds in runsuite.cmake by
# looking for $APPVEYOR_REPO_TAG=="true".
artifacts:
- path: 'build\build_*\DynamoRIO*.zip'
name: DR.zip
type: zip
deploy:
provider: GitHub
auth_token:
secure: mfNFJ47dV/0CNpg156CiHuK3t6VUNCVhAIYNVkJfwjwY0dbhD1kIdMPfTMdarCnz
artifact: DR.zip
draft: false
prerelease: false
# We want to use the same release as Travis.
force_update: true
# Using the default "release:" name (the tag) to match Travis.
# This description replaces the one provided by Travis.
description: 'Auto-generated periodic build (Appveyor build $(appveyor_build_version)). Unlike official release builds, Dr. Memory is not included in this build, and for Linux, i686 is separated from x86_64 rather than being combined in one package.'
on:
branch: master
appveyor_repo_tag: true