Home | History | Annotate | Download | only in conscrypt
      1 environment:
      2   ANDROID_HOME: "C:\\android-sdk-windows"
      3   ANDROID_NDK_HOME: "C:\\android-sdk-windows\\ndk-bundle"
      4   JAVA_HOME: "C:\\Program Files\\Java\\jdk1.8.0"
      5   BORINGSSL_HOME: "C:\\boringssl"
      6   ANDROID_TOOLS_URL: "https://dl.google.com/android/repository/tools_r25.2.3-windows.zip"
      7   NINJA_URL: "https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip"
      8   CMAKE_URL: "https://cmake.org/files/v3.4/cmake-3.4.0-win32-x86.zip"
      9   MSVC: "14.0"
     10 
     11 clone_folder: "C:\\projects\\conscrypt"
     12 shallow_clone: true
     13 
     14 os: Visual Studio 2015
     15 
     16 platform:
     17   # - x86
     18   - x64
     19 
     20 version: '{branch}.{build}'
     21 
     22 pull_requests:
     23     do_not_increment_build_number: true
     24 
     25 build:
     26     verbosity: minimal
     27 
     28 init:
     29   # Download the Android SDK
     30   - appveyor DownloadFile %ANDROID_TOOLS_URL% -FileName android-tools.zip
     31   - 7z x android-tools.zip -o"%ANDROID_HOME%" > nul
     32 
     33   # Get Ninja
     34   - appveyor DownloadFile %NINJA_URL% -FileName ninja.zip
     35   - 7z x ninja.zip -oC:\ninja > nul
     36   - set PATH=C:\ninja;%PATH%
     37   - ninja --version
     38 
     39   # Get CMake
     40   - appveyor DownloadFile %CMAKE_URL% -FileName cmake.zip
     41   - 7z x cmake.zip -oC:\cmake > nul
     42   - set PATH=C:\cmake\bin;%PATH%
     43   - cmake --version
     44 
     45   # Install yasm
     46   - choco install -y yasm
     47 
     48   # Install Go for BoringSSL compile (embedding test data)
     49   - choco install -y golang
     50 
     51   # Clone BoringSSL
     52   - git clone --depth 1 https://boringssl.googlesource.com/boringssl.git "%BORINGSSL_HOME%"
     53 
     54   # Work around gradle bug https://github.com/gradle/gradle/issues/929
     55   - set PATH=C:\Program Files (x86)\Windows Kits\8.1\bin\x86;%PATH%
     56 
     57 before_build:
     58   # Set up Visual Studio in 64-bit mode
     59   - call "C:\Program Files (x86)\Microsoft Visual Studio %MSVC%\VC\vcvarsall.bat" x64
     60 
     61   # Build BoringSSL in 64-bit
     62   - cd "%BORINGSSL_HOME%"
     63   - mkdir build64
     64   - cd build64
     65   - cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS_RELEASE=/MT -DCMAKE_CXX_FLAGS_RELEASE=/MT -GNinja ..
     66   - ninja
     67 
     68   # Set up Visual Studio in 32-bit mode
     69   - call "C:\Program Files (x86)\Microsoft Visual Studio %MSVC%\VC\vcvarsall.bat"
     70 
     71   # TODO(nathanmittler): Need to figure out how to make 32-bit builds work
     72   # Build BoringSSL in 32-bit
     73   # - cd "%BORINGSSL_HOME%"
     74   # - mkdir build32
     75   # - cd build32
     76   # - cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS_RELEASE=/MT -DCMAKE_CXX_FLAGS_RELEASE=/MT -GNinja ..
     77   # - ninja
     78 
     79   # Go to project directory
     80   - cd C:\projects\conscrypt
     81 
     82 install:
     83   - mkdir %ANDROID_HOME%\licenses
     84   - ps: 'Add-Content -Value "`n8933bad161af4178b1185d1a37fbf41ea5269c55" -Path $env:ANDROID_HOME\licenses\android-sdk-license -Encoding ASCII'
     85   - ps: 'Add-Content -Value "`n84831b9409646a918e30573bab4c9c91346d8abd`n504667f4c0de7af1a06de9f4b1727b84351f2910" -Path $env:ANDROID_HOME\licenses\android-sdk-preview-license -Encoding ASCII'
     86   - '%ANDROID_HOME%\tools\bin\sdkmanager.bat tools'
     87   - '%ANDROID_HOME%\tools\bin\sdkmanager.bat platform-tools'
     88   - '%ANDROID_HOME%\tools\bin\sdkmanager.bat build-tools;25.0.0'
     89   - '%ANDROID_HOME%\tools\bin\sdkmanager.bat platforms;android-25'
     90   - '%ANDROID_HOME%\tools\bin\sdkmanager.bat extras;android;m2repository'
     91   - '%ANDROID_HOME%\tools\bin\sdkmanager.bat --channel=1 ndk-bundle'
     92   - '%ANDROID_HOME%\tools\bin\sdkmanager.bat cmake;3.6.4111459'
     93 
     94 build_script:
     95   - gradlew.bat assemble
     96 
     97 test_script:
     98   - gradlew.bat check
     99 
    100 after_test:
    101   - ps: |
    102       $url = "https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)"
    103       $files = Get-ChildItem '.\openjdk\build\test-results\windows_x86_64Test\TEST-*.xml'
    104       ForEach ($file in $files) {
    105           (New-Object 'System.Net.WebClient').UploadFile($url, (Resolve-Path $file))
    106       }
    107 
    108 artifacts:
    109   - path: openjdk\build\reports\
    110     name: Test reports
    111   - path: openjdk\build\libs\*.jar
    112     name: OpenJDK binaries
    113   - path: android\build\outputs\aar\*.aar
    114     name: Android binaries
    115 
    116 cache:
    117   - "%USERPROFILE%\\.m2"
    118   - "%USERPROFILE%\\.gradle"
    119   - C:\ProgramData\chocolatey\bin
    120   - C:\ProgramData\chocolatey\lib
    121 
    122 # Debug
    123 #on_finish:
    124 #  - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
    125