appveyor.yml 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. # Use 'unstable' Appveyor build worker image as Appveyor have added Cygwin to this for us
  7. os: Unstable
  8. #
  9. # Custom environment variables
  10. #
  11. environment:
  12. global:
  13. CYG_ROOT: C:/cygwin
  14. CYG_MIRROR: http://cygwin.mirror.constant.com
  15. CYG_CACHE: C:/cygwin/var/cache/setup
  16. NSIS_ROOT: C:\nsis
  17. #
  18. # Initialisation prior to pulling the Mono repository
  19. #
  20. init:
  21. - 'echo Building Mono for Windows'
  22. - 'echo System architecture: %PLATFORM%'
  23. - 'echo Repo build branch is: %APPVEYOR_REPO_BRANCH%'
  24. - 'echo Build folder is: %APPVEYOR_BUILD_FOLDER%'
  25. # Attempt to ensure we don't try to convert line endings to Win32 CRLF as this will cause build to fail
  26. - 'git config --global core.autocrlf input'
  27. #
  28. # Install needed build dependencies
  29. #
  30. install:
  31. # NOTE: Already installed on current Appveyor unstable image
  32. # - 'echo Retrieving Cygwin'
  33. # - 'appveyor DownloadFile http://cygwin.com/setup-x86.exe -FileName %CYGROOT%/setup-x86.exe'
  34. - 'echo Setting up Cygwin dependencies'
  35. - '%CYG_ROOT%\setup-x86.exe -qnNdO -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_CACHE%" -P autoconf -P automake -P bison -P gcc-core -P gcc-g++ -P mingw-runtime -P mingw-binutils -P mingw-gcc-core -P mingw-gcc-g++ -P mingw-pthreads -P mingw-w32api -P libtool -P make -P python -P gettext-devel -P gettext -P intltool -P libiconv -P pkg-config -P git -P wget -P curl > NUL'
  36. - 'echo Check Cygwin setup'
  37. - '%CYG_ROOT%/bin/bash -lc "cygcheck -dc cygwin"'
  38. - 'echo Done setting up Cygwin'
  39. - 'echo Retrieving NSIS'
  40. - 'appveyor DownloadFile "http://sunet.dl.sourceforge.net/project/nsis/NSIS 2/2.46/nsis-2.46-setup.exe" -FileName nsissetup.exe'
  41. - 'echo Setting up NSIS'
  42. - 'nsissetup.exe /S /D=%NSIS_ROOT%'
  43. - 'echo Done setting up NSIS'
  44. #
  45. # NOTE: msbuild doesn't work at present so use Cygwin to build
  46. #
  47. #build:
  48. # project: C:\projects\mono\msvc\mono.sln
  49. # verbosity: detailed
  50. # Cygwin build script
  51. #
  52. # NOTES:
  53. #
  54. # The stdin/stdout file descriptor appears not to be valid for the Appveyor
  55. # build which causes failures as certain functions attempt to redirect
  56. # default file handles. Ensure a dummy file descriptor is opened with exec.
  57. #
  58. build_script:
  59. - cmd: 'echo Cygwin root is: %CYG_ROOT%'
  60. - cmd: 'echo Build folder is: %APPVEYOR_BUILD_FOLDER%'
  61. - cmd: 'echo Repo build branch is: %APPVEYOR_REPO_BRANCH%'
  62. - cmd: 'echo Repo build commit is: %APPVEYOR_REPO_COMMIT%'
  63. - cmd: 'echo Autogen running...'
  64. - cmd: '%CYG_ROOT%/bin/bash -lc "cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; NOCONFIGURE=1 ./autogen.sh --prefix=/usr/local --with-preview=yes"'
  65. - cmd: 'echo Configure running...'
  66. - cmd: '%CYG_ROOT%/bin/bash -lc "cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; ./configure --host=i686-pc-mingw32"'
  67. - cmd: 'echo Pulling monolite latest...'
  68. - cmd: '%CYG_ROOT%/bin/bash -lc "cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; make get-monolite-latest"'
  69. - cmd: 'echo Make running...'
  70. - cmd: '%CYG_ROOT%/bin/bash -lc "cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; make"'
  71. - cmd: 'echo Installing...'
  72. - cmd: 'mkdir %APPVEYOR_BUILD_FOLDER%\install'
  73. - cmd: '%CYG_ROOT%/bin/bash --login -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"'
  74. # - cmd: 'echo Building package...'
  75. # - cmd: 'cd %APPVEYOR_BUILD_FOLDER%'
  76. # - cmd: '%NSIS_ROOT%\makensis /DMILESTONE=%APPVEYOR_REPO_BRANCH% /DSOURCE_INSTALL_DIR=%APPVEYOR_BUILD_FOLDER\install\*.* /DBUILDNUM=%APPVEYOR_BUILD_VERSION% monowiz.win32.nsi'
  77. # - cmd: 'Building distribution...'
  78. # - cmd: '%CYG_ROOT%/bin/bash -lc "export CYGWIN=winsymlinks:native; cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; make dist"'
  79. #
  80. # Disable tests for now
  81. #
  82. test: off
  83. #
  84. # NOTE: Currently this is the Mono installation tree. In future we will create an installation package artifact.
  85. # It has to be relative to the project path. Thus we have installed to within the build tree.
  86. #
  87. artifacts:
  88. - path: install
  89. name: mono-binaries
  90. type: zip