Skip to content

Commit

Permalink
Merge pull request #29 from ralphlange:devel/add-appveyor
Browse files Browse the repository at this point in the history
- closes #29, closes #6
  • Loading branch information
ralphlange committed Apr 21, 2020
2 parents a34bb7d + 79cc560 commit e8b01bf
Show file tree
Hide file tree
Showing 7 changed files with 1,471 additions and 6 deletions.
159 changes: 159 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
# .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 <[email protected]>
# Copyright (c) 2020 ITER Organization

#---------------------------------#
# build cache #
#---------------------------------#

cache:
- C:\Users\appveyor\.tools -> appveyor\do.py

#---------------------------------#
# 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'


#---------------------------------#
# build matrix configuration #
#---------------------------------#

# 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
SET: test01
BASE_RECURSIVE: NO
VV: 1

matrix:
- CMP: vs2019
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
SET: test00
- CMP: mingw
- CMP: vs2019
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
VV: 0
- 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: architecture
platform:
- x86
- x64

# Matrix configuration: allow specific failing jobs
matrix:
exclude:
# Run test00 only once: x64 dynamic
- platform: x86
SET: test00
- configuration: static
SET: test00
- configuration: dynamic-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
- platform: x64
CMP: vs2008

# Run test script for unit tests (SET = test00)
for:
-
matrix:
only:
- SET: test00
build_script:
- cmd: python appveyor-test.py
test_script:
- cmd: echo Tests have been run in the build phase

#---------------------------------#
# building & testing #
#---------------------------------#

build_script:
- cmd: python appveyor/do.py prepare
- cmd: python appveyor/do.py build

test_script:
- cmd: python appveyor/do.py test

#---------------------------------#
# 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: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
# - 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:
# - [email protected]
# on_build_success: false

# - provider: GitHubPullRequest
20 changes: 14 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<a target="_blank" href="http://semver.org">![Version][badge.version]</a>
<a target="_blank" href="https://travis-ci.org/epics-base/ci-scripts">![Travis status][badge.travis]</a>
<a target="_blank" href="https://ci.appveyor.com/project/epics-base/ci-scripts">![AppVeyor status][badge.appveyor]</a>

# Continuous Integration Scripts for EPICS Modules

Expand Down Expand Up @@ -56,11 +57,17 @@ example.
- Compile on MacOS
- Built dependencies are cached (for faster builds)

### AppVeyor
- Use different compilers (Visual Studio, MinGW)
- Use different Visual Studio versions: \
2008, 2010, 2012, 2013, 2015, 2017, 2019
- Compile for Windows 32bit and 64bit

## How to Use the CI-Scripts

1. Get an account on a supported CI service provider platform.
(e.g. [Travis-CI](https://travis-ci.org/),
AppVeyor, Azure Pipelines...)
[AppVeyor](https://www.appveyor.com/), Azure Pipelines...)

(More details in the specific README of the subdirectory.)

Expand All @@ -79,10 +86,10 @@ example.

BASE=3.15
ASYN=R4-34
SNCSEQ=R2-2-7
SNCSEQ=R2-2-8
```
will compile against the EPICS Base 3.15 branch, the Sequencer
release 2.2.7 and release 4.34 of asyn.
release 2.2.8 and release 4.34 of asyn.
(Any settings can be overridden from the specific job configuration
in e.g. `.travis.yml`.)

Expand Down Expand Up @@ -214,16 +221,16 @@ This will make all builds (not just for your module) verbose.
Update the submodule in `.ci` first, then change your CI configuration
(if needed) and commit both to your module. E.g., to update your Travis
setup to release 2.1.0 of ci-scripts:
setup to release 2.2.1 of ci-scripts:
```bash
cd .ci
git pull origin v2.1.0
git pull origin v2.2.1
cd -
git add .ci
# if needed:
edit .travis.yml
git add .travis.yml
git commit -m "Update ci-scripts submodule to v2.1.0"
git commit -m "Update ci-scripts submodule to v2.2.1"
```
Check the example configuration files inside ci-scripts (and their
Expand Down Expand Up @@ -266,6 +273,7 @@ in file LICENSE that is included with this distribution.
<!-- Links -->
[badge.version]: https://badge.fury.io/gh/epics-base%2Fci-scripts.svg
[badge.travis]: https://travis-ci.org/epics-base/ci-scripts.svg?branch=master
[badge.appveyor]: https://ci.appveyor.com/api/projects/status/xwdv8fpxu0byp3hn?svg=true
[reddit.bash]: https://www.reddit.com/r/bash/comments/393oqv/why_is_the_version_of_bash_included_in_os_x_so_old/
Expand Down
Loading

0 comments on commit e8b01bf

Please sign in to comment.