forked from HaxeFoundation/haxe
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathappveyor.yml
80 lines (72 loc) · 3.53 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
version: "{build}"
platform:
- Win32
environment:
global:
NEKO_ROOT: C:/projects/neko
HAXELIB_ROOT: C:/projects/haxelib
CYG_ARCH: x86
CYG_ROOT: C:/cygwin
CYG_SETUP: C:/cygwin/setup-x86.exe
MINGW_ARCH: i686
WODI: wodi32
ADD_REVISION: 1
OCAMLOPT: ocamlopt.opt
MYSQL_PATH: C:\Program Files\MySQL\MySQL Server 5.6
MYSQL_USER: root
MYSQL_PASSWORD: Password12!
matrix:
- TEST: "neko,python,cs,java,macro"
- TEST: "cpp"
services:
- mysql
skip_tags: true
install:
- 'git submodule update --init --recursive'
# Install ocaml using wodi
- appveyor DownloadFile "http://cygwin.com/setup-%CYG_ARCH%.exe" -FileName "%CYG_ROOT%\setup.exe"
- '%CYG_ROOT%/setup.exe -g -q -R "%CYG_ROOT%" -P dos2unix -P diffutils -P cpio -P make -P patch -P mingw64-%MINGW_ARCH%-gcc-core -P mingw64-%MINGW_ARCH%-gcc-g++ -P git > log.txt || type log.txt'
- '%CYG_ROOT%/bin/bash -lc "cygcheck -dc cygwin" > log.txt || type log.txt'
# The archive is a dropbox hosted version of https://github.com/fdopen/godi-repo/issues/7#issuecomment-98480339
- '%CYG_ROOT%/bin/bash -lc "wget -q https://dl.dropboxusercontent.com/u/2661116/wodi/%WODI%.tar.xz -O /tmp/%WODI%.tar.xz" > log.txt || type log.txt'
- '%CYG_ROOT%/bin/bash -lc "cd /tmp && rm -rf %WODI% && tar -xf %WODI%.tar.xz && bash %WODI%/install.sh" > log.txt || type log.txt'
- '%CYG_ROOT%/bin/bash -lc "godi_add godi-zip" > log.txt || type log.txt'
- 'set PATH=%PATH%;%CYG_ROOT%/opt/%WODI%/bin'
# Install neko
- 'git clone --recursive https://github.com/HaxeFoundation/neko.git %NEKO_ROOT%'
- 'cd %NEKO_ROOT%'
- set PATH=%PATH%;%NEKO_ROOT%/bin
- msbuild vm\nekovm.vcxproj /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" > log.txt || type log.txt
- msbuild vm\nekovm_dll.vcxproj /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" > log.txt || type log.txt
- msbuild libs\libs_vc10.sln /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" > log.txt || type log.txt
- copy /y libs\include\gc\gc.dll bin
- cd %NEKO_ROOT%/src
- neko ../boot/nekoc tools/install.neko
- neko tools/install -nolibs > log.txt || type log.txt
- neko -version
# setup python
- cmd: mklink C:\Python34-x64\python3.exe C:\Python34-x64\python.exe
- set PATH=%PATH%;C:\Python34-x64
build_script:
- 'cd %APPVEYOR_BUILD_FOLDER%'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && make -s -f Makefile.win package_src || echo package_src failed"'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && make -s -f Makefile.win"'
- 'set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%'
- 'set HAXEPATH=%APPVEYOR_BUILD_FOLDER%'
- '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && make -s -f Makefile.win package_bin"'
- dir %APPVEYOR_BUILD_FOLDER%\out
- cd %APPVEYOR_BUILD_FOLDER%/tests/
- mkdir "%HAXELIB_ROOT%"
- haxelib setup "%HAXELIB_ROOT%"
# setup mysql for testing
- set PATH=%MYSQL_PATH%\bin;%PATH%
- mysql --user=%MYSQL_USER% --password=%MYSQL_PASSWORD% -e "create user 'travis'@'localhost';"
- mysql --user=%MYSQL_USER% --password=%MYSQL_PASSWORD% -e "create database haxe_test;"
- mysql --user=%MYSQL_USER% --password=%MYSQL_PASSWORD% -e "grant all on haxe_test.* to 'travis'@'localhost';"
test_script:
- cd %APPVEYOR_BUILD_FOLDER%/tests/
- haxe -version
- haxe RunCi.hxml
- neko RunCi.n
artifacts:
- path: out/*