image: Visual Studio 2013 clone_folder: "c:\\pandoc" environment: global: WIXBIN: "c:\\Program Files (x86)\\WiX Toolset v3.11\\bin" CABAL_STORE: "C:\\cs" CABAL_PACKAGE_DB: "%CABAL_STORE%\\ghc-%GHC_MINOR_VERSION%\\package.db" APPVEYOR_SAVE_CACHE_ON_ERROR: true # Override the temp directory to avoid sed escaping issues # See https://github.com/haskell/cabal/issues/5386 TMP: "c:\\tmp" # see #4201, https://github.com/haskell-tools/haskell-tools/issues/277 matrix: - OSARCH: "windows-x86_64" GHC_VERSION: "8.6.4" GHC_MINOR_VERSION: "8.6.4" GHC: "C:\\ProgramData\\chocolatey\\lib\\ghc\\tools\\ghc-%GHC_MINOR_VERSION%\\bin\\ghc.exe" CABAL_VERSION: "2.4.1.0" CABAL_OPTS: "-fembed_data_files -fbibutils --verbose=2" GHC_OPTS: "-fhide-source-paths" ARCH: "x64" CHOCO_OPTS: "" - OSARCH: "windows-i386" GHC_VERSION: "8.6.4" GHC_MINOR_VERSION: "8.6.4" GHC: "C:\\ProgramData\\chocolatey\\lib\\ghc\\tools\\ghc-%GHC_MINOR_VERSION%\\bin\\ghc.exe" CABAL_VERSION: "2.4.1.0" CABAL_OPTS: "-flua_32bits -fembed_data_files -fbibutils --verbose=2" GHC_OPTS: "-fhide-source-paths" ARCH: "x86" CHOCO_OPTS: "--x86" skip_commits: files: - '*.md' - '*.txt' - '.travis.yml' - 'Makefile' - 'man/pandoc.1' - 'linux/*' - 'macos/*' matrix: fast_finish: true cache: - '%CABAL_STORE%' # Note: to reset build cache, do the following in JavaScript # console on appveyor: # $.ajax({ url: 'https://ci.appveyor.com/api/projects/jgm/pandoc/buildcache', type: 'DELETE'}) # We don't do a normal C build, but build in test_script build: off install: - choco install wixtoolset --version 3.11.1 %CHOCO_OPTS% - choco install ghc --version %GHC_VERSION% --ignore-dependencies %CHOCO_OPTS% - choco install cabal --version %CABAL_VERSION% --ignore-dependencies %CHOCO_OPTS% # before_test: test_script: # Note: we manually create cabal store, because of a cabal bug: # see https://github.com/haskell/cabal/issues/5516 - if not exist "%CABAL_PACKAGE_DB%" ( mkdir "%CABAL_PACKAGE_DB%" ) - cabal --store-dir="%CABAL_STORE%" --version - cabal --store-dir="%CABAL_STORE%" new-update - cabal --store-dir="%CABAL_STORE%" new-configure -w %GHC% --enable-tests %CABAL_OPTS% --ghc-options="%GHC_OPTS%" . pandoc-citeproc - cabal --store-dir="%CABAL_STORE%" new-build . pandoc-citeproc - cabal --store-dir="%CABAL_STORE%" new-test . pandoc-citeproc - forfiles /P .\dist-newstyle /M pandoc*.exe /S /C "cmd /C copy @path C:\pandoc\windows" after_test: # create msi and zip artifacts - cd windows - .\pandoc.exe -s --toc ..\MANUAL.txt -o MANUAL.html - .\pandoc.exe -s ..\COPYING.md -o COPYING.rtf - copy ..\COPYRIGHT COPYRIGHT.txt - 7z a "pandoc-%OSARCH%.zip" pandoc.exe pandoc-citeproc.exe MANUAL.html COPYING.rtf - | set VERSION= for /f "tokens=1-2 delims= " %%a in ('.\pandoc.exe --version') do ( if not defined VERSION set "VERSION=%%b" ) echo %VERSION% "%WIXBIN%"\candle -arch %ARCH% -dVERSION=%VERSION% -dBINPATH=. *.wxs -out wixobj\ "%WIXBIN%"\light -sw1076 -ext WixUIExtension -ext WixUtilExtension -cultures:en-us -loc Pandoc-en-us.wxl -out "pandoc-%OSARCH%.msi" wixobj\*.wixobj # for debugging # on_finish: # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) artifacts: - path: 'windows\pandoc-%OSARCH%.zip' name: exe - path: 'windows\pandoc-%OSARCH%.msi' name: msi