language: rust
rust:
- stable
os:
- linux
- osx
dist: trusty
sudo: required
cache:
directories:
- $HOME/.cargo
- $TRAVIS_BUILD_DIR/target
- $TRAVIS_BUILD_DIR/data
env:
secure: "0OIkzQeI7toU8qOms0mqm0bjrzB2CUOll4w4cPD5zzxq+v91BGYeRve1NcPWlxUv3WbBFOQoS6x2vJ3W92FMKmoJ+pE2ZdVKGzTkrAhBnffZiFYnuK8b3GJ6jOS4zbiNS38fTfDiHU6NtUb1eKYJl7aEH68q3tstXLJY2fJ36/NP4OKe8WlDKcOxsyV/Kn3HLIm9D4dK11jHmNvLISr4+ls5tVgpbDuU06Qz+4PvpkdH3Rb1vX7wMbsR1mhsJGE4tozYb7AupPGT47nFrUnkI9IW3EbIsDJZVhlIwKZf9HCXLIXMuVITdlN2OUKEVBapaQuLBKDmxdsyW+bBFccjjKb9kIhLI+EqQQhQGEeAzozmpWd3krnOGQTDNHddcjBD1sZ+QyG3/nk+y2nvdqd+NUP1DdrwsdSQoL8iksvQ2DTH9XiZxvGh0zCOv/DE8b4l8xZSLugYEHQTWUgReC+5qgLrkzrfMn3oKWUf10izvsMMJ57kftWFfzdgegLaMqe15A+KpU/g9M8aw/12t6MfaCqj/+EBbxYUB1K+vYYtnrdrxYs1xPDWWMa5VDhIsvu+Gn22vuUZOM2K99PHmf3TCxeckpVDRkjqgb6Nvmo6wZy1D8Xaiv7wGXpVACljoQriAOumSB8HvjYr2LDzeXf2QRlD+bK+RtTNZmEDq7JoCl4="
branches:
only:
# Release tags
- /^v\d+\.\d+\.\d+.*$/
# Develop branch
- develop
# used when testing the release process
#- feature/doc-deploy-subfolder
before_script:
- rustup component add rustfmt
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then (test -x $HOME/.cargo/bin/cargo-install-update || cargo install cargo-update) ; fi
- (test -x $HOME/.cargo/bin/cargo-install-update || (curl -L -o cargo-install-update.tbz2 https://github.com/nabijaczleweli/cargo-update/releases/download/v1.7.0/cargo-install-update-v1.7.0.tbz2 && tar -C $HOME/.cargo/bin/ -jxf cargo-install-update.tbz2))
- (test -x $HOME/.cargo/bin/mdbook || cargo install --vers "^0.3" mdbook)
- cargo install-update -a
- export SHORT_VERSION=`echo ${TRAVIS_TAG:-develop} | sed -E 's/(\.[0-9]+)$//'`
script:
- cargo fmt -- --check
- cargo build --release --features "c-api cli"
- (test -d data/GUM/ -a -d data/pcc2.1/ || "./misc/download-test-corpora.sh")
- (test -d data/GUM || ./target/release/annis data --cmd 'import relannis/GUM')
- (test -d data/pcc2.1 || ./target/release/annis data --cmd 'import relannis/pcc2.1')
- cargo test --release
- cargo test --release -- --ignored
# also test that the documentation is generated without error
- mdbook test docs/
# generate the documentation for possible deploy
- mdbook build --dest-dir book/${SHORT_VERSION} docs/
before_deploy:
- export RELEASE_PKG_FILE=target/release/libgraphannis.so
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export RELEASE_PKG_FILE=target/release/libgraphannis.dylib ; fi
deploy:
- provider: releases
api_key:
secure: "VZxMx6T27LnD2Y8PIXzSMuTE+bfBRo+FyxEyZ/tcDwWYttcU9fNtHuD96sIooNifdup1aiW4hMYkOfjGEqMhzymJIflT+rWms4EmljxTG45XJivooak+oe2T4wQvELBSH3ejmQxD5Zyvjn/i3ifOIbpJAMVPqSwjkHSnyXwWk2ARX35XIpa40XLi1T3fsrQmeH4JAFSdlCnsF6AelacwwbwtPudZHnTh795oIBEnAtihcmKClLCE8OV7pP8kaDISvHoKsHly5wmBTzxpQh7P8srIRCQjYxU/e4LBlS8NiIcz1h5ca9htV3wZKbJgoOIGiVB+FsCRJtdwGmk6IiF8pB6D8A3mI+EUxcJvmFKIzc83IcqulPs3S0XrsdwHT7TA/uBScOBhbLbx1VtU8lhMvfGKdo74Jx2NU9XeaNr+ptM0ewMxqL3zjITKjEDsO1OrLbcGnpCfswSfFV+TgLHw7wEOdRbRzWSdhROFUEZ2tW6GIfFVwtrLUPXs2ikW5H/8Ja/QV2v0joHqLbGvMZD13RpiRJdziQQANQPsfs8i59B7zrrP7/BwRr9lLP8kABIZ/e2bHGZJJH57jmt/QR5Aa445L/K5g1uC0vLcj7epUVcHcgiZakW1ZNX8o8fCOLJKkO9xB9qEKH6KfdZc09+yxdEsTs1w7HBYuE0LqRuvdek="
file_glob: true
file: "${RELEASE_PKG_FILE}"
on:
repo: korpling/graphANNIS
branch: master
tags: true
skip_cleanup: true
tag_name: $TRAVIS_TAG
draft: true
- provider: script
script: bash $TRAVIS_BUILD_DIR/misc/deploy-docs.sh
on:
repo: korpling/graphANNIS
branch: master
tags: true
condition: $TRAVIS_OS_NAME = linux
skip-cleanup: true