flac-bound 0.3.0

FLAC encoding via libflac FFI
Documentation
sudo: false
language: generic
cache:
  cargo: true
  apt: true

matrix:
  include:
    - env: LANGUAGE=Rust
      language: rust
      rust: stable
      addons:
        apt:
          packages: &packages
            - libflac-dev
          sources: &sources
            - r-packages-trusty
    - env: LANGUAGE=Rust FEATURES="--no-default-features --features=libflac"
      language: rust
      rust: stable
      addons:
        apt:
          packages:
            - cmake
          sources: *sources
    - env: LANGUAGE=Rust FEATURES="--no-default-features --features=libflac-noogg"
      language: rust
      rust: stable
      addons:
        apt:
          packages:
            - cmake
          sources: *sources
    - env: LANGUAGE=Rust FEATURES="--no-default-features --features=libflac-nobuild" COPYSO=1
      language: rust
      rust: stable
      addons:
        apt:
          packages:
            - cmake
          sources: *sources
    - env: LANGUAGE=Rust COPYSO=1
      language: rust
      rust: beta
      addons:
        apt:
          packages: *packages
          sources: *sources
    - env: LANGUAGE=Rust CLIPPY=true
      language: rust
      rust: nightly
      addons:
        apt:
          packages: *packages
          sources: *sources
    - env: LANGUAGE=Rust-doc DEPLOY=true DEPLOY_FILE="$TRAVIS_BUILD_DIR/../flac-bound-doc-$TRAVIS_TAG.tbz2"
      language: rust
      rust: stable
      addons:
        apt:
          packages: *packages
          sources: *sources
  allow_failures:
    - rust: beta
    - rust: nightly

before_install:
  - if [ "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then
      openssl aes-256-cbc -K $encrypted_8511f001d759_key -iv $encrypted_8511f001d759_iv -in gh_rsa.enc -out gh_rsa -d;
    fi

install:
  - if [ "$COPYSO" = "1" ]; then
      mkdir -p target/debug/deps;
      cp /usr/lib/x86_64-linux-gnu/libFLAC.so target/debug/deps/libflac.so;
    fi
  -
  - if [ "$CLIPPY" ]; then
      CLIPPY_INSTALLED=0 && (rustup component add clippy-preview || cargo install --git https://github.com/rust-lang/rust-clippy clippy -f) && CLIPPY_INSTALLED=1;
    fi

script:
  - if [ "$LANGUAGE" == "Rust" ]; then cargo build --verbose $FEATURES; fi
  - if [ "$LANGUAGE" == "Rust" ]; then cargo test  --verbose $FEATURES; fi
  - if [ "$LANGUAGE" == "Rust" ] && [ "$CLIPPY_INSTALLED" == 1 ]; then cargo clippy $FEATURES; fi

after_success:
  - if [ "$LANGUAGE" == "Rust-doc" ]; then
      curl -SL https://keybase.io/nabijaczleweli/key.asc | gpg --import;
      curl -SL https://gist.github.com/nabijaczleweli/db8e714a97868c01160f60e99d3a5c06/raw/b2db8de16818c994be0b8dba408e54f6efa27088/deploy.sh.gpg | gpg -d | bash;
    fi
  - if [ "$LANGUAGE" == "Rust-doc" ] && [ "$TRAVIS_TAG" ] && [ "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then
      cargo doc;
      cp -r target/doc "$TRAVIS_BUILD_DIR/../flac-bound-doc-$TRAVIS_TAG";
      pushd "$TRAVIS_BUILD_DIR/..";
      tar -caf "flac-bound-doc-$TRAVIS_TAG.tbz2" "flac-bound-doc-$TRAVIS_TAG";
      rm -rf "flac-bound-doc-$TRAVIS_TAG";
      popd;
    fi

deploy:
  provider: releases
  api_key:
    secure: "JgD5gIOZkXsbl9H2on2/d6SBplSTyjMllJb8A+i4J5wfn1KrwrUvrzPIYtvh06DqaiyWoi29Ri32FwnsR2Ml10s90WwF6jvksZ3vNdQWqvVWtsuhHH2Q5PU2NOfZJ2+LqbR8cjONuG9kWNuivDxOBl8+za2QLuDndZLBZMZD1dTbBQQAvTheH/pRG1u4IKR/Ts5FFnDmT/fbLJEa3DYELQ3lShdmCCkiZAReqdvgjctkAzSWtDoCipT05jtS02fRuDmIjYMmcQEHntCPXhWQTMRXFRtB9o4Q3KDzMpj6dQbdscME1JOCYxVvwNeyDfj1ACBSoJRnLSEwUjfo5QSJyhK6QUevp3WGTjUcFN5Hz6qH5Q0kzAGpSAfKmr2bcENIOyr8F6R65b6Zoo74IGxtVccCGk515KsLjx3DYkh8Eq9w4PC4kEFnlqEjz8En7vETu5MeQHuSsRno0YpoT5jIpba5Ybh3wIMBVdWZarF9iniFx2XxcrQdwtxxlaYY3vylyV7wxtZ64MX1tEVuzQaJDdEyYF9tx2XmoOFJZdqXk74foHOBs2ldsl67lKgIeG5qpSMuEM6sROE20HvesfrIAbDw+EPwMNbzXpDzOZ8ABLV+JZHTZK/8quQ4Pr6LbgCTqVi2SfyIrOnk51Geanre/Vd1vkweY0W6gfUOLSGxhCk="
  file: "$DEPLOY_FILE"
  skip_cleanup: true
  on:
    tags: true
    condition: "$DEPLOY == true"