environment:
  SCCACHE_BUCKET: rust-lang-ci-sccache2
  SCCACHE_REGION: us-west-1
  AWS_ACCESS_KEY_ID: AKIAJAMV3QAMMA6AXHFQ
  AWS_SECRET_ACCESS_KEY:
    secure: 7Y+JiquYedOAgnUU26uL0DPzrxmTtR+qIwG6rNKSuWDffqU3vVZxbGXim9QpTO80
  SCCACHE_DIGEST: f808afabb4a4eb1d7112bcb3fa6be03b61e93412890c88e177c667eb37f46353d7ec294e559b16f9f4b5e894f2185fe7670a0df15fd064889ecbd80f0c34166c
  TOOLSTATE_REPO_ACCESS_TOKEN:
    secure: gKGlVktr7iuqCoYSxHxDE9ltLOKU0nYDEuQxvWbNxUIW7ri5ppn8L06jQzN0GGzN

  # By default schannel checks revocation of certificates unlike some other SSL
  # backends, but we've historically had problems on CI where a revocation
  # server goes down presumably. See #43333 for more info
  CARGO_HTTP_CHECK_REVOKE: false

  matrix:
  # 32/64 bit MSVC tests
  - MSYS_BITS: 64
    RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
    SCRIPT: python x.py test
    CI_JOB_NAME: x86_64-msvc
  - MSYS_BITS: 32
    RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
    SCRIPT: make appveyor-subset-1
    CI_JOB_NAME: i686-msvc-1
  - MSYS_BITS: 32
    RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
    SCRIPT: make appveyor-subset-2
    CI_JOB_NAME: i686-msvc-2

  # MSVC aux tests
  - MSYS_BITS: 64
    RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1
    RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
    CI_JOB_NAME: x86_64-msvc-aux
  - MSYS_BITS: 64
    SCRIPT: python x.py test src/tools/cargotest src/tools/cargo
    RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
    CI_JOB_NAME: x86_64-msvc-cargo

  # MSVC tools tests
  - MSYS_BITS: 64
    SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstates.json windows
    RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstates.json --enable-test-miri
    CI_JOB_NAME: x86_64-msvc-tools

  # 32/64-bit MinGW builds.
  #
  # We are using MinGW with posix threads since LLVM does not compile with
  # the win32 threads version due to missing support for C++'s std::thread.
  #
  # Instead of relying on the MinGW version installed on appveryor we download
  # and install one ourselves so we won't be surprised by changes to appveyor's
  # build image.
  #
  # Finally, note that the downloads below are all in the `rust-lang-ci` S3
  # bucket, but they cleraly didn't originate there! The downloads originally
  # came from the mingw-w64 SourceForge download site. Unfortunately
  # SourceForge is notoriously flaky, so we mirror it on our own infrastructure.
  - MSYS_BITS: 32
    RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
    SCRIPT: make appveyor-subset-1
    MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror
    MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z
    MINGW_DIR: mingw32
    CI_JOB_NAME: i686-mingw-1
  - MSYS_BITS: 32
    RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
    SCRIPT: make appveyor-subset-2
    MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror
    MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z
    MINGW_DIR: mingw32
    CI_JOB_NAME: i686-mingw-2
  - MSYS_BITS: 64
    SCRIPT: python x.py test
    RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
    MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror
    MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z
    MINGW_DIR: mingw64
    CI_JOB_NAME: x86_64-mingw

  # 32/64 bit MSVC and GNU deployment
  - RUST_CONFIGURE_ARGS: >
      --build=x86_64-pc-windows-msvc
      --enable-full-tools
      --enable-profiler
    SCRIPT: python x.py dist
    DEPLOY: 1
    CI_JOB_NAME: dist-x86_64-msvc
  - RUST_CONFIGURE_ARGS: >
      --build=i686-pc-windows-msvc
      --target=i586-pc-windows-msvc
      --enable-full-tools
      --enable-profiler
    SCRIPT: python x.py dist
    DEPLOY: 1
    CI_JOB_NAME: dist-i686-msvc
  - MSYS_BITS: 32
    RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools
    SCRIPT: python x.py dist
    MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror
    MINGW_ARCHIVE: i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z
    MINGW_DIR: mingw32
    DEPLOY: 1
    CI_JOB_NAME: dist-i686-mingw
  - MSYS_BITS: 64
    SCRIPT: python x.py dist
    RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools
    MINGW_URL: https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror
    MINGW_ARCHIVE: x86_64-6.3.0-release-posix-seh-rt_v5-rev2.7z
    MINGW_DIR: mingw64
    DEPLOY: 1
    CI_JOB_NAME: dist-x86_64-mingw

  # "alternate" deployment, see .travis.yml for more info
  - MSYS_BITS: 64
    RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
    SCRIPT: python x.py dist
    DEPLOY_ALT: 1
    CI_JOB_NAME: dist-x86_64-msvc-alt

matrix:
  fast_finish: true

clone_depth: 2
build: false

install:
  # If we need to download a custom MinGW, do so here and set the path
  # appropriately.
  #
  # Note that this *also* means that we're not using what is typically
  # /mingw32/bin/python2.7.exe, which is a "correct" python interpreter where
  # /usr/bin/python2.7.exe is not. To ensure we use the right interpreter we
  # move `C:\Python27` ahead in PATH and then also make sure the `python2.7.exe`
  # file exists in there (which it doesn't by default).
  - if defined MINGW_URL appveyor-retry appveyor DownloadFile %MINGW_URL%/%MINGW_ARCHIVE%
  - if defined MINGW_URL 7z x -y %MINGW_ARCHIVE% > nul
  - if defined MINGW_URL set PATH=%CD%\%MINGW_DIR%\bin;C:\msys64\usr\bin;%PATH%

  # If we're compiling for MSVC then we, like most other distribution builders,
  # switch to clang as the compiler. This'll allow us eventually to enable LTO
  # amongst LLVM and rustc. Note that we only do this on MSVC as I don't think
  # clang has an output mode compatible with MinGW that we need. If it does we
  # should switch to clang for MinGW as well!
  #
  # Note that the LLVM installer is an NSIS installer
  #
  # Original downloaded here came from
  # http://releases.llvm.org/6.0.0/LLVM-6.0.0-win64.exe
  - if NOT defined MINGW_URL appveyor-retry appveyor DownloadFile https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/LLVM-6.0.0-win64.exe
  - if NOT defined MINGW_URL .\LLVM-6.0.0-win64.exe /S /NCRC /D=C:\clang-rust
  - if NOT defined MINGW_URL set RUST_CONFIGURE_ARGS=%RUST_CONFIGURE_ARGS% --set llvm.clang-cl=C:\clang-rust\bin\clang-cl.exe

  # Here we do a pretty heinous thing which is to mangle the MinGW installation
  # we just had above. Currently, as of this writing, we're using MinGW-w64
  # builds of gcc, and that's currently at 6.3.0. We use 6.3.0 as it appears to
  # be the first version which contains a fix for #40546, builds randomly
  # failing during LLVM due to ar.exe/ranlib.exe failures.
  #
  # Unfortunately, though, 6.3.0 *also* is the first version of MinGW-w64 builds
  # to contain a regression in gdb (#40184). As a result if we were to use the
  # gdb provided (7.11.1) then we would fail all debuginfo tests.
  #
  # In order to fix spurious failures (pretty high priority) we use 6.3.0. To
  # avoid disabling gdb tests we download an *old* version of gdb, specifically
  # that found inside the 6.2.0 distribution. We then overwrite the 6.3.0 gdb
  # with the 6.2.0 gdb to get tests passing.
  #
  # Note that we don't literally overwrite the gdb.exe binary because it appears
  # to just use gdborig.exe, so that's the binary we deal with instead.
  - if defined MINGW_URL appveyor-retry appveyor DownloadFile %MINGW_URL%/2017-04-20-%MSYS_BITS%bit-gdborig.exe
  - if defined MINGW_URL mv 2017-04-20-%MSYS_BITS%bit-gdborig.exe %MINGW_DIR%\bin\gdborig.exe

  # Otherwise pull in the MinGW installed on appveyor
  - if NOT defined MINGW_URL set PATH=C:\msys64\mingw%MSYS_BITS%\bin;C:\msys64\usr\bin;%PATH%

  # Prefer the "native" Python as LLVM has trouble building with MSYS sometimes
  - copy C:\Python27\python.exe C:\Python27\python2.7.exe
  - set PATH=C:\Python27;%PATH%

  # Download and install sccache
  - appveyor-retry appveyor DownloadFile https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/2018-04-26-sccache-x86_64-pc-windows-msvc
  - mv 2018-04-26-sccache-x86_64-pc-windows-msvc sccache.exe
  - set PATH=%PATH%;%CD%

  # Download and install ninja
  #
  # Note that this is originally from the github releases patch of Ninja
  - appveyor-retry appveyor DownloadFile https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/2017-03-15-ninja-win.zip
  - 7z x 2017-03-15-ninja-win.zip
  - set RUST_CONFIGURE_ARGS=%RUST_CONFIGURE_ARGS% --enable-ninja
  # - set PATH=%PATH%;%CD% -- this already happens above for sccache

  # Install InnoSetup to get `iscc` used to produce installers
  - appveyor-retry appveyor DownloadFile https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/2017-08-22-is.exe
  - 2017-08-22-is.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
  - set PATH="C:\Program Files (x86)\Inno Setup 5";%PATH%

  # Help debug some handle issues on AppVeyor
  - appveyor-retry appveyor DownloadFile https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/2017-05-15-Handle.zip
  - mkdir handle
  - 7z x -ohandle 2017-05-15-Handle.zip
  - set PATH=%PATH%;%CD%\handle
  - handle.exe -accepteula -help

test_script:
  - if not exist C:\cache\rustsrc\NUL mkdir C:\cache\rustsrc
  - sh src/ci/init_repo.sh . /c/cache/rustsrc
  - set SRC=.
  - set NO_CCACHE=1
  - sh src/ci/run.sh

on_failure:
  # Dump crash log
  - set PATH=%PATH%;"C:\Program Files (x86)\Windows Kits\10\Debuggers\X64"
  - if exist %LOCALAPPDATA%\CrashDumps for %%f in (%LOCALAPPDATA%\CrashDumps\*) do cdb -c "k;q" -G -z "%%f"

branches:
  only:
    - auto

before_deploy:
  - ps: |
        New-Item -Path deploy -ItemType directory
        Remove-Item -Recurse -Force build\dist\doc
        Get-ChildItem -Path build\dist | Move-Item -Destination deploy
        Get-ChildItem -Path deploy | Foreach-Object {
          Push-AppveyorArtifact $_.FullName -FileName ${env:APPVEYOR_REPO_COMMIT}/$_
        }

deploy:
  - provider: S3
    skip_cleanup: true
    access_key_id: AKIAJVBODR3IA4O72THQ
    secret_access_key:
      secure: tQWIE+DJHjXaV4np/3YeETkEmXngtIuIgAO/LYKQaUshGLgN8cBCFGG3cHx5lKLt
    bucket: rust-lang-ci2
    set_public: true
    region: us-west-1
    artifact: /.*/
    folder: rustc-builds
    on:
      branch: auto
      DEPLOY: 1
    max_error_retry: 5

  # This provider is the same as the one above except that it has a slightly
  # different upload directory and a slightly different trigger
  - provider: S3
    skip_cleanup: true
    access_key_id: AKIAJVBODR3IA4O72THQ
    secret_access_key:
      secure: tQWIE+DJHjXaV4np/3YeETkEmXngtIuIgAO/LYKQaUshGLgN8cBCFGG3cHx5lKLt
    bucket: rust-lang-ci2
    set_public: true
    region: us-west-1
    artifact: /.*/
    folder: rustc-builds-alt
    on:
      branch: auto
      DEPLOY_ALT: 1
    max_error_retry: 5

# 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'))
