forked from golemfactory/clay
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
106 lines (83 loc) · 2.92 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
os: Visual Studio 2017
version: '{branch}-{build}'
branches:
only:
- master
- develop
platform:
- x64
environment:
matrix:
- PYTHON: "C:\\Python35-x64"
PYTHON_VERSION: "3.5.0"
PYTHON_ARCH: "64"
VER_GETH: geth-windows-amd64-1.6.7-ab5646c5
VER_IPFS: go-ipfs_v0.4.4_windows-386
VER_HYPERG: 0.2.1
DIR_OPENSSL: C:\OpenSSL
DIR_GETH: C:\%VER_GETH%
DIR_IPFS: C:\go-ipfs
DIR_HYPERG: C:\hyperg
DIR_WHEELS: C:\wheels
PYWIN32: pywin32-221.win-amd64-py3.5.exe
WHEELS_URL: https://raw.githubusercontent.com/wiki/golemfactory/golem/wheels
BINARIES_URL: https://raw.githubusercontent.com/wiki/golemfactory/golem/binaries
cache:
- '%DIR_OPENSSL% -> appveyor.yml'
- '%DIR_IPFS% -> appveyor.yml'
- '%DIR_GETH% -> appveyor.yml'
- '%DIR_HYPERG% -> appveyor.yml'
- '%DIR_WHEELS% -> requirements.txt'
- '%LOCALAPPDATA%\pip\Cache -> requirements.txt'
install:
- set PATH=%PYTHON%;%PYTHON%\Scripts;%PYTHON%\Lib\site-packages\PyQt5;C:\OpenSSL-Win64;%DIR_GETH%;%DIR_IPFS%;%DIR_HYPERG%;%SystemRoot%\system32;%PATH%
# geth
- if not exist %DIR_GETH% (
appveyor DownloadFile https://gethstore.blob.core.windows.net/builds/%VER_GETH%.zip &&
7z x %VER_GETH%.zip -y -aoa -oC:\ > NUL
)
# golem-hyperdrive
- if not exist %DIR_HYPERG% (
curl -LfSs -o hyperg.zip https://github.com/mfranciszkiewicz/golem-hyperdrive/releases/download/v%VER_HYPERG%/hyperg_%VER_HYPERG%_windows-x64.zip &&
7z x hyperg.zip -y -aoa -oC:\ > NUL
)
- ps: $HyperdriveProcess = Start-Process hyperg -PassThru
# ipfs
- if not exist %DIR_IPFS% (
appveyor DownloadFile https://dist.ipfs.io/go-ipfs/v0.4.4/%VER_IPFS%.zip &&
7z x %VER_IPFS%.zip -y -aoa -oC:\ > NUL
)
- ipfs init
- ps: $IPFSProcess = Start-Process ipfs daemon -PassThru
# pip
- pip install --disable-pip-version-check --user --upgrade pip
# virtualenv
- pip install virtualenv
- virtualenv --version
- virtualenv --clear venv
- venv\Scripts\activate.bat
# pywin32
- if not exist %DIR_WHEELS% (
mkdir %DIR_WHEELS%
)
- if not exist %DIR_WHEELS%\%PYWIN32% (
appveyor DownloadFile %WHEELS_URL%/%PYWIN32% &&
move %PYWIN32% %DIR_WHEELS%\%PYWIN32%
)
- easy_install.exe %DIR_WHEELS%\%PYWIN32%
# requirements
- pip install six pytest mock coverage pytest-cov codecov
- pip install -r requirements.txt
- pip install -r requirements-win.txt
- python setup.py develop
build_script:
- msbuild apps\rendering\resources\taskcollector\taskcollector.sln /p:Configuration=Release /p:Platform=x64 /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
test_script:
- venv\Scripts\activate.bat
- pytest --cov=golem
after_test:
- venv\Scripts\activate.bat
- codecov
on_finish:
- ps: Stop-Process -Id $IPFSProcess.Id
- ps: Stop-Process -Id $HyperdriveProcess.Id