appveyor.yml 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. version: "{build}"
  2. environment:
  3. global:
  4. HAXELIB_ROOT: C:/projects/haxelib
  5. CYG_ROOT: C:/cygwin64
  6. ADD_REVISION: 1
  7. MYSQL_PATH: C:\Program Files\MySQL\MySQL Server 5.7
  8. MYSQL_USER: root
  9. MYSQL_PASSWORD: Password12!
  10. HXBUILDS_AWS_ACCESS_KEY_ID:
  11. secure: fggQXlr5xGGl0znUi0UkqPWd6LviHnk0TR6YxJmuV3U=
  12. HXBUILDS_AWS_SECRET_ACCESS_KEY:
  13. secure: ewwkKcjnSKl/Vtrz1SXmI6XKk1ENmJDyzm5YaR2wi03foRhTke29TvymB21rDTSl
  14. matrix:
  15. - ARCH: 64
  16. TEST: "neko,python,cs,java,php,macro"
  17. DEPLOY_NIGHTLIES: 1
  18. - ARCH: 64
  19. TEST: "cpp"
  20. - ARCH: 32
  21. TEST: "macro"
  22. DEPLOY_NIGHTLIES: 1
  23. cache:
  24. - opam.tar.xz -> appveyor.yml
  25. install:
  26. - 'git submodule update --init --recursive'
  27. - '%CYG_ROOT%/bin/bash -lc "echo initialize"'
  28. # http://help.appveyor.com/discussions/problems/5616-not-able-to-build-due-to-problem-in-chocolateyinstallps1
  29. - ps: Set-Service wuauserv -StartupType Manual
  30. - choco install curl nsis.portable wget awscli -y
  31. # Install neko
  32. - choco install neko --prerelease --ignore-dependencies -s 'https://ci.appveyor.com/nuget/neko' -y
  33. # Install ocaml
  34. - curl -fsSL -o cygwin-setup.exe --retry 3 https://cygwin.com/setup-x86_64.exe
  35. - 'cygwin-setup.exe -g -q -R "%CYG_ROOT%" -P make -P git -P zlib-devel -P mingw64-x86_64-zlib -P mingw64-i686-zlib -P rsync -P patch -P diffutils -P curl -P unzip -P m4 -P perl -P mingw64-x86_64-gcc-core -P mingw64-i686-gcc-core -P libpcre-devel -P mingw64-x86_64-pcre -P mingw64-i686-pcre'
  36. - if not exist "opam.tar.xz" (
  37. curl -fsSL -o "opam.tar.xz" --retry 3 https://github.com/fdopen/opam-repository-mingw/releases/download/0.0.0.1/opam%ARCH%.tar.xz
  38. )
  39. - 7z x "opam.tar.xz" -so | 7z x -aoa -si -ttar
  40. - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && bash opam${ARCH}/install.sh"'
  41. - '%CYG_ROOT%/bin/bash -lc "opam init mingw \"https://github.com/fdopen/opam-repository-mingw.git\" --comp 4.02.3+mingw${ARCH}c --switch 4.02.3+mingw${ARCH}c --auto-setup --yes"'
  42. - '%CYG_ROOT%/bin/bash -lc "opam update --yes"'
  43. - '%CYG_ROOT%/bin/bash -lc "opam pin add conf-neko https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/conf-neko/conf-neko.1/opam --no-action --yes"'
  44. - '%CYG_ROOT%/bin/bash -lc "opam pin add haxe \"$APPVEYOR_BUILD_FOLDER\" --no-action --yes"'
  45. - '%CYG_ROOT%/bin/bash -lc "opam install haxe --deps-only --yes"'
  46. # Install php
  47. - choco install php --version 7.2.0 -y
  48. - echo extension=php_openssl.dll >> C:\tools\php72\php.ini
  49. - echo extension=php_mbstring.dll >> C:\tools\php72\php.ini
  50. - RefreshEnv
  51. # setup python
  52. - cmd: mklink C:\Python34-x64\python3.exe C:\Python34-x64\python.exe
  53. - set PATH=%PATH%;C:\Python34-x64
  54. # expose the dll files
  55. - if "%ARCH%" EQU "32" (
  56. set "PATH=%CYG_ROOT%/usr/i686-w64-mingw32/sys-root/mingw/bin;%PATH%"
  57. ) else (
  58. set "PATH=%CYG_ROOT%/usr/x86_64-w64-mingw32/sys-root/mingw/bin;%PATH%"
  59. )
  60. - neko -version
  61. build_script:
  62. - 'cd %APPVEYOR_BUILD_FOLDER%'
  63. - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && make -s -f Makefile.win libs && make -j -s -f Makefile.win haxe && make -s -f Makefile.win haxelib"'
  64. - 'set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%'
  65. - 'set HAXEPATH=%APPVEYOR_BUILD_FOLDER%'
  66. - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && cygcheck haxe.exe"'
  67. - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && cygcheck haxelib.exe"'
  68. - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && make -s -f Makefile.win package_bin"'
  69. - '%CYG_ROOT%/bin/bash -lc "cd \"$OLDPWD\" && make -s -f Makefile.win package_choco"'
  70. - move out\haxe.*.nupkg .
  71. - dir %APPVEYOR_BUILD_FOLDER%\out
  72. - cd %APPVEYOR_BUILD_FOLDER%/tests/
  73. - mkdir "%HAXELIB_ROOT%"
  74. - haxelib setup "%HAXELIB_ROOT%"
  75. test_script:
  76. - cd %APPVEYOR_BUILD_FOLDER%/tests/
  77. - haxe -version
  78. - haxe RunCi.hxml
  79. artifacts:
  80. - path: 'out/*.zip'
  81. - path: '*.nupkg'