version: 1.0.{build} environment: CCACHE_DIR: "%APPVEYOR_BUILD_FOLDER%\\.ccache" RUST_BACKTRACE: 1 # The appveyor image we use has a pretty huge set of things installed... we make the # initial PATH something sane so we know what to expect PATH: "C:\\windows\\system32;\ C:\\windows;\ C:\\windows\\System32\\Wbem;\ C:\\windows\\System32\\WindowsPowerShell\\v1.0;\ C:\\ProgramData\\chocolatey\\bin;\ C:\\Python27;\ C:\\Python27\\Scripts;\ C:\\Tools\\PsTools;\ C:\\Tools\\NuGet3;\ C:\\Program Files\\Microsoft\\Web Platform Installer\\;\ C:\\Program Files\\7-Zip;\ C:\\Program Files\\Mercurial;\ C:\\Program Files (x86)\\Subversion\\bin;\ C:\\Program Files (x86)\\CMake\\bin;\ C:\\Program Files (x86)\\Windows Kits\\10\\Windows Performance Toolkit\\;\ C:\\Program Files (x86)\\MSBuild\\14.0\\Bin;\ C:\\Program Files\\Amazon\\AWSCLI\\;\ C:\\Program Files\\Microsoft Windows Performance Toolkit\\;\ C:\\Program Files\\LLVM\\bin;\ C:\\Program Files\\Git LFS;\ C:\\Program Files\\Git\\cmd;\ C:\\Program Files\\Git\\usr\\bin;\ C:\\Program Files\\AppVeyor\\BuildAgent;" matrix: - TARGET: nightly-x86_64-pc-windows-msvc - TARGET: nightly-x86_64-pc-windows-gnu branches: only: - master cache: - .servo -> rust-commit-hash, cargo-commit-hash - .cargo -> rust-commit-hash, cargo-commit-hash - .ccache install: - if %TARGET:*-msvc=msvc%==msvc set BUILD_ENV=msvc - if %TARGET:*-gnu=gnu%==gnu set BUILD_ENV=gnu - if %BUILD_ENV%==gnu set PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin\;%PATH% - if %BUILD_ENV%==gnu set MSYSTEM=MINGW64 - if %BUILD_ENV%==gnu set MSYS=winsymlinks=lnk - if %BUILD_ENV%==gnu bash -lc "echo $MSYSTEM; pacman --needed --noconfirm -Sy pacman-mirrors" - if %BUILD_ENV%==gnu bash -lc "pacman --noconfirm -Sy" - if %BUILD_ENV%==gnu bash -lc "pacman -Sy --needed --noconfirm mingw-w64-x86_64-ccache mingw-w64-x86_64-toolchain mingw-w64-x86_64-icu mingw-w64-x86_64-nspr mingw-w64-x86_64-ca-certificates mingw-w64-x86_64-expat mingw-w64-x86_64-cmake tar diffutils patch patchutils make python2-setuptools" # Downgrade msys2 build GCC to 5.4.0-1 - https://github.com/servo/servo/issues/12512 - if %BUILD_ENV%==gnu set GCC_URL=http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc - if %BUILD_ENV%==gnu set GCC_EXT=5.4.0-1-any.pkg.tar.xz - if %BUILD_ENV%==gnu bash -lc "pacman -U --noconfirm $GCC_URL-$GCC_EXT $GCC_URL-ada-$GCC_EXT $GCC_URL-fortran-$GCC_EXT $GCC_URL-libgfortran-$GCC_EXT $GCC_URL-libs-$GCC_EXT $GCC_URL-objc-$GCC_EXT" # Uncomment these lines to expose RDP access information to the build machine in the build log. #init: # - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) # #on_finish: # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) build_script: - if %BUILD_ENV%==gnu bash -lc "ccache -s" - if %BUILD_ENV%==msvc mach build -d -v && mach test-unit - if %BUILD_ENV%==gnu bash -lc "export PATH=/c/Python27:$PATH; export CCACHE=/mingw64/bin/ccache; cd $APPVEYOR_BUILD_FOLDER; ./mach build -d -v && ./mach test-unit" - if %BUILD_ENV%==gnu bash -lc "ccache -s" test: off