diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000000..01096a6f31 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,220 @@ + +# Notes: +# - Minimal appveyor.yml file is an empty file. All sections are optional. +# - Indent each level of configuration with 2 spaces. Do not use tabs! +# - All section names are case-sensitive. +# - Section names should be unique on each level. + +#---------------------------------# +# general configuration # +#---------------------------------# + +# version format +version: 1.0.{build}-{branch} + +branches: + # whitelist + #only: + # - master + # - production + + # blacklist + except: + - gh-pages + +# Do not build on tags (GitHub and BitBucket) +skip_tags: true + +# Skipping commits with particular message or from specific user +skip_commits: + message: /.*nobuild.*/ # skips any commit containing "nobuild" in the message + +# Do not build feature branch with open Pull Requests +skip_branch_with_pr: true + +# Maximum number of concurrent jobs for the project +max_jobs: 2 + +#---------------------------------# +# environment configuration # +#---------------------------------# + +# Build worker image (VM template) +image: Visual Studio 2017 + +# scripts that are called at very beginning, before repo cloning +init: + - git config --global core.autocrlf input + +# clone directory +clone_folder: c:\projects\myproject + +# setting up etc\hosts file +hosts: + queue-server: 127.0.0.1 + db.server.com: 127.0.0.2 + +# environment variables +environment: + my_var1: value1 + my_var2: value2 + # this is how to set encrypted variable. Go to "Encrypt data" page in account menu to encrypt data. + my_secure_var1: + secure: FW3tJ3fMncxvs58/ifSP7w== + +# environment: +# global: +# connection_string: server=12;password=13; +# service_url: https://127.0.0.1:8090 +# +# matrix: +# - db: mysql +# provider: mysql +# +# - db: mssql +# provider: mssql +# password: +# secure: $#(JFDA)jQ@#$ + +# this is how to allow failing jobs in the matrix +matrix: + fast_finish: true # set this flag to immediately finish build once one of the jobs fails. + allow_failures: + - platform: ARM + configuration: Debug + - platform: x64 + configuration: Release + +# exclude configuration from the matrix. Works similarly to 'allow_failures' but build not even being started for excluded combination. + exclude: + - platform: x86 + configuration: Debug + +# scripts that run after cloning repository +install: + # by default, all script lines are interpreted as batch + - echo This is batch + # to run script as a PowerShell command prepend it with ps: + - ps: Write-Host 'This is PowerShell' + # batch commands start from cmd: + - cmd: echo This is batch again + - cmd: set MY_VAR=12345 + +#---------------------------------# +# build configuration # +#---------------------------------# + +# build platform +platform: + - x86 + - x64 + - ARM + - Any CPU + +# build Configuration, i.e. Debug, Release, etc. +configuration: Release + +# to add several configurations to build matrix: +#configuration: +# - Debug +# - Release + +build: + parallel: true # enable MSBuild parallel builds + project: MyTestAzureCS.sln # path to Visual Studio solution or project + publish_wap: true # package Web Application Projects (WAP) for Web Deploy + publish_wap_xcopy: true # package Web Application Projects (WAP) for XCopy deployment + publish_azure: true # package Azure Cloud Service projects and push to artifacts + publish_nuget: true # package projects with .nuspec files and push to artifacts + publish_nuget_symbols: true # generate and publish NuGet symbol packages + include_nuget_references: true # add -IncludeReferencedProjects option while packaging NuGet artifacts + + # MSBuild verbosity level + verbosity: quiet|minimal|normal|detailed + + +# scripts to run before build +before_build: + +# scripts to run *after* solution is built and *before* automatic packaging occurs (web apps, NuGet packages, Azure Cloud Services) +before_package: + +# scripts to run after build +after_build: + +# to run your custom scripts instead of automatic MSBuild +build_script: + +# to disable automatic builds +#build: off + +#---------------------------------# +# tests configuration # +#---------------------------------# + +# to run tests again only selected assemblies and/or categories +test: + assemblies: + only: + - asm1.dll + - asm2.dll + + categories: + only: + - UI + - E2E + +# to run tests again all except selected assemblies and/or categories +#test: +# assemblies: +# except: +# - asm1.dll +# - asm2.dll +# +# categories: +# except: +# - UI +# - E2E + +# to run tests from different categories as separate jobs in parallel +test: + categories: + - A # A category common for all jobs +# - [UI] # 1st job +# - [DAL, BL] # 2nd job + +# scripts to run before tests +#before_test: +# - echo script1 +# - ps: Write-Host "script1" +# +# scripts to run after tests +#after_test: + +# to run your custom scripts instead of automatic tests +#test_script: +# - echo This is my custom test script + +# to disable automatic tests +#test: off + + +#---------------------------------# +# artifacts configuration # +#---------------------------------# + +artifacts: + + # pushing a single file + - path: test.zip + + # pushing a single file with environment variable in path and "Deployment name" specified + - path: MyProject\bin\$(configuration) + name: myapp + + # pushing entire folder as a zip archive + - path: logs + + # pushing all *.nupkg files in build directory recursively + - path: '**\*.nupkg' +