Files
ci-scripts/travis/README.md
Ralph Lange ba5508b39e travis: update README
(fixes #19)
2020-05-20 18:59:45 +02:00

61 lines
2.3 KiB
Markdown

# Travis-CI Scripts for EPICS Modules
## Features
- Use different compilers (gcc, clang)
- Use different gcc versions
- Cross-compile for Windows 32bit and 64bit using MinGW and WINE
- Cross-compile for RTEMS 4.9 and 4.10
- Compile on MacOS
- Released versions of dependencies are cached (for faster builds)
## How to Use these Scripts
1. Get an account on [Travis-CI](https://travis-ci.org/), connect
it to your GitHub account and activate your support module's
repository. For more details, please refer to the
[Travis-CI Tutorial](https://docs.travis-ci.com/user/tutorial/).
Make sure to use `travis-ci.org` and not their `.com` site.
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 a Travis configuration by copying one of the examples into
the root directory of your module.
```
$ cp .ci/travis/.travis.yml.example-full .travis.yml
```
5. Edit the `.travis.yml` configuration to include the jobs you want
Travis to run.
Build jobs are declared in the list following the `jobs: include:`
declaration. Each element (starting with `-` in column 3) defines the
settings for one build job. `env:` controls the setting of environment
variables,`dist:` specifies the Linux distribution,
`os:` the operating system.
Also see the comments in the examples for more hints, and the Travis-CI
documentation for more options and more details.
6. Push your changes and check
[travis-ci.org](https://travis-ci.org/) for your build results.
## Caches
Travis keeps the caches separate for different jobs. As soon as the job
description (in the `.travis.yml` configuration file) or its environment
settings change (adding a space character is enough), the cache is different
and will be rebuilt when the job runs.
This also means that changing a value inside a setup file will _not_
invalidate the cache - in that case you will have to manually delete the cache
through the Travis web interface. (Or add a space character in the job
configuration.)
Caches are automatically removed after approx. four weeks.
Your jobs will have to rebuild them once in a while.