forked from keybase/kbfs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
86 lines (76 loc) · 2.99 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
environment:
global:
GOPATH: c:\work\
KEYBASE_SERVER_URI: https://ci1.keybase.io
CGO_ENABLED: 1
GOARCH: 386
CC: c:\MinGW\bin\gcc
CPATH: C:\MinGW\include;C:\MinGW\include\ddk
GOVERSION: 1.7
install:
- systeminfo | findstr /C:"OS"
- appveyor DownloadFile https://storage.googleapis.com/golang/go%GOVERSION%.windows-amd64.zip
- ps: rmdir C:\go -Force -Recurse -Confirm:$false
- 7z x go%GOVERSION%.windows-amd64.zip -o"C:\" -y > nul
- set Path=c:\go\bin;%Path%
# Keybase-built and signed v1.0.0-RC4
- appveyor DownloadFile https://github.com/keybase/dokany/files/321479/dokan.zip
- 7z x dokan.zip -o"C:\dokan" -y -aoa > nul
- copy C:\dokan\x64\Win8.1Release\sys\dokan1.sys C:\windows\system32\drivers\
- pushd C:\dokan\Win32\Release
- copy dokan1.dll C:\windows\syswow64\
- Bcdedit.exe -set TESTSIGNING ON
- ps: Restart-Computer -Force
- ps: Start-Sleep -s 10
- cd C:\dokan\Win32\Release
- dokanctl /i a
- sc create dokan1 type= kernel binPath= system32\drivers\dokan1.sys
- sc start dokan1
- sc query dokan1
# clone directory
clone_folder: c:\work\src\github.com\keybase\kbfs
#---------------------------------#
# build configuration #
#---------------------------------#
# build platform, i.e. x86, x64, Any CPU. This setting is optional.
platform: x64
os: Visual Studio 2015
# scripts to run before build
before_build:
# scripts to run after build
after_build:
# to run your custom scripts instead of automatic MSBuild
build_script:
- SET PATH=%PATH%;c:\MinGW\bin
- cd c:\work\src\github.com\keybase\kbfs
- cd dokan
- go test -i
- go test -c
- cd ..\kbfsdokan
- go install
- cd ..\test
- go test -i
- cd ..
# Eventually there will be more tests, but let's just start with these for now
# - go list ./... | find /V "vendor" > testlist.txt
- echo github.com/keybase/kbfs/kbfsblock > testlist.txt
- echo github.com/keybase/kbfs/kbfscodec >> testlist.txt
- echo github.com/keybase/kbfs/kbfscrypto >> testlist.txt
- echo github.com/keybase/kbfs/kbfshash >> testlist.txt
- echo github.com/keybase/kbfs/kbfssync >> testlist.txt
- echo github.com/keybase/kbfs/tlf >> testlist.txt
- echo github.com/keybase/kbfs/libkbfs >> testlist.txt
- echo github.com/keybase/kbfs/libdokan >> testlist.txt
- echo github.com/keybase/kbfs/simplefs >> testlist.txt
- echo github.com/keybase/kbfs/test >> testlist.txt
# TODO: Run the below tests with env KEYBASE_TEST_BSERVER_ADDR=tempdir.
- for /f %%i in (testlist.txt) do (appveyor AddTest %%i -Outcome Running -Framework gotest -Filename %%i & go test -timeout 5m %%i && appveyor UpdateTest %%i -Outcome Passed -Framework gotest -Filename %%i -Duration 0) || (appveyor UpdateTest %%i -Outcome Failed -Framework gotest -Filename %%i -Duration 0 & exit /b 1)
- cd test && go test -tags dokan -timeout 300s
# to disable automatic builds
#build: off
# to run your custom scripts instead of automatic tests
test_script:
# only run on pull requests and pushes to master
branches:
only:
- master