Add appveyor config file
authorIgor Kulaychuk <i.kulaychuk@samsung.com>
Mon, 27 Aug 2018 22:08:23 +0000 (01:08 +0300)
committerIgor Kulaychuk <i.kulaychuk@samsung.com>
Mon, 27 Aug 2018 22:08:23 +0000 (01:08 +0300)
.appveyor.yml [new file with mode: 0644]

diff --git a/.appveyor.yml b/.appveyor.yml
new file mode 100644 (file)
index 0000000..11cdd27
--- /dev/null
@@ -0,0 +1,75 @@
+image:
+  - Visual Studio 2017
+
+environment:
+  CLI_VERSION: 2.1
+  RELEASE_BRANCH: master
+  RELEASE_REPO: Samsung/netcoredbg
+  GITHUB_API_KEY:
+    secure: MK8IauVT12d9kr6r2oxHhSyUxV7gGL4xk8Dkf0/5LxdxbyIlAEwYlAgJuN7G6e5Z
+
+branches:
+  except:
+    - latest
+
+cache:
+  - '%USERPROFILE%\.nuget\packages'
+  - coreclr\bin\Product\Windows_NT.x64.Release\inc
+  - coreclr\bin\Product\Windows_NT.x64.Release\lib
+  - coreclr\src\inc
+  - coreclr\src\debug\inc
+  - coreclr\src\debug\shim
+  - coreclr\src\dlls\dbgshim
+  - coreclr\src\coreclr\hosts\inc
+  - coreclr\src\ToolBox\SOS\Strike
+
+install:
+  ps: |
+        $env:CORECLR_PRODUCT = "Windows_NT.x64.Release"
+        # Make CoreCLR sources and binaries available for build script
+        if (-not (Test-Path "coreclr\src\inc\.cache_valid")) {
+          # Invalidate cache and build CoreCLR, put dbgshim library into cached directory
+          rm -r -fo coreclr
+          git clone --depth 1 https://github.com/dotnet/coreclr -b "release/$env:CLI_VERSION"
+          cd coreclr
+          .\build.cmd skiptests release ; if($?) { cp bin\Product\$env:CORECLR_PRODUCT\dbgshim.dll bin\Product\$env:CORECLR_PRODUCT\lib ; echo $null >> src\inc\.cache_valid }
+          cd ..
+        } else {
+          # Restore dbgshim library location from cached directory
+          cp coreclr\bin\Product\$env:CORECLR_PRODUCT\lib\dbgshim.dll coreclr\bin\Product\$env:CORECLR_PRODUCT
+        }
+
+build_script:
+  ps: |
+        mkdir build
+        cd build
+        cmake .. -G "Visual Studio 15 2017 Win64" -DCLR_DIR="$pwd\..\coreclr" -DCMAKE_INSTALL_PREFIX="$pwd\..\netcoredbg"
+        cmake --build . --config Release --target install
+        cd ..
+        dotnet build tests
+
+after_build:
+  ps: |
+        7z a netcoredbg-win64-$env:APPVEYOR_REPO_BRANCH.zip netcoredbg
+
+test_script:
+  ps: |
+        $env:PIPE = "$pwd\netcoredbg\netcoredbg.exe"
+        dotnet test tests\runner
+
+artifacts:
+  - path: '*.zip'
+    name: netcoredbg
+
+deploy:
+  tag: latest
+  description: '[Autogenerated] This is the latest version pushed to the $(APPVEYOR_REPO_BRANCH) branch.'
+  provider: GitHub
+  auth_token: $(GITHUB_API_KEY)
+  artifact: netcoredbg
+  draft: false
+  prerelease: false
+  repository: $(RELEASE_REPO)
+  force_update: true
+  on:
+    branch: $(RELEASE_BRANCH)