-
Notifications
You must be signed in to change notification settings - Fork 6
/
appveyor.yml
140 lines (112 loc) · 4.82 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
130
131
132
133
134
135
136
137
138
139
140
build: false
environment:
global:
# SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
# /E:ON and /V:ON options are not enabled in the batch script intepreter
# See: http://stackoverflow.com/a/13751649/163740
CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\appveyor\\run_with_env.cmd"
matrix:
# Pre-installed Python versions, which Appveyor may upgrade to
# a later point release.
# See: http://www.appveyor.com/docs/installed-software#python
- PYTHON: "C:\\Python27"
PYTHON_VERSION: "2.7.x"
PYTHON_ARCH: "32"
- PYTHON: "C:\\Python27-x64"
PYTHON_VERSION: "2.7.x"
PYTHON_ARCH: "64"
# NOTE: python3.4 is disabled as we cannot install automatically the pywin32 lib from pypi
# - PYTHON: "C:\\Python34"
# PYTHON_VERSION: "3.4.x"
# PYTHON_ARCH: "32"
#
# - PYTHON: "C:\\Python34-x64"
# PYTHON_VERSION: "3.4.x"
# PYTHON_ARCH: "64"
# - PYTHON: "C:\\Python35"
# PYTHON_VERSION: "3.5.0"
# PYTHON_ARCH: "32"
# - PYTHON: "C:\\Python35-x64"
# PYTHON_VERSION: "3.5.0"
# PYTHON_ARCH: "64"
# - PYTHON: "C:\\Python36"
# PYTHON_VERSION: "3.6.0"
# PYTHON_ARCH: "32"
#
# - PYTHON: "C:\\Python36-x64"
# PYTHON_VERSION: "3.6.0"
# PYTHON_ARCH: "64"
#
# - PYTHON: "C:\\Python37"
# PYTHON_VERSION: "3.7.0"
# PYTHON_ARCH: "32"
#
# - PYTHON: "C:\\Python37-x64"
# PYTHON_VERSION: "3.7.0"
# PYTHON_ARCH: "64"
# For debug purpose only
APPVEYOR_RDP_PASSWORD: Azerty123!
install:
# If there is a newer build queued for the same PR, cancel this one.
# The AppVeyor 'rollout builds' option is supposed to serve the same
# purpose but it is problematic because it tends to cancel builds pushed
# directly to master instead of just PR builds (or the converse).
# credits: JuliaLang developers.
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
throw "There are newer queued builds for this pull request, failing early." }
- ECHO "Filesystem root:"
- ps: "ls \"C:/\""
# Install Python (from the official .msi of http://python.org) and pip when not already installed.
- ps: if (-not(Test-Path($env:PYTHON))) { & appveyor\install.ps1 }
# Prepend newly installed Python to the PATH of this build (this cannot be
# done from inside the powershell script as it would require to restart
# the parent CMD process).
- "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
# Check that we have the expected version and architecture for Python
- "python --version"
- "python -c \"import struct; print(struct.calcsize('P') * 8)\""
# Upgrade to the latest version of pip to avoid it displaying warnings
# about it being out of date.
- "python -m pip install --upgrade pip"
- "python setup.py install"
# TODO: remove this, and let the setup.py do the job
- xcopy . c:\opsbro /O /X /E /H /K /Y /Q
- dir c:\opsbro
build_script:
- python --version
test_script:
# Run the project tests
- "%CMD_IN_ENV% python bin/opsbro"
- echo "CLASSIC RUN"
- python bin\opsbro agent start --one-shot
- echo "Analyser RUN
- python bin\opsbro packs overload global.shinken-enterprise
- python bin\opsbro packs parameters set local.shinken-enterprise.enabled True
- python bin\opsbro packs parameters set local.shinken-enterprise.file_result "C:\shinken-local-analyzer-payload.json"
- python bin\opsbro agent start --one-shot
- type C:\shinken-local-analyzer-payload.json
- echo "SERVICE RUN"
- "python -c \"import sys; print(sys.executable)\""
# This should be available before go
#- C:\Python27-x64\lib\site-packages\win32\pythonservice.exe
# CLEAN ALL logs
- wevtutil cl System
- wevtutil cl Application
- "%CMD_IN_ENV% python c:/opsbro/bin/opsbro agent windows service-install"
# Enable the shinken-enterprise module
- sc start OpsBro || sc qc OpsBro && sc query OpsBro && wevtutil qe Application && wevtutil qe System && type c:\opsbro.log && bad
- "python -c \"import time; time.sleep(10)\""
- "%CMD_IN_ENV% python c:/opsbro/bin/opsbro agent info"
- "%CMD_IN_ENV% python c:/opsbro/bin/opsbro collectors state"
- "%CMD_IN_ENV% python c:/opsbro/bin/opsbro monitoring state"
- "%CMD_IN_ENV% python c:/opsbro/bin/opsbro compliance state"
- "%CMD_IN_ENV% python c:/opsbro/bin/opsbro collectors show"
- sc stop OpsBro
#- "python -c \"import time; time.sleep(10)\""
# Now stop and check that the shinken module did works
#-
# ENABLE DEBUG MODE
#on_finish:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))