[libcxx] r302113 - Setup Appveyor bot for MSVC 2017 and MSVC 2015

Eric Fiselier via cfe-commits cfe-commits at lists.llvm.org
Wed May 3 22:16:48 PDT 2017


Author: ericwf
Date: Thu May  4 00:16:48 2017
New Revision: 302113

URL: http://llvm.org/viewvc/llvm-project?rev=302113&view=rev
Log:
Setup Appveyor bot for MSVC 2017 and MSVC 2015

Added:
    libcxx/trunk/install-appveyor-reqs.cmd
Modified:
    libcxx/trunk/appveyor.yml

Modified: libcxx/trunk/appveyor.yml
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/appveyor.yml?rev=302113&r1=302112&r2=302113&view=diff
==============================================================================
--- libcxx/trunk/appveyor.yml (original)
+++ libcxx/trunk/appveyor.yml Thu May  4 00:16:48 2017
@@ -10,54 +10,26 @@ configuration:
 
 environment:
   matrix:
-    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
-      COMPILER: Clang-CL 4.0
-      MSVC_SETUP_PATH: "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat"
     - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
-      COMPILER: Clang-CL 4.0
-      MSVC_SETUP_PATH: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Auxiliary\\Build\\vcvarsall.bat"
+      CLANG_VERSION: ToT
+      MSVC_SETUP_PATH: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
+      MSVC_SETUP_ARG: x86
+      APPVEYOR_SAVE_CACHE_ON_ERROR: true
+    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+      CLANG_VERSION: 4
+      MSVC_SETUP_PATH: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
+      MSVC_SETUP_ARG: x86_amd64
+      APPVEYOR_SAVE_CACHE_ON_ERROR: true
 
 install:
   ############################################################################
   # All external dependencies are installed in C:\projects\deps
   ############################################################################
-  - mkdir C:\projects\deps
-  - cd C:\projects\deps
-
-  ############################################################################
-  # Install Ninja
-  ############################################################################
-  - set NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip"
-  - appveyor DownloadFile %NINJA_URL% -FileName ninja.zip
-  - 7z x ninja.zip -oC:\projects\deps\ninja > nul
-  - set PATH=C:\projects\deps\ninja;%PATH%
-  - ninja --version
-
-  ############################################################################
-  # Install a recent CMake
-  ############################################################################
-  - set CMAKE_URL="https://cmake.org/files/v3.7/cmake-3.7.2-win64-x64.zip"
-  - appveyor DownloadFile %CMAKE_URL% -FileName cmake.zip
-  - 7z x cmake.zip -oC:\projects\deps > nul
-  - move C:\projects\deps\cmake-* C:\projects\deps\cmake # Move to a version-agnostic directory
-  - set PATH=C:\projects\deps\cmake\bin;%PATH%
-  - cmake --version
-
-  ############################################################################
-  # Setup the path to Clang-cl
-  ############################################################################
-  - set PATH="C:\Program Files\LLVM\bin";%PATH%
-  - clang-cl -v
-
-  ############################################################################
-  # Setup the cached copy of LLVM
-  ############################################################################
-  - git clone --depth=1 http://llvm.org/git/llvm.git
-
+  - call "%APPVEYOR_BUILD_FOLDER%\\install-appveyor-reqs.cmd"
 
 before_build:
-  - call "$MSVC_SETUP_PATH" amd64
-  - cd C:\projects\libcxx
+  - call "%MSVC_SETUP_PATH%" %MSVC_SETUP_ARG%
+  - cd %APPVEYOR_BUILD_FOLDER%
 
 build_script:
   - md C:\projects\build-libcxx
@@ -72,7 +44,7 @@ build_script:
     "-DCMAKE_BUILD_TYPE=%configuration%"
     "-DLLVM_PATH=C:\projects\deps\llvm" -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
     -DLLVM_LIT_ARGS="-sv --no-progress-bar --show-xfail --show-unsupported"
-    C:\projects\libcxx
+    %APPVEYOR_BUILD_FOLDER%
 
   #############################################################################
   # Build Step
@@ -89,3 +61,8 @@ on_failure:
 artifacts:
   - path: '_build/CMakeFiles/*.log'
     name: logs
+
+cache:
+ - C:\projects\deps\ninja
+ - C:\projects\deps\cmake
+ - C:\projects\deps\llvm

Added: libcxx/trunk/install-appveyor-reqs.cmd
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/install-appveyor-reqs.cmd?rev=302113&view=auto
==============================================================================
--- libcxx/trunk/install-appveyor-reqs.cmd (added)
+++ libcxx/trunk/install-appveyor-reqs.cmd Thu May  4 00:16:48 2017
@@ -0,0 +1,51 @@
+ at echo on
+if NOT EXIST C:\projects\deps (
+  mkdir C:\projects\deps
+)
+cd C:\projects\deps
+
+::###########################################################################
+:: Setup the path to Clang-cl
+::###########################################################################
+if "%CLANG_VERSION%"=="ToT" (
+    appveyor DownloadFile http://efcs.ca/downloads/llvm-tot-win32.zip -FileName llvm-package.zip
+    move "C:\Program Files\LLVM" "C:\Program Files\LLVM_BAK"
+    7z x llvm-package.zip -o"C:\Program Files\LLVM" > nul
+    rm llvm-package.zip
+)
+ at set PATH="C:\Program Files\LLVM\bin";%PATH%
+clang-cl -v
+
+::###########################################################################
+:: Install a recent CMake
+::###########################################################################
+if NOT EXIST cmake (
+  appveyor DownloadFile https://cmake.org/files/v3.7/cmake-3.7.2-win64-x64.zip -FileName cmake.zip
+  7z x cmake.zip -oC:\projects\deps > nul
+  move C:\projects\deps\cmake-* C:\projects\deps\cmake
+  rm cmake.zip
+)
+ at set PATH=C:\projects\deps\cmake\bin;%PATH%
+cmake --version
+
+::###########################################################################
+:: Install Ninja
+::###########################################################################
+if NOT EXIST ninja (
+  appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip -FileName ninja.zip
+  7z x ninja.zip -oC:\projects\deps\ninja > nul
+  rm ninja.zip
+)
+ at set PATH=C:\projects\deps\ninja;%PATH%
+ninja --version
+
+::###########################################################################
+:: Setup the cached copy of LLVM
+::###########################################################################
+if NOT EXIST llvm (
+  git clone --depth=1 http://llvm.org/git/llvm.git
+) ELSE (
+  git -C llvm pull --rebase=true --ff-only
+)
+
+ at echo off




More information about the cfe-commits mailing list