131 lines
3.6 KiB
YAML
131 lines
3.6 KiB
YAML
# Appveyor configuration file for EPICS Base 7 builds
|
|
# (see also https://github.com/epics-base/ci-scripts)
|
|
|
|
# Version format
|
|
version: base-{branch}-{build}
|
|
|
|
#---------------------------------#
|
|
# 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
|
|
|
|
# Set clone depth (do not fetch complete history)
|
|
clone_depth: 5
|
|
|
|
#---------------------------------#
|
|
# build matrix configuration #
|
|
#---------------------------------#
|
|
|
|
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
|
|
BASE: SELF
|
|
EPICS_TEST_IMPRECISE_TIMING: YES
|
|
|
|
matrix:
|
|
- CMP: vs2019
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
- CMP: vs2017
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
- CMP: vs2015
|
|
- CMP: vs2013
|
|
- CMP: gcc
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
# TODO: static linking w/ readline isn't working. Bypass auto-detect
|
|
COMMANDLINE_LIBRARY: EPICS
|
|
|
|
# Platform: processor architecture
|
|
platform:
|
|
- x86
|
|
- x64
|
|
|
|
# Matrix configuration: exclude sets of jobs
|
|
matrix:
|
|
exclude:
|
|
# Exclude more jobs to reduce build time
|
|
# Skip 32-bit for "middle-aged" compilers
|
|
- platform: x86
|
|
CMP: vs2017
|
|
- platform: x86
|
|
CMP: vs2015
|
|
# MinGW debug builds use the same libraries, unlike VS
|
|
- configuration: dynamic-debug
|
|
CMP: gcc
|
|
- configuration: static-debug
|
|
CMP: gcc
|
|
|
|
#---------------------------------#
|
|
# building & testing #
|
|
#---------------------------------#
|
|
|
|
install:
|
|
- cmd: git submodule update --init --recursive
|
|
- cmd: pip install git+https://github.com/mdavidsaver/ci-core-dumper#egg=ci-core-dumper
|
|
- cmd: python .ci/cue.py prepare
|
|
|
|
build_script:
|
|
- cmd: python .ci/cue.py build
|
|
|
|
test_script:
|
|
- cmd: python -m ci_core_dumper install
|
|
- cmd: python .ci/cue.py -T 20M test
|
|
|
|
on_finish:
|
|
- ps: Get-ChildItem *.tap -Recurse -Force | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
|
|
- cmd: python .ci/cue.py -T 5M test-results
|
|
|
|
on_failure:
|
|
- cmd: python -m ci_core_dumper report
|
|
|
|
#---------------------------------#
|
|
# 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:
|
|
- core-talk@aps.anl.gov
|
|
on_build_success: false
|
|
|
|
- provider: GitHubPullRequest
|