177 lines
4.4 KiB
YAML
177 lines
4.4 KiB
YAML
# .appveyor.yml for testing EPICS Base ci-scripts
|
|
# (see: https://github.com/epics-base/ci-scripts)
|
|
|
|
# Note:
|
|
# Paths to scripts are different in this test configuration
|
|
# (your module has one more directory level: .ci)
|
|
|
|
# Ralph Lange <ralph.lange@gmx.de>
|
|
# Copyright (c) 2020 ITER Organization
|
|
|
|
#---------------------------------#
|
|
# build cache #
|
|
#---------------------------------#
|
|
|
|
cache:
|
|
- C:\Users\appveyor\.tools -> appveyor\do.py
|
|
|
|
#---------------------------------#
|
|
# 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'
|
|
- '.github/workflows/*'
|
|
|
|
#---------------------------------#
|
|
# additional packages #
|
|
#---------------------------------#
|
|
|
|
install:
|
|
# fetch submodules (like ci-scripts)
|
|
- git submodule update --init --recursive
|
|
# for the sequencer
|
|
- choco install re2c
|
|
|
|
#---------------------------------#
|
|
# build matrix configuration #
|
|
#---------------------------------#
|
|
|
|
# Default build worker image
|
|
image: Visual Studio 2015
|
|
|
|
# Build Configurations: shared/static, optimized/debug
|
|
configuration:
|
|
- default
|
|
- static
|
|
- debug
|
|
- static-debug
|
|
|
|
# Environment variables: compiler toolchain, base version, setup file, ...
|
|
environment:
|
|
# common / default variables for all jobs
|
|
SETUP_PATH: .:.ci
|
|
SET: test01
|
|
BASE_RECURSIVE: NO
|
|
VV: 1
|
|
|
|
matrix:
|
|
- CMP: vs2022
|
|
SET: test00
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
|
- CMP: gcc
|
|
- CMP: vs2022
|
|
VV: 0
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
|
- CMP: vs2022
|
|
BASE: 3.15
|
|
CLEAN_DEPS: NO
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
|
- CMP: vs2022
|
|
BASE: 3.14
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
|
- CMP: vs2019
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
- CMP: vs2017
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
EXTRA: EXTRA_DEF="extra"
|
|
EXTRA1: EXTRA1_DEF="extra 1"
|
|
EXTRA2: EXTRA2_DEF="extra 2"
|
|
- CMP: vs2015
|
|
- CMP: vs2013
|
|
- CMP: vs2012
|
|
- CMP: vs2010
|
|
|
|
# Platform: architecture
|
|
platform:
|
|
- x86
|
|
- x64
|
|
|
|
# Matrix configuration: allow/exclude specific failing jobs
|
|
matrix:
|
|
# The MSI tool generated from that builds segfaults (*shrug*)
|
|
allow_failures:
|
|
- platform: x64
|
|
configuration: static-debug
|
|
CMP: vs2019
|
|
BASE: 3.14
|
|
exclude:
|
|
# Run test00 only once: x64 dynamic
|
|
- platform: x86
|
|
SET: test00
|
|
- configuration: static
|
|
SET: test00
|
|
- configuration: debug
|
|
SET: test00
|
|
- configuration: static-debug
|
|
SET: test00
|
|
# VS2012 and older installs don't have the 64 bit compiler
|
|
- platform: x64
|
|
CMP: vs2012
|
|
- platform: x64
|
|
CMP: vs2010
|
|
|
|
# Run test script for unit tests (SET = test00)
|
|
for:
|
|
-
|
|
matrix:
|
|
only:
|
|
- SET: test00
|
|
build_script:
|
|
- cmd: python cue-test.py
|
|
test_script:
|
|
- cmd: echo Tests have been run in the build phase
|
|
|
|
#---------------------------------#
|
|
# building & testing #
|
|
#---------------------------------#
|
|
|
|
build_script:
|
|
- cmd: python cue.py prepare
|
|
- cmd: python cue.py build
|
|
|
|
test_script:
|
|
- cmd: python cue.py -T 15M test
|
|
- cmd: python cue.py test-results
|
|
|
|
#---------------------------------#
|
|
# 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
|
|
|
|
#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
|