[mcs] Accept and ignore command line args supported by csc that we don't
[mono.git] / appveyor.yml
1 #
2 # Appveyor configuration file for CI build of Mono on Windows (under Cygwin)
3 #
4 # For further details see http://www.appveyor.com
5 #
6
7 #
8 # Custom environment variables
9 #
10 environment:
11     global:
12         CYG_ROOT: C:\cygwin
13         CYG_MIRROR: http://cygwin.mirror.constant.com
14         CYG_CACHE: C:\cygwin\var\cache\setup
15         CYG_BASH: C:\cygwin\bin\bash
16
17 #
18 # Cache Cygwin files to speed up build
19 #
20 cache:
21     - '%CYG_CACHE%'
22
23 #
24 # Do a shallow clone of the repo to speed up build
25 #
26 clone_depth: 1
27
28 #
29 # Initialisation prior to pulling the Mono repository
30 # Attempt to ensure we don't try to convert line endings to Win32 CRLF as this will cause build to fail
31 #
32 init:
33     - git config --global core.autocrlf input
34
35 #
36 # Install needed build dependencies
37
38 install:
39     - ps: 'Start-FileDownload "http://cygwin.com/setup-x86.exe" -FileName "setup-x86.exe"'
40     - 'setup-x86.exe --quiet-mode --no-shortcuts --only-site --root "%CYG_ROOT%" --site "%CYG_MIRROR%" --local-package-dir "%CYG_CACHE%" --packages autoconf,automake,bison,gcc-core,gcc-g++,mingw-runtime,mingw-binutils,mingw-gcc-core,mingw-gcc-g++,mingw-pthreads,mingw-w32api,libtool,make,python,gettext-devel,gettext,intltool,libiconv,pkg-config,git,curl,libxslt > NUL 2>&1'
41     - '%CYG_BASH% -lc "cygcheck -dc cygwin"'
42
43 # Cygwin build script
44 #
45 # NOTES:
46 #
47 # The stdin/stdout file descriptor appears not to be valid for the Appveyor
48 # build which causes failures as certain functions attempt to redirect 
49 # default file handles. Ensure a dummy file descriptor is opened with 'exec'.
50 #
51 build_script:
52     - 'echo Building...'
53     - '%CYG_BASH% -lc "cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; ./autogen.sh --prefix=/usr/local --host=i686-pc-mingw32"'
54     - '%CYG_BASH% -lc "cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; make get-monolite-latest"'
55     - '%CYG_BASH% -lc "cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; make -j2"'
56     - 'echo Installing...'
57     - 'mkdir %APPVEYOR_BUILD_FOLDER%\install'
58     - '%CYG_BASH% -lc "export CYGWIN=winsymlinks:native; mount \"$APPVEYOR_BUILD_FOLDER\install\" /usr/local; cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; make install; umount /usr/local"'
59
60 #
61 # Disable tests for now
62
63 test: off
64
65 #
66 # Only build the master branch
67 #
68 branches:
69   only:
70     - master
71
72 #
73 # NOTE: Currently this is the Mono installation tree. In future we will create an installation package artifact.
74 #       It has to be relative to the project path. Thus we have installed to within the build tree.
75 #
76 artifacts:
77     - path: install
78       name: mono-binaries
79       type: zip