mirror of
https://git.suyu.dev/suyu/breakpad
synced 2024-11-21 14:29:09 -07:00
Appveyor CI for Windows MSVS build
Add a .gyp file for building all windows tools, and add hook to run gyp to create corresponding .sln files. This doesn't try to build for platform:x64. This fails due to various errors caused by the assumption that size_t can be converted to an unsigned int without loss of information, which is not true on Windows x64 (LLP64), where size_t is 64 bits, but int is only 32 bits. There are test failures. client_tests failures are as described in [1]. dump_syms_unittest are as discussed in the description of [2]. [1] https://bugs.chromium.org/p/google-breakpad/issues/detail?id=520 [2] https://codereview.chromium.org/1782453003 BUG= Change-Id: I965244eb3746f87f30160fd0577e1cc9eb7a8b08 Reviewed-on: https://chromium-review.googlesource.com/441026 Reviewed-by: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
parent
93c447a0de
commit
d4676b89a0
4 changed files with 95 additions and 1 deletions
7
DEPS
7
DEPS
|
@ -69,6 +69,13 @@ hooks = [
|
||||||
"--no-circular-check",
|
"--no-circular-check",
|
||||||
"src/src/client/windows/breakpad_client.gyp"],
|
"src/src/client/windows/breakpad_client.gyp"],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
# XXX: this and above should all be wired into build/all.gyp ?
|
||||||
|
"action": ["python",
|
||||||
|
"src/src/tools/gyp/gyp_main.py",
|
||||||
|
"--no-circular-check",
|
||||||
|
"src/src/tools/windows/tools_windows.gyp"],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
# Keep the manifest up to date.
|
# Keep the manifest up to date.
|
||||||
"action": ["python", "src/src/tools/python/deps-to-manifest.py",
|
"action": ["python", "src/src/tools/python/deps-to-manifest.py",
|
||||||
|
|
|
@ -8,7 +8,7 @@ crash-reporting system.
|
||||||
* [Bugs](https://bugs.chromium.org/p/google-breakpad/)
|
* [Bugs](https://bugs.chromium.org/p/google-breakpad/)
|
||||||
* Discussion/Questions: [google-breakpad-discuss@googlegroups.com](https://groups.google.com/d/forum/google-breakpad-discuss)
|
* Discussion/Questions: [google-breakpad-discuss@googlegroups.com](https://groups.google.com/d/forum/google-breakpad-discuss)
|
||||||
* Developer/Reviews: [google-breakpad-dev@googlegroups.com](https://groups.google.com/d/forum/google-breakpad-dev)
|
* Developer/Reviews: [google-breakpad-dev@googlegroups.com](https://groups.google.com/d/forum/google-breakpad-dev)
|
||||||
* Tests: [![Build Status](https://travis-ci.org/google/breakpad.svg?branch=master)](https://travis-ci.org/google/breakpad)
|
* Tests: [![Build Status](https://travis-ci.org/google/breakpad.svg?branch=master)](https://travis-ci.org/google/breakpad) [![Build status](https://ci.appveyor.com/api/projects/status/eguv4emv2rhq68u2?svg=true)](https://ci.appveyor.com/project/vapier/breakpad)
|
||||||
* Coverage [![Coverity Status](https://scan.coverity.com/projects/9215/badge.svg)](https://scan.coverity.com/projects/google-breakpad)
|
* Coverage [![Coverity Status](https://scan.coverity.com/projects/9215/badge.svg)](https://scan.coverity.com/projects/google-breakpad)
|
||||||
|
|
||||||
## Getting started (from master)
|
## Getting started (from master)
|
||||||
|
|
42
appveyor.yml
Normal file
42
appveyor.yml
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
version: '{build}'
|
||||||
|
|
||||||
|
environment:
|
||||||
|
GYP_MSVS_VERSION: 2013
|
||||||
|
|
||||||
|
platform:
|
||||||
|
- Win32
|
||||||
|
|
||||||
|
configuration:
|
||||||
|
- Debug
|
||||||
|
- Release
|
||||||
|
|
||||||
|
# Use the source dir expected by gclient.
|
||||||
|
clone_folder: c:\projects\breakpad\src
|
||||||
|
|
||||||
|
# Before checkout.
|
||||||
|
init:
|
||||||
|
- cd %APPVEYOR_BUILD_FOLDER%\..\..
|
||||||
|
- appveyor DownloadFile https://storage.googleapis.com/chrome-infra/depot_tools.zip
|
||||||
|
- 7z -bd x depot_tools.zip -odepot_tools
|
||||||
|
- depot_tools\update_depot_tools
|
||||||
|
- cd %APPVEYOR_BUILD_FOLDER%
|
||||||
|
|
||||||
|
# After checkout.
|
||||||
|
install:
|
||||||
|
- PATH C:\projects\depot_tools;%PATH%
|
||||||
|
- cd %APPVEYOR_BUILD_FOLDER%\..
|
||||||
|
- gclient config https://%APPVEYOR_REPO_PROVIDER%.com/%APPVEYOR_REPO_NAME% --unmanaged --name=src
|
||||||
|
- gclient sync
|
||||||
|
|
||||||
|
build_script:
|
||||||
|
- cd %APPVEYOR_BUILD_FOLDER%
|
||||||
|
- msbuild src\client\windows\breakpad_client.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /m /verbosity:normal
|
||||||
|
- msbuild src\tools\windows\tools_windows.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /m /verbosity:normal
|
||||||
|
|
||||||
|
test_script:
|
||||||
|
- src\client\windows\%CONFIGURATION%\client_tests.exe
|
||||||
|
- src\tools\windows\%CONFIGURATION%\dump_syms_unittest.exe
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
- path: '**\*.exe'
|
||||||
|
- path: '**\*.lib'
|
45
src/tools/windows/tools_windows.gyp
Normal file
45
src/tools/windows/tools_windows.gyp
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
# Copyright 2017 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 THE COPYRIGHT
|
||||||
|
# OWNER 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.
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
'includes': [
|
||||||
|
'../../build/common.gypi',
|
||||||
|
],
|
||||||
|
'targets': [
|
||||||
|
{
|
||||||
|
'target_name': 'build_all',
|
||||||
|
'type': 'none',
|
||||||
|
'dependencies': [
|
||||||
|
'./converter/ms_symbol_server_converter.gyp:*',
|
||||||
|
'./dump_syms/dump_syms.gyp:*',
|
||||||
|
'./symupload/symupload.gyp:*',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
Loading…
Reference in a new issue