-
-
Notifications
You must be signed in to change notification settings - Fork 32
/
.appveyor.yml
122 lines (104 loc) · 6.36 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
version: '{branch}.ci.{build}'
init:
- ps: Update-AppveyorBuild -Version "$env:appveyor_repo_branch.$(Get-Date -format yyyy.MM.dd).$env:appveyor_build_number"
image:
- Visual Studio 2019
configuration:
- Debug
- Release
platform:
- x64
cache:
- build\3rdparty\bin -> clear_cache.txt
- build\3rdparty\lib -> clear_cache.txt
- build\3rdparty\include -> clear_cache.txt
branches:
except:
- coverity_scan
environment:
ASIO_STANDALONE: 1
MYSQL_DATABASE: osirose
MYSQL_HOST: localhost
MYSQL_USER: root
MYSQL_PWD: "Password12!"
MYSQL_PATH: C:\Program Files\MySQL\MySQL Server 5.7
MYSQL_CONNECTOR_PATH: C:\Program Files\MySQL\MySQL Connector C 6.1
PROJECT_PATH: C:\projects\osIROSE
GTEST_OUTPUT: C:\projects\osIROSE\build\Test.xml
PYTHON_PATH: C:\Python35
INCLUDE: C:\projects\osIROSE\build\3rdparty\googletest\googlemock\include;C:\projects\osIROSE\build\3rdparty\googletest\googletest\include;C:\projects\osIROSE\build\3rdparty\spdlog\include;
WEBHOOK_URL:
secure: qW1+/etxvda5Tq14Tgk6+Z4V3uMO+5u614AocT+1ubbSHS0vamu/iQXzSX1OQjyXD4FpHUwXc4+buQcjjzRbluSLW2T+99xxfqNHUTTj4pPRYqcUxIFED5E7j/vvR+TMefSuKS2RUUkxifaUAujs39Z/Ual/2kBLBabMHboK8eE=
matrix:
fast_finish: true
clone_depth: 50
clone_folder: C:\projects\osIROSE
install:
- cmd: cd %PROJECT_PATH%
- cmd: "cmake -version"
- cmd: git submodule update --init --recursive
- ps: Start-FileDownload http://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.1.11-winx64.msi -FileName C:\projects\osIROSE\mysql-connector-c.msi
- ps: Start-FileDownload https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip -FileName C:\projects\osIROSE\ninja-win.zip
- ps: Expand-Archive C:\projects\osIROSE\ninja-win.zip -DestinationPath C:\projects\osIROSE\build\3rdparty\bin -Force
- cmd: "./cmake/scripts/msvc_mysqlpp_install.bat"
- cmd: "./cmake/scripts/msvc_install.bat"
- cmd: "%PROJECT_PATH%/cmake/scripts/robocopy.bat %PROJECT_PATH%/scripts %PROJECT_PATH%/build/bin/scripts *.lua"
build:
parallel: true
build_script:
- cmd: cd build
- cmd: "%PROJECT_PATH%/cmake/scripts/msvc_build.bat"
after_build:
- ps: If(!(test-path "C:\projects\osIROSE\package")) { New-Item -ItemType Directory -Force -Path "C:\projects\osIROSE\package" }
- cmd: "%PROJECT_PATH%/cmake/scripts/robocopy.bat %PROJECT_PATH%/scripts %PROJECT_PATH%/package/scripts *.lua"
- cmd: "%PROJECT_PATH%/cmake/scripts/robocopy_flat.bat %APPVEYOR_BUILD_FOLDER%/build/3rdparty/bin %PROJECT_PATH%/package *.dll"
- cmd: "%PROJECT_PATH%/cmake/scripts/robocopy_flat.bat %APPVEYOR_BUILD_FOLDER%/build/3rdparty/bin %PROJECT_PATH%/package *.exe"
- cmd: "%PROJECT_PATH%/cmake/scripts/robocopy_flat.bat %APPVEYOR_BUILD_FOLDER%/build/bin %PROJECT_PATH%/package *.exe"
- cmd: "%PROJECT_PATH%/cmake/scripts/robocopy_flat.bat %APPVEYOR_BUILD_FOLDER%/build/bin %PROJECT_PATH%/package *.dll"
- cmd: "%PROJECT_PATH%/cmake/scripts/robocopy_flat.bat %APPVEYOR_BUILD_FOLDER%/build/bin %PROJECT_PATH%/package *.pdb"
- cmd: "%PROJECT_PATH%/cmake/scripts/robocopy_flat.bat %APPVEYOR_BUILD_FOLDER%/build/bin %PROJECT_PATH%/package *.lib"
- cmd: "%PROJECT_PATH%/cmake/scripts/robocopy.bat %APPVEYOR_BUILD_FOLDER%/Database %PROJECT_PATH%/package *.*"
- 7z a %APPVEYOR_BUILD_FOLDER%/%PLATFORM%-%APPVEYOR_BUILD_VERSION%-%CONFIGURATION%.zip %APPVEYOR_BUILD_FOLDER%/package/*
#- 7z a %APPVEYOR_BUILD_FOLDER%/%PLATFORM%-debug-symbols-%APPVEYOR_BUILD_VERSION%-%CONFIGURATION%.zip %APPVEYOR_BUILD_FOLDER%/build/bin/symbols
artifacts:
- path: $(platform)-$(appveyor_build_version)-$(configuration).zip
name: osirose-package
#- path: $(platform)-debug-symbols-%APPVEYOR_BUILD_VERSION%-%CONFIGURATION%.zip
# name: osirose-debug-symbols
#on_success:
# - ps: Invoke-RestMethod https://raw.githubusercontent.com/k3rn31p4nic/appveyor-discord-webhook/master/send.ps1 -o send.ps1
# - ps: ./send.ps1 success $env:WEBHOOK_URL
# - cmd: cd %APPVEYOR_BUILD_FOLDER%/build/bin
# - SET PATH=%PROJECT_PATH%\build\3rdparty\bin;C:\msys64\usr\bin;%PATH%
# - curl --connect-timeout 30 --retry 5 --retry-delay 0 -F symfile=@LoginServer.pdb "%BACKTRACE_URL%/post?format=symbols&token=%BACKTRACE_TOKEN%"
# - curl --connect-timeout 30 --retry 5 --retry-delay 0 -F symfile=@CharServer.pdb "%BACKTRACE_URL%/post?format=symbols&token=%BACKTRACE_TOKEN%"
# - curl --connect-timeout 30 --retry 5 --retry-delay 0 -F symfile=@MapServer.pdb "%BACKTRACE_URL%/post?format=symbols&token=%BACKTRACE_TOKEN%"
# - curl --connect-timeout 30 --retry 5 --retry-delay 0 -F symfile=@NodeServer.pdb "%BACKTRACE_URL%/post?format=symbols&token=%BACKTRACE_TOKEN%"
#on_failure:
# - ps: Invoke-RestMethod https://raw.githubusercontent.com/k3rn31p4nic/appveyor-discord-webhook/master/send.ps1 -o send.ps1
# - ps: ./send.ps1 failure $env:WEBHOOK_URL
#before_test:
# - SET PATH=%MYSQL_CONNECTOR_PATH%\lib;%MYSQL_PATH%\bin;%PYTHON_PATH%\Scripts;%PATH%
# - SET STATIC_DEPS=true
# - pip.exe install lxml
# - mysqladmin --host=%MYSQL_HOST% --user=%MYSQL_USER% --password=%MYSQL_PWD% create %MYSQL_DATABASE%
# - mysql --user=%MYSQL_USER% --password=%MYSQL_PWD% --database=%MYSQL_DATABASE% < "%PROJECT_PATH%/Database/osirose.sql"
# - C:/projects/osIROSE/build/bin/TestConfig.exe --gtest_filter=SetupTesting.**
# - ps: $a = Get-Content 'C:\projects\osIROSE\build\server.json' -raw | ConvertFrom-Json; $a.database | % {if($_.user -eq 'root'){$_.password='Password12!'}}; $a | ConvertTo-Json | set-content 'C:\projects\osIROSE\build\server.json'; $a | ConvertTo-Json | set-content 'C:\projects\osIROSE\build\test.ini'; $a | ConvertTo-Json | set-content 'C:\projects\osIROSE\build\src\tests\server.json'; $a | ConvertTo-Json | set-content 'C:\projects\osIROSE\build\src\tests\test.ini';
#test_script:
# - ctest -C %CONFIGURATION% --output-on-failure --no-compress-output -T Test -E "TestConfig|SetupTesting" || verify > NUL
#deploy:
# release: osirose-win-v$(appveyor_build_version) # this is here to prevent appveyor from overwriting our release notes
# description: ''
# provider: GitHub
# auth_token:
# secure: g7E2KwFd5bLd1ZiWSFGE9Ek13/uDOmmsOh080SXDBYcIpbL/rXHOU53F7t3ZxpmS # your encrypted token from GitHub
# artifact: osirose-package
# draft: true
# prerelease: true
# force_update: false
# on:
# branch: master # release from master branch only
# appveyor_repo_tag: true # deploy on tag push only
#on_finish:
#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))