diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..83398f6 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,110 @@ +language: rust +dist: xenial +env: + global: + - PROJECT_NAME: ripgrep_all + - 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.35.0 + env: TARGET=x86_64-unknown-linux-gnu + - os: linux + rust: 1.35.0 + env: TARGET=x86_64-unknown-linux-musl + - os: linux + rust: 1.35.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 diff --git a/README.md b/README.md index 4e01c7e..a0d118a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ # rga - ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc +[![Linux build status](https://travis-ci.org/phiresky/ripgrep_all.svg)](https://travis-ci.org/BurntSushi/ripgrep) +[![Windows build status](https://ci.appveyor.com/api/projects/status/github/BurntSushi/ripgrep?svg=true)](https://ci.appveyor.com/project/BurntSushi/ripgrep) +[![Crates.io](https://img.shields.io/crates/v/ripgrep.svg)](https://crates.io/crates/ripgrep) +[![Packaging status](https://repology.org/badge/tiny-repos/ripgrep.svg)](https://repology.org/project/ripgrep/badges) + similar: - pdfgrep @@ -17,6 +22,15 @@ similar: # Setup +rga should compile with stable Rust. To install it, simply run + +```bash +apt install build-essential pandoc poppler-utils +cargo install ripgrep_all + +rga --help +``` + Some rga adapters run external binaries # Development