appveyor: update example and README files
This commit is contained in:
20
README.md
20
README.md
@@ -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
|
||||
|
||||
@@ -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.)
|
||||
|
||||
@@ -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`.)
|
||||
|
||||
@@ -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
|
||||
@@ -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/
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
# to be used for the dependency builds.
|
||||
|
||||
cache:
|
||||
- C:\Users\appveyor\.tools -> appveyor\do.py
|
||||
- C:\Users\appveyor\.tools
|
||||
|
||||
#---------------------------------#
|
||||
# additional packages #
|
||||
@@ -59,7 +59,6 @@ configuration:
|
||||
environment:
|
||||
# common / default variables for all jobs
|
||||
SETUP_PATH: .ci-local:.ci
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
|
||||
matrix:
|
||||
- CMP: vs2019
|
||||
@@ -108,11 +107,8 @@ matrix:
|
||||
# building & testing #
|
||||
#---------------------------------#
|
||||
|
||||
install:
|
||||
- cmd: git submodule update --init --recursive
|
||||
- cmd: python .ci/appveyor/do.py prepare
|
||||
|
||||
build_script:
|
||||
- cmd: python .ci/appveyor/do.py prepare
|
||||
- cmd: python .ci/appveyor/do.py build
|
||||
|
||||
test_script:
|
||||
|
||||
53
appveyor/README.md
Normal file
53
appveyor/README.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# AppVeyor Scripts for EPICS Modules
|
||||
|
||||
## Features
|
||||
|
||||
- Use different compilers (Visual Studio, MinGW)
|
||||
- Use different VS versions (2008, 2010, 2012, 2013, 2015, 2017, 2019)
|
||||
- Compile for Windows 32bit and 64bit
|
||||
- Create static libraries or DLLs (plus the matching executables)
|
||||
- Create optimized or debug builds
|
||||
|
||||
## How to Use these Scripts
|
||||
|
||||
1. Get an account on [AppVeyor](https://www.appveyor.com/), connect
|
||||
it to your GitHub account and activate your support module's
|
||||
repository. For more details, please refer to the
|
||||
[AppVeyor documentation](https://www.appveyor.com/docs/).
|
||||
|
||||
2. Add the ci-scripts respository as a Git Submodule
|
||||
(see [README](../README.md) one level above).
|
||||
|
||||
3. Add settings files defining which dependencies in which versions
|
||||
you want to build against
|
||||
(see [README](../README.md) one level above).
|
||||
|
||||
4. Create an AppVeyor configuration by copying one of the examples into
|
||||
the root directory of your module.
|
||||
```
|
||||
$ cp .ci/appveyor/.appveyor.yml.example-full .appveyor.yml
|
||||
```
|
||||
|
||||
5. Edit the `.appveyor.yml` configuration to include the jobs you want
|
||||
AppVeyor to run.
|
||||
|
||||
AppVeyor automatically creates a build matrix with the following axes:
|
||||
1. `configuration:` \
|
||||
Select static or dynamic (DLL) as well as regular or debug builds.
|
||||
2. `platform:` \
|
||||
Select 32bit or 64bit processor architecture.
|
||||
3. `environment: / matrix:` \
|
||||
List of environment variable settings. Each list element (starting with
|
||||
a dash) is one step on the axis of the build matrix.
|
||||
|
||||
Your builds will take long.
|
||||
|
||||
AppVeyor only grants a single worker VM - all jobs of the matrix are
|
||||
executed sequentially. Each job will take around 10 minutes.
|
||||
|
||||
The `matrix: / exclude:` setting can be used to reduce the number of
|
||||
jobs. Check the [AppVeyor docs](https://www.appveyor.com/docs/build-configuration/#build-matrix)
|
||||
for more ways to reduce the build matrix size.
|
||||
|
||||
6. Push your changes and check
|
||||
[ci.appveyor.com](https://ci.appveyor.com/) for your build results.
|
||||
Reference in New Issue
Block a user