summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 90a71c3ac1dfb6f24ae711387ca0d8bc409f7619 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
language: rust
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.28.0
      env: TARGET=x86_64-unknown-linux-gnu
    - os: linux
      rust: 1.28.0
      env: TARGET=x86_64-unknown-linux-musl
    - os: linux
      rust: 1.28.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
    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