# .appveyor.yml for use with EPICS Base ci-scripts # (see: https://github.com/epics-base/ci-scripts) # This is YAML - indentation levels are crucial #---------------------------------# # build cache # #---------------------------------# # The AppVeyor cache allowance is way too small (1GB per account across all projects, branches and jobs) # to be used for the dependency builds. cache: - C:\Users\appveyor\.tools #---------------------------------# # repository cloning # #---------------------------------# # Called at very beginning, before repo cloning init: # Set autocrlf to make batch files work - git config --global core.autocrlf true # print the connection info for RDP connections (see 'debugging' below) #- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) # Set clone depth (do not fetch complete history) clone_depth: 50 # Skipping commits affecting only specific files skip_commits: files: - 'documentation/*' - 'templates/*' - '**/*.html' - '**/*.md' - '.travis.yml' #---------------------------------# # additional packages # #---------------------------------# install: # fetch submodules (like ci-scripts) - cmd: git submodule update --init --recursive # for the sequencer - cinst re2c #---------------------------------# # build matrix configuration # #---------------------------------# # Since dependencies cannot be cached and AppVeyor only grants a single builder VM, all jobs # are executed sequentially, each one taking 10-15 minutes. # Consider this when defining your build matrix. (A full matrix build takes more than 8 hours.) # Default build worker image image: Visual Studio 2015 # Build Configurations: dll/static, regular/debug configuration: - dynamic - static - dynamic-debug - static-debug # Environment variables: compiler toolchain, base version, setup file, ... environment: # common / default variables for all jobs SETUP_PATH: .ci-local:.ci matrix: - CMP: vs2019 SET: test00 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - CMP: mingw - CMP: vs2019 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - CMP: vs2019 BASE: 3.15 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - CMP: vs2019 BASE: 3.14 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - CMP: vs2017 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - CMP: vs2015 - CMP: vs2013 - CMP: vs2012 - CMP: vs2010 - CMP: vs2008 # Platform: processor architecture platform: - x86 - x64 # Matrix configuration: exclude sets of jobs matrix: exclude: # VS2012 and older installs don't have the 64 bit compiler - platform: x64 CMP: vs2012 - platform: x64 CMP: vs2010 - platform: x64 CMP: vs2008 # Exclude more jobs to reduce build time # E.g., skip 32-bit for newer compilers #- platform: x86 # CMP: vs2019 #- platform: x86 # CMP: vs2017 #---------------------------------# # building & testing # #---------------------------------# build_script: - cmd: python .ci/appveyor/do.py prepare - cmd: python .ci/appveyor/do.py build test_script: - cmd: python .ci/appveyor/do.py test on_finish: - ps: Get-ChildItem *.tap -Recurse -Force | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name } - cmd: python .ci/appveyor/do.py build test-results -s #---------------------------------# # debugging # #---------------------------------# ## if you want to connect by remote desktop to a failed build, uncomment these lines ## note that you will need to connect within the usual build timeout limit (60 minutes) ## so you may want to adjust the build matrix above to just build the one of interest # to print the RDP connection info # uncomment the appropriate line in the init: section above # block a failed build (until the watchdog barks) #on_failure: # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) #---------------------------------# # notifications # #---------------------------------# notifications: - provider: Email to: - me@example.com on_build_success: false - provider: GitHubPullRequest