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="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://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
|
# Continuous Integration Scripts for EPICS Modules
|
||||||
|
|
||||||
@@ -56,11 +57,17 @@ example.
|
|||||||
- Compile on MacOS
|
- Compile on MacOS
|
||||||
- Built dependencies are cached (for faster builds)
|
- 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
|
## How to Use the CI-Scripts
|
||||||
|
|
||||||
1. Get an account on a supported CI service provider platform.
|
1. Get an account on a supported CI service provider platform.
|
||||||
(e.g. [Travis-CI](https://travis-ci.org/),
|
(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.)
|
(More details in the specific README of the subdirectory.)
|
||||||
|
|
||||||
@@ -79,10 +86,10 @@ example.
|
|||||||
|
|
||||||
BASE=3.15
|
BASE=3.15
|
||||||
ASYN=R4-34
|
ASYN=R4-34
|
||||||
SNCSEQ=R2-2-7
|
SNCSEQ=R2-2-8
|
||||||
```
|
```
|
||||||
will compile against the EPICS Base 3.15 branch, the Sequencer
|
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
|
(Any settings can be overridden from the specific job configuration
|
||||||
in e.g. `.travis.yml`.)
|
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
|
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
|
(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
|
```bash
|
||||||
cd .ci
|
cd .ci
|
||||||
git pull origin v2.1.0
|
git pull origin v2.2.1
|
||||||
cd -
|
cd -
|
||||||
git add .ci
|
git add .ci
|
||||||
# if needed:
|
# if needed:
|
||||||
edit .travis.yml
|
edit .travis.yml
|
||||||
git add .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
|
Check the example configuration files inside ci-scripts (and their
|
||||||
@@ -266,6 +273,7 @@ in file LICENSE that is included with this distribution.
|
|||||||
<!-- Links -->
|
<!-- Links -->
|
||||||
[badge.version]: https://badge.fury.io/gh/epics-base%2Fci-scripts.svg
|
[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.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/
|
[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.
|
# to be used for the dependency builds.
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
- C:\Users\appveyor\.tools -> appveyor\do.py
|
- C:\Users\appveyor\.tools
|
||||||
|
|
||||||
#---------------------------------#
|
#---------------------------------#
|
||||||
# additional packages #
|
# additional packages #
|
||||||
@@ -59,7 +59,6 @@ configuration:
|
|||||||
environment:
|
environment:
|
||||||
# common / default variables for all jobs
|
# common / default variables for all jobs
|
||||||
SETUP_PATH: .ci-local:.ci
|
SETUP_PATH: .ci-local:.ci
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
- CMP: vs2019
|
- CMP: vs2019
|
||||||
@@ -108,11 +107,8 @@ matrix:
|
|||||||
# building & testing #
|
# building & testing #
|
||||||
#---------------------------------#
|
#---------------------------------#
|
||||||
|
|
||||||
install:
|
|
||||||
- cmd: git submodule update --init --recursive
|
|
||||||
- cmd: python .ci/appveyor/do.py prepare
|
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
|
- cmd: python .ci/appveyor/do.py prepare
|
||||||
- cmd: python .ci/appveyor/do.py build
|
- cmd: python .ci/appveyor/do.py build
|
||||||
|
|
||||||
test_script:
|
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