|
1 | 1 | --- |
2 | | -title: Travis |
| 2 | +title: Travis CI |
3 | 3 | section: Extend:Development:Tools |
4 | 4 | --- |
5 | 5 |
|
6 | | -{% include notice icon="note" content="[SciJava CI has migrated from Travis CI to Github Actions](https://forum.image.sc/t/scijava-ci-migration-from-travis-ci-to-github-actions/57573). See the [GitHub Actions](https://imagej.net/develop/github-actions) page for configuration instructions, including how to migrate existing projects from Travis CI." %} |
| 6 | +{% include notice icon="note" content="SciJava [CI](/develop/ci) has [migrated from Travis CI to Github Actions](https://forum.image.sc/t/scijava-ci-migration-from-travis-ci-to-github-actions/57573). See the [GitHub Actions](https://imagej.net/develop/github-actions) page for configuration instructions, including how to migrate existing projects from Travis CI." %} |
7 | 7 |
|
8 | 8 | {% include img src='logos/travis' align='right' width=150 caption='**Travis CI:** Build your code in the cloud!' %} |
9 | 9 |
|
10 | | -[Travis CI](https://travis-ci.org/) is a tool for [continuous integration](/develop/project-management#continuous-integration). It has excellent integration with [GitHub](/develop/github), and is very useful for automating builds, deployment and other tasks. |
11 | | - |
12 | | -# Services |
13 | | - |
14 | | -[SciJava](/libs/scijava) projects use Travis in a variety of ways: |
15 | | - |
16 | | -- Perform builds of SciJava projects. Travis deploys `SNAPSHOT` builds to the [SciJava Maven repository](https://maven.scijava.org/) in response to pushes to each code repository's `master` branch. So any downstream projects depending on a version of `LATEST` for a given component will match the last successful Travis build—i.e., the latest code on `master`. |
17 | | -- Run each project's associated {% include wikipedia title='Unit testing' text='unit tests'%}. Travis is instrumental in early detection of new bugs introduced to the codebase. |
18 | | -- Perform [releases](/develop/releasing) of [SciJava](/libs/scijava) projects. Travis deploys release builds to the appropriate Maven repository—typically either the SciJava Maven repository or [OSS Sonatype](https://oss.sonatype.org/). |
19 | | -- Keep the [javadoc](/develop/source#javadocs) site updated. |
20 | | -- Keep other web resources updated. |
21 | | - |
22 | | -# Automatic Deployment of Maven Artifacts |
23 | | - |
24 | | -Deploying your library to a [Maven](/develop/maven) repository makes it available for other developers. It is also a [contribution requirement for the Fiji project](/contribute/fiji). |
25 | | - |
26 | | -## Requirements |
27 | | - |
28 | | -- Host your [open-source](/licensing/open-source) project on [GitHub](/develop/github). |
29 | | -- Log in to [Travis CI](https://travis-ci.com/auth) with your corresponding GitHub account and enable your repository. |
30 | | -- Contact an ImageJ admin in [Gitter](/discuss/chat#gitter) or [the Image.sc Forum](http://forum.image.sc/) and request that they file a PR which adds Travis support to your repository. |
31 | | - |
32 | | -## Instructions |
33 | | - |
34 | | -In order to add Travis CI support to a repository, the SciJava credentials are needed: A) for deploying to Maven repositories; and B) in the case of deploying to OSS Sonatype, for GPG signing of artifacts. If you have a copy of these credentials, and admin access to the relevant repository on GitHub, you can use the [travisify.sh script](https://github.com/scijava/scijava-scripts/blob/master/travisify.sh) to perform the needed operations. This script requires the [travis command line client](https://github.com/travis-ci/travis.rb) to be installed, and you may need to run `travis login` to authenticate first. If you need help, please ask [on the Image.sc Forum](https://forum.image.sc/) in the Development category, or in the [scijava-common channel](https://gitter.im/scijava/scijava-common) on Gitter. |
35 | | - |
36 | | -## Testing things which cannot run headless |
37 | | - |
38 | | -If your tests require a display (i.e.: they do not pass when run [headless](/learn/headless)), you can use [Xvfb](/learn/headless#xvfb) as follows: |
39 | | - |
40 | | - before_script: |
41 | | - - "export DISPLAY=:99.0" |
42 | | - - "sh -e /etc/init.d/xvfb start" |
43 | | - - sleep 3 # give xvfb some time to start |
44 | | - |
45 | | -Of course, you should do this only as a last resort, since the best unit tests should not require a display in the first place. |
46 | | - |
| 10 | +[Travis CI](https://travis-ci.com/) is a tool for [continuous integration](/develop/ci). It has excellent integration with [GitHub](/develop/github), and is very useful for automating builds, deployment and other tasks. |
47 | 11 |
|
| 12 | +SciJava projects used Travis CI for builds, testing, and deployment from 2017 until 2021. The SciJava team no longer provides support for using Travis CI with your project, and recommends using [GitHub Actions](/develop/github-actions) instead. |
0 commit comments