language: rust dist: xenial env: global: - PROJECT_NAME: ripgrep - RUST_BACKTRACE: full addons: apt: packages: # For generating man page. - libxslt1-dev - asciidoc - docbook-xsl - xsltproc - libxml2-utils # Needed for completion-function test. - zsh # Needed for testing decompression search. - xz-utils - liblz4-tool # For building MUSL static builds on Linux. - musl-tools matrix: fast_finish: true include: # Nightly channel. # All *nix releases are done on the nightly channel to take advantage # of the regex library's multiple pattern SIMD search. - os: linux rust: nightly env: TARGET=i686-unknown-linux-musl - os: linux rust: nightly env: TARGET=x86_64-unknown-linux-musl - os: osx rust: nightly # XML_CATALOG_FILES is apparently necessary for asciidoc on macOS. env: TARGET=x86_64-apple-darwin XML_CATALOG_FILES=/usr/local/etc/xml/catalog - os: linux rust: nightly env: TARGET=arm-unknown-linux-gnueabihf GCC_VERSION=4.8 addons: apt: packages: - gcc-4.8-arm-linux-gnueabihf - binutils-arm-linux-gnueabihf - libc6-armhf-cross - libc6-dev-armhf-cross # For generating man page. - libxslt1-dev - asciidoc - docbook-xsl - xsltproc - libxml2-utils # Beta channel. We enable these to make sure there are no regressions in # Rust beta releases. - os: linux rust: beta env: TARGET=x86_64-unknown-linux-musl - os: linux rust: beta env: TARGET=x86_64-unknown-linux-gnu # Minimum Rust supported channel. We enable these to make sure ripgrep # continues to work on the advertised minimum Rust version. - os: linux rust: 1.34.0 env: TARGET=x86_64-unknown-linux-gnu - os: linux rust: 1.34.0 env: TARGET=x86_64-unknown-linux-musl - os: linux rust: 1.34.0 env: TARGET=arm-unknown-linux-gnueabihf GCC_VERSION=4.8 addons: apt: packages: - gcc-4.8-arm-linux-gnueabihf - binutils-arm-linux-gnueabihf - libc6-armhf-cross - libc6-dev-armhf-cross # For generating man page. - libxslt1-dev - asciidoc - docbook-xsl - xsltproc - libxml2-utils install: ci/install.sh script: ci/script.sh before_deploy: ci/before_deploy.sh deploy: provider: releases file_glob: true file: deployment/${PROJECT_NAME}-${TRAVIS_TAG}-${TARGET}.tar.gz skip_cleanup: true on: condition: $TRAVIS_RUST_VERSION = nightly branch: master # i guess we do need this after all? tags: true api_key: secure: "IbSnsbGkxSydR/sozOf1/SRvHplzwRUHzcTjM7BKnr7GccL86gRPUrsrvD103KjQUGWIc1TnK1YTq5M0Onswg/ORDjqa1JEJPkPdPnVh9ipbF7M2De/7IlB4X4qXLKoApn8+bx2x/mfYXu4G+G1/2QdbaKK2yfXZKyjz0YFx+6CNrVCT2Nk8q7aHvOOzAL58vsG8iPDpupuhxlMDDn/UhyOWVInmPPQ0iJR1ZUJN8xJwXvKvBbfp3AhaBiAzkhXHNLgBR8QC5noWWMXnuVDMY3k4f3ic0V+p/qGUCN/nhptuceLxKFicMCYObSZeUzE5RAI0/OBW7l3z2iCoc+TbAnn+JrX/ObJCfzgAOXAU3tLaBFMiqQPGFKjKg1ltSYXomOFP/F7zALjpvFp4lYTBajRR+O3dqaxA9UQuRjw27vOeUpMcga4ZzL4VXFHzrxZKBHN//XIGjYAVhJ1NSSeGpeJV5/+jYzzWKfwSagRxQyVCzMooYFFXzn8Yxdm3PJlmp3GaAogNkdB9qKcrEvRINCelalzALPi0hD/HUDi8DD2PNTCLLMo6VSYtvc685Zbe+KgNzDV1YyTrRCUW6JotrS0r2ULLwnsh40hSB//nNv3XmwNmC/CmW5QAnIGj8cBMF4S2t6ohADIndojdAfNiptmaZOIT6owK7bWMgPMyopo=" branches: only: # Pushes and PR to the master branch - master # Ruby regex to match tags. Required, or travis won't trigger deploys when # a new tag is pushed. - /^\d+\.\d+\.\d+.*$/ notifications: email: on_success: never