claxon 0.4.0

A FLAC decoding library
Documentation
language: rust

rust:
  # Test every third release since the first supported version, so we don't
  # waste so many resources.
  - 1.13.0
  - 1.16.0
  - 1.19.0
  - 1.21.0
  - beta
  - nightly

# Opt for a less ancient distribution with a C++11-compliant compiler, in order
# to compile libfuzzer.
dist: trusty
sudo: false

addons:
  apt:
    packages:
      - flac

cache:
  directories:
    # Cache the fuzzing corpus, so it does not have to discover the entire corpus
    # again every time, and it can focus on finding bugs instead.
    # TODO: This is broken, libfuzzer seems to not recognize the corpus somehow.
    # - fuzz_corpus

    # Cache the test samples to not put so much load on archive.org, but on
    # Travis' S3 buckets instead.
    - testsamples

    # Cargo directories, the default when we could set "cache: cargo". See also
    # https://github.com/travis-ci/travis-build/pull/710
    - $HOME/.cargo
    - $TRAVIS_BUILD_DIR/target

before_script:
  - cd testsamples && ./populate.sh && cd ..

script:
  # Do not use the default --verbose commands, they are only noisy.
  - cargo build
  - cargo test

  # On the nightly configuration, fuzz for 15 minutes.
  # TODO: This is broken, libfuzzer does not recognize the cached corpus.
  # - FUZZ_SECONDS=900 tools/fuzz_on_ci.sh