153 lines
4.1 KiB
Plaintext
153 lines
4.1 KiB
Plaintext
# .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
|
|
|
|
#---------------------------------#
|
|
# additional packages #
|
|
#---------------------------------#
|
|
|
|
install:
|
|
# for the sequencer
|
|
- cinst re2c
|
|
|
|
#---------------------------------#
|
|
# repository cloning #
|
|
#---------------------------------#
|
|
|
|
# Called at very beginning, before repo cloning
|
|
init:
|
|
# Set autocrlf to make batch files work
|
|
- git config --global core.autocrlf true
|
|
|
|
# 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'
|
|
|
|
#---------------------------------#
|
|
# 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.)
|
|
|
|
# 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 #
|
|
#---------------------------------#
|
|
|
|
install:
|
|
- cmd: git submodule update --init --recursive
|
|
- cmd: python .ci/appveyor/do.py prepare
|
|
|
|
build_script:
|
|
- 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
|
|
|
|
# print the connection info
|
|
#init:
|
|
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
|
|
|
# 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
|