forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#37182 - alexcrichton:appveyor, r=brson
Add AppVeyor configuration to the repo We hope to move to AppVeyor in the near future off of Buildbot + EC2. This adds an `appveyor.yml` configuration file which is ready to run builds on the auto branch. This is also accompanied with a few minor fixes to the build system and such to accomodate AppVeyor. The intention is that we're not switching over to AppVeyor entirely just yet, but rather we'll watch the builds for a week or so. If everything checks out then we'll start gating on AppVeyor instead of Buildbot!
- Loading branch information
Showing
9 changed files
with
164 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
environment: | ||
matrix: | ||
# 32/64 bit MSVC | ||
- MSYS_BITS: 64 | ||
TARGET: x86_64-pc-windows-msvc | ||
CHECK: check | ||
CONFIGURE_ARGS: --enable-llvm-assertions --enable-debug-assertions | ||
- MSYS_BITS: 32 | ||
TARGET: i686-pc-windows-msvc | ||
CHECK: check | ||
CONFIGURE_ARGS: --enable-llvm-assertions --enable-debug-assertions | ||
|
||
# MSVC rustbuild | ||
- MSYS_BITS: 64 | ||
CONFIGURE_ARGS: --enable-rustbuild --enable-llvm-assertions --enable-debug-assertions | ||
TARGET: x86_64-pc-windows-msvc | ||
CHECK: check | ||
|
||
# MSVC cargotest | ||
- MSYS_BITS: 64 | ||
CONFIGURE_ARGS: --enable-rustbuild --enable-llvm-assertions --enable-debug-assertions | ||
TARGET: x86_64-pc-windows-msvc | ||
CHECK: check-cargotest | ||
|
||
# 32/64-bit MinGW builds. | ||
# | ||
# The MinGW builds unfortunately have to both download a custom toolchain and | ||
# avoid the one installed by AppVeyor by default. Interestingly, though, for | ||
# different reasons! | ||
# | ||
# For 32-bit the installed gcc toolchain on AppVeyor uses the pthread | ||
# threading model. This is unfortunately not what we want, and if we compile | ||
# with it then there's lots of link errors in the standard library (undefined | ||
# references to pthread symbols). | ||
# | ||
# For 64-bit the installed gcc toolchain is currently 5.3.0 which | ||
# unfortunately segfaults on Windows with --enable-llvm-assertions (segfaults | ||
# in LLVM). See rust-lang/rust#28445 for more information, but to work around | ||
# this we go back in time to 4.9.2 specifically. | ||
# | ||
# 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. | ||
# | ||
# And as a final point of note, the 32-bit MinGW build using the makefiles do | ||
# *not* use debug assertions and llvm assertions. This is because they take | ||
# too long on appveyor and this is tested by rustbuild below. | ||
- MSYS_BITS: 32 | ||
TARGET: i686-pc-windows-gnu | ||
CHECK: check | ||
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci | ||
MINGW_ARCHIVE: i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z | ||
MINGW_DIR: mingw32 | ||
|
||
- MSYS_BITS: 32 | ||
CONFIGURE_ARGS: --enable-rustbuild --enable-llvm-assertions --enable-debug-assertions | ||
TARGET: i686-pc-windows-gnu | ||
CHECK: check | ||
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci | ||
MINGW_ARCHIVE: i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z | ||
MINGW_DIR: mingw32 | ||
|
||
- MSYS_BITS: 64 | ||
CONFIGURE_ARGS: --enable-llvm-assertions --enable-debug-assertions | ||
TARGET: x86_64-pc-windows-gnu | ||
CHECK: check | ||
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci | ||
MINGW_ARCHIVE: x86_64-4.9.2-release-win32-seh-rt_v4-rev4.7z | ||
MINGW_DIR: mingw64 | ||
|
||
clone_depth: 1 | ||
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 DownloadFile %MINGW_URL%/%MINGW_ARCHIVE% | ||
- if defined MINGW_URL 7z x -y %MINGW_ARCHIVE% > nul | ||
- if defined MINGW_URL set PATH=C:\Python27;%CD%\%MINGW_DIR%\bin;C:\msys64\usr\bin;%PATH% | ||
- if defined MINGW_URL copy C:\Python27\python.exe C:\Python27\python2.7.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% | ||
|
||
test_script: | ||
- sh ./configure | ||
%CONFIGURE_ARGS% | ||
--build=%TARGET% | ||
- bash -c "make -j$(nproc)" | ||
- bash -c "make %CHECK% -j$(nproc)" | ||
|
||
cache: | ||
- build/%TARGET%/llvm -> src/rustllvm/llvm-auto-clean-trigger | ||
- "%TARGET%/llvm -> src/rustllvm/llvm-auto-clean-trigger" | ||
|
||
branches: | ||
only: | ||
- auto | ||
|
||
# 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')) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# If this file is modified, then llvm will be forcibly cleaned and then rebuilt. | ||
# The actual contents of this file do not matter, but to trigger a change on the | ||
# build bots then the contents should be changed so git updates the mtime. | ||
2016-10-10 | ||
2016-10-10b |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters